LibreOffice Module svx (master) 1
Functions
helperhittest3d.cxx File Reference
#include <svx/helperhittest3d.hxx>
#include <basegfx/point/b2dpoint.hxx>
#include <svx/svdpage.hxx>
#include <svx/scene3d.hxx>
#include <svx/svditer.hxx>
#include <drawinglayer/processor3d/cutfindprocessor3d.hxx>
#include <sdr/contact/viewcontactofe3d.hxx>
#include <svx/sdr/contact/viewcontactofe3dscene.hxx>
#include <com/sun/star/uno/Sequence.h>
Include dependency graph for helperhittest3d.cxx:

Go to the source code of this file.

Functions

static void getAllHit3DObjectWithRelativePoint (const basegfx::B3DPoint &rFront, const basegfx::B3DPoint &rBack, const E3dCompoundObject &rObject, const drawinglayer::geometry::ViewInformation3D &rObjectViewInformation3D, ::std::vector< basegfx::B3DPoint > &o_rResult, bool bAnyHit)
 
E3dScenefillViewInformation3DForCompoundObject (drawinglayer::geometry::ViewInformation3D &o_rViewInformation3D, const E3dCompoundObject &rCandidate)
 support for getting a ViewInformation3D for a given CompoudObject3D with correct ObjectTransformation filled out More...
 
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

◆ checkHitSingle3DObject()

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

◆ fillViewInformation3DForCompoundObject()

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 drawinglayer::geometry::ViewInformation3D::getDeviceToView(), drawinglayer::geometry::ViewInformation3D::getExtendedInformationSequence(), drawinglayer::geometry::ViewInformation3D::getObjectTransformation(), drawinglayer::geometry::ViewInformation3D::getOrientation(), E3dObject::getParentE3dSceneFromE3dObject(), drawinglayer::geometry::ViewInformation3D::getProjection(), E3dObject::GetTransform(), SdrObject::GetViewContact(), sdr::contact::ViewContactOfE3dScene::getViewInformation3D(), drawinglayer::geometry::ViewInformation3D::getViewTime(), and basegfx::B3DHomMatrix::isIdentity().

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

◆ getAllHit3DObjectsSortedFrontToBack()

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, basegfx::B3DTuple::equal(), fillViewInformation3DForCompoundObject(), getAllHit3DObjectWithRelativePoint(), SdrObjList::GetObjCount(), drawinglayer::geometry::ViewInformation3D::getObjectToView(), sdr::contact::ViewContactOfE3dScene::getObjectTransformation(), E3dScene::GetSubList(), SdrObject::GetViewContact(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), basegfx::Tuple3D< typename TYPE >::getZ(), basegfx::B2DHomMatrix::invert(), basegfx::B3DHomMatrix::invert(), SdrObjListIter::IsMore(), nCount, and SdrObjListIter::Next().

Referenced by Svx3DLightControl::TrySelection().

◆ getAllHit3DObjectWithRelativePoint()

static void getAllHit3DObjectWithRelativePoint ( const basegfx::B3DPoint rFront,
const basegfx::B3DPoint rBack,
const E3dCompoundObject rObject,
const drawinglayer::geometry::ViewInformation3D rObjectViewInformation3D,
::std::vector< basegfx::B3DPoint > &  o_rResult,
bool  bAnyHit 
)
static