/** Helper for 3d object changes affecting 2d geometry
Thisclassisahelpertoencapsulate3Dobjectchangeswhichshall changethescene's2Dgeometry.E.g.whenmovingone3Dobjectina scene,thevisualisationwouldnotchangesincethescene's2D attributesaredefinedbyits2Dobjecttransformationandthe changedcontentwouldbeprojectedtothesame2Dboundsas before.Toreflectthefactthatthe2Dpositionsmay'change'for theuser'simagination,itisnecessarytocalculateanew2D objecttransformationofthescene(theSnapRect)usingtheold3D transformationstackandthepossiblymodified3Dcontentandto useit.Thisisonlydesirableifchangestothescene'scontent areintendedtochangethescene's2Dgeometryattributes
*/ class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) E3DModifySceneSnapRectUpdater
{ // the scene which may be changed. This gets set to the outmost scene // of the to-be-changed 3D object when the scene has a 3d transformation // stack at construction time. In all other cases it's set to zero and // no action needs to be taken
E3dScene* mpScene;
// the 3d transformation stack at the time of construction, valid when // mpScene is not zero
std::optional<drawinglayer::geometry::ViewInformation3D> mpViewInformation3D;
public: // the constructor evaluates and sets the members at construction time
E3DModifySceneSnapRectUpdater(const SdrObject* mpObject);
// the destructor will take action if mpScene is not zero and modify the // 2D geometry of the target scene
~E3DModifySceneSnapRectUpdater();
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.