LibreOffice Module svx (master) 1
|
#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>
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) |
E3dScene * | fillViewInformation3DForCompoundObject (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... | |
bool checkHitSingle3DObject | ( | const basegfx::B2DPoint & | rPoint, |
const E3dCompoundObject & | rCandidate | ||
) |
support for checking if the single given 3d object is hit at position
rPoint | 2D Point in view coordinates |
rCandidate | The 3D Object which needs checking |
Definition at line 233 of file helperhittest3d.cxx.
References basegfx::B3DTuple::equal(), fillViewInformation3DForCompoundObject(), getAllHit3DObjectWithRelativePoint(), drawinglayer::geometry::ViewInformation3D::getObjectToView(), sdr::contact::ViewContactOfE3dScene::getObjectTransformation(), SdrObject::GetViewContact(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::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
o_rViewInformation3D | The ViewInformation3D created which will be overwritten |
rCandidate | The E3dCompoundObject for which the ViewInformation3D shall be prepared |
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().
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
rPoint | 2D Point in view coordinates |
rScene | The 3D Scene for HitTest |
o_rResult | Output 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().
|
static |
Definition at line 60 of file helperhittest3d.cxx.
References basegfx::B3DTuple::equal(), drawinglayer::primitive3d::Primitive3DContainer::getB3DRange(), drawinglayer::processor3d::CutFindProcessor::getCutPoints(), SdrObject::GetViewContact(), sdr::contact::ViewContactOfE3d::getViewIndependentPrimitive3DContainer(), basegfx::B3DRange::isEmpty(), basegfx::B3DRange::overlaps(), and drawinglayer::processor3d::BaseProcessor3D::process().
Referenced by checkHitSingle3DObject(), and getAllHit3DObjectsSortedFrontToBack().