LibreOffice Module svx (master)  1
Namespaces | Functions
helperhittest3d.hxx File Reference
#include <svx/svxdllapi.h>
#include <vector>
Include dependency graph for helperhittest3d.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 basegfx
 
 drawinglayer::geometry
 

Functions

E3dScenefillViewInformation3DForCompoundObject (drawinglayer::geometry::ViewInformation3D &o_rViewInformation3D, const E3dCompoundObject &rCandidate)
 support for getting a ViewInformation3D for a given CompoudObject3D with correct ObjectTransformation filled out More...
 
SVXCORE_DLLPUBLIC void getAllHit3DObjectsSortedFrontToBack (const basegfx::B2DPoint &rPoint, const E3dScene &rScene,::std::vector< const E3dCompoundObject * > &o_rResult)
 support for getting all from a 2d position hit objects in a 3d scene in a depth sorted array More...
 
bool checkHitSingle3DObject (const basegfx::B2DPoint &rPoint, const E3dCompoundObject &rCandidate)
 support for checking if the single given 3d object is hit at position More...
 

Function Documentation

bool checkHitSingle3DObject ( const basegfx::B2DPoint rPoint,
const E3dCompoundObject rCandidate 
)

support for checking if the single given 3d object is hit at position

Parameters
rPoint2D Point in view coordinates
rCandidateThe 3D Object which needs checking
Returns
true if hit, false if not

Definition at line 233 of file helperhittest3d.cxx.

References fillViewInformation3DForCompoundObject(), getAllHit3DObjectWithRelativePoint(), drawinglayer::geometry::ViewInformation3D::getObjectToView(), sdr::contact::ViewContactOfE3dScene::getObjectTransformation(), SdrObject::GetViewContact(), basegfx::B2DTuple::getX(), basegfx::B2DTuple::getY(), basegfx::B2DHomMatrix::invert(), and basegfx::B3DHomMatrix::invert().

Referenced by SdrObjectPrimitiveHit().

E3dScene* fillViewInformation3DForCompoundObject ( drawinglayer::geometry::ViewInformation3D o_rViewInformation3D,
const E3dCompoundObject rCandidate 
)

support for getting a ViewInformation3D for a given CompoudObject3D with correct ObjectTransformation filled out

Parameters
o_rViewInformation3DThe ViewInformation3D created which will be overwritten
rCandidateThe E3dCompoundObject for which the ViewInformation3D shall be prepared
Returns
A pointer to the found and used root scene. This is also a hint if the operation succeeded or not, since when object has no root scene (is not inserted to a model), an empty ViewInformation3D will be used

Definition at line 98 of file helperhittest3d.cxx.

References E3dObject::getParentE3dSceneFromE3dObject(), sdr::contact::ViewContactOfE3dScene::getViewInformation3D(), and basegfx::B3DHomMatrix::isIdentity().

Referenced by E3dCompoundObject::AddToHdlList(), checkHitSingle3DObject(), getAllHit3DObjectsSortedFrontToBack(), E3dCompoundObject::RecalcSnapRect(), E3dCompoundObject::TakeXorPoly(), and E3dCompoundObject::TransformToScreenCoor().

SVXCORE_DLLPUBLIC void getAllHit3DObjectsSortedFrontToBack ( const basegfx::B2DPoint rPoint,
const E3dScene rScene,
::std::vector< const E3dCompoundObject * > &  o_rResult 
)

support for getting all from a 2d position hit objects in a 3d scene in a depth sorted array

Parameters
rPoint2D Point in view coordinates
rSceneThe 3D Scene for HitTest
o_rResultOutput parameter which contains all hit 3D objects inside rScene. This vector will be changed in any case. If it's empty, no hit exists. If it's not empty, the first object is the object closest to the viewer

Definition at line 159 of file helperhittest3d.cxx.

References a, DeepNoGroups, fillViewInformation3DForCompoundObject(), getAllHit3DObjectWithRelativePoint(), SdrObjList::GetObjCount(), drawinglayer::geometry::ViewInformation3D::getObjectToView(), sdr::contact::ViewContactOfE3dScene::getObjectTransformation(), E3dScene::GetSubList(), SdrObject::GetViewContact(), basegfx::B2DTuple::getX(), basegfx::B2DTuple::getY(), basegfx::B3DHomMatrix::invert(), basegfx::B2DHomMatrix::invert(), SdrObjListIter::IsMore(), nCount, and SdrObjListIter::Next().

Referenced by Svx3DLightControl::TrySelection().