LibreOffice Module svx (master) 1
|
Helper for 3d object changes affecting 2d geometry. More...
#include <e3dsceneupdater.hxx>
Public Member Functions | |
E3DModifySceneSnapRectUpdater (const SdrObject *mpObject) | |
~E3DModifySceneSnapRectUpdater () | |
Private Attributes | |
E3dScene * | mpScene |
std::optional< drawinglayer::geometry::ViewInformation3D > | mpViewInformation3D |
Helper for 3d object changes affecting 2d geometry.
This class is a helper to encapsulate 3D object changes which shall change the scene's 2D geometry. E.g. when moving one 3D object in a scene, the visualisation would not change since the scene's 2D attributes are defined by its 2D object transformation and the changed content would be projected to the same 2D bounds as before. To reflect the fact that the 2D positions may 'change' for the user's imagination, it is necessary to calculate a new 2D object transformation of the scene (the SnapRect) using the old 3D transformation stack and the possibly modified 3D content and to use it. This is only desirable if changes to the scene's content are intended to change the scene's 2D geometry attributes
Definition at line 44 of file e3dsceneupdater.hxx.
E3DModifySceneSnapRectUpdater::E3DModifySceneSnapRectUpdater | ( | const SdrObject * | mpObject | ) |
Definition at line 27 of file e3dsceneupdater.cxx.
References DynCastE3dObject(), sdr::contact::ViewContactOfE3dScene::getAllContentRange3D(), E3dObject::getRootE3dSceneFromE3dObject(), E3dScene::getRootE3dSceneFromE3dObject(), SdrObject::GetViewContact(), sdr::contact::ViewContactOfE3dScene::getViewInformation3D(), basegfx::B3DRange::isEmpty(), mpScene, mpViewInformation3D, and pObject.
E3DModifySceneSnapRectUpdater::~E3DModifySceneSnapRectUpdater | ( | ) |
Definition at line 56 of file e3dsceneupdater.cxx.
References sdr::contact::ViewContactOfE3dScene::getAllContentRange3D(), basegfx::B3DRange::getMaxX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxX(), basegfx::B3DRange::getMaxY(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxY(), basegfx::B3DRange::getMinX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinX(), basegfx::B3DRange::getMinY(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), sdr::contact::ViewContactOfE3dScene::getObjectTransformation(), SdrAttrObj::GetSnapRect(), E3dObject::GetTransform(), SdrObject::GetViewContact(), E3dObject::InvalidateBoundVolume(), basegfx::B3DRange::isEmpty(), mpScene, mpViewInformation3D, SdrObject::SetSnapRect(), basegfx::B2DRange::transform(), and basegfx::B3DRange::transform().
|
private |
Definition at line 50 of file e3dsceneupdater.hxx.
Referenced by E3DModifySceneSnapRectUpdater(), and ~E3DModifySceneSnapRectUpdater().
|
private |
Definition at line 54 of file e3dsceneupdater.hxx.
Referenced by E3DModifySceneSnapRectUpdater(), and ~E3DModifySceneSnapRectUpdater().