Open CASCADE Technology  6.9.0
Public Member Functions | Protected Attributes

SelectMgr_BaseFrustum Class Reference

This class is an interface for different types of selecting frustums, defining different selection types, like point, box or polyline selection. It contains signatures of functions for detection of overlap by sensitive entity and initializes some data for building the selecting frustum. More...

#include <SelectMgr_BaseFrustum.hxx>

Inheritance diagram for SelectMgr_BaseFrustum:
Inheritance graph
[legend]

Public Member Functions

 SelectMgr_BaseFrustum ()
 Creates new selecting volume with pixel toletance set to 2, orthographic camera and empty frustum builder. More...
 
virtual ~SelectMgr_BaseFrustum ()
 
void SetCamera (const Handle< Graphic3d_Camera > &theCamera)
 Passes camera projection and orientation matrices to builder. More...
 
void SetCamera (const Graphic3d_Mat4d &theProjection, const Graphic3d_Mat4d &theOrientation, const Standard_Integer theIsOrthographic)
 Passes camera projection and orientation matrices to builder. More...
 
void SetPixelTolerance (const Standard_Real theTol)
 
void SetWindowSize (const Standard_Integer theWidth, const Standard_Integer theHeight)
 
void SetViewport (const Standard_Real theX, const Standard_Real theY, const Standard_Real theWidth, const Standard_Real theHeight)
 Passes viewport parameters to builder. More...
 
void SetBuilder (const Handle< SelectMgr_FrustumBuilder > &theBuilder)
 Nullifies the builder created in the constructor and copies the pointer given. More...
 
virtual void Build (const gp_Pnt2d &)
 Builds volume according to the point and given pixel tolerance. More...
 
virtual void Build (const gp_Pnt2d &, const gp_Pnt2d &)
 Builds volume according to the selected rectangle. More...
 
virtual void Build (const gp_Pnt2d &, const gp_Pnt2d &, const gp_Pnt2d &)
 Builds volume according to the triangle given. More...
 
virtual void Build (const TColgp_Array1OfPnt2d &)
 Builds selecting volumes set according to polyline points. More...
 
virtual NCollection_Handle
< SelectMgr_BaseFrustum
Transform (const gp_Trsf &)
 
virtual NCollection_Handle
< SelectMgr_BaseFrustum
Scale (const Standard_Real)
 IMPORTANT: Makes sense only for frustum built on a single point! Returns a copy of the frustum resized according to the scale factor given. More...
 
virtual Standard_Boolean Overlaps (const BVH_Box< Standard_Real, 3 > &theBndBox, Standard_Real &theDepth)
 SAT intersection test between defined volume and given axis-aligned box. More...
 
virtual Standard_Boolean Overlaps (const SelectMgr_Vec3 &theBoxMin, const SelectMgr_Vec3 &theBoxMax, Standard_Boolean *theInside=NULL)
 Returns true if selecting volume is overlapped by axis-aligned bounding box with minimum corner at point theMinPt and maximum at point theMaxPt. More...
 
virtual Standard_Boolean Overlaps (const gp_Pnt &thePt, Standard_Real &theDepth)
 Intersection test between defined volume and given point. More...
 
virtual Standard_Boolean Overlaps (const Handle< TColgp_HArray1OfPnt > &theArrayOfPts, Select3D_TypeOfSensitivity theSensType, Standard_Real &theDepth)
 SAT intersection test between defined volume and given ordered set of points, representing line segments. The test may be considered of interior part or boundary line defined by segments depending on given sensitivity type. More...
 
virtual Standard_Boolean Overlaps (const gp_Pnt &thePt1, const gp_Pnt &thePt2, Standard_Real &theDepth)
 Checks if line segment overlaps selecting frustum. More...
 
virtual Standard_Boolean Overlaps (const gp_Pnt &thePt1, const gp_Pnt &thePt2, const gp_Pnt &thePt3, Select3D_TypeOfSensitivity theSensType, Standard_Real &theDepth)
 SAT intersection test between defined volume and given triangle. The test may be considered of interior part or boundary line defined by triangle vertices depending on given sensitivity type. More...
 
virtual Standard_Real DistToGeometryCenter (const gp_Pnt &theCOG)
 Measures distance between 3d projection of user-picked screen point and given point theCOG. More...
 
virtual SelectMgr_Vec3 DetectedPoint (const Standard_Real theDepth) const
 
virtual Standard_Boolean IsClipped (const Graphic3d_SequenceOfHClipPlane &thePlanes, const Standard_Real theDepth)
 Checks if the point of sensitive in which selection was detected belongs to the region defined by clipping planes. More...
 

Protected Attributes

Standard_Real myPixelTolerance
 Pixel tolerance. More...
 
Standard_Boolean myIsOrthographic
 Defines if current camera is orthographic. More...
 
Handle< SelectMgr_FrustumBuildermyBuilder
 A tool implementing methods for volume build. More...
 

Detailed Description

This class is an interface for different types of selecting frustums, defining different selection types, like point, box or polyline selection. It contains signatures of functions for detection of overlap by sensitive entity and initializes some data for building the selecting frustum.

Constructor & Destructor Documentation

SelectMgr_BaseFrustum::SelectMgr_BaseFrustum ( )

Creates new selecting volume with pixel toletance set to 2, orthographic camera and empty frustum builder.

virtual SelectMgr_BaseFrustum::~SelectMgr_BaseFrustum ( )
inlinevirtual

Member Function Documentation

virtual void SelectMgr_BaseFrustum::Build ( const gp_Pnt2d )
inlinevirtual

Builds volume according to the point and given pixel tolerance.

Reimplemented in SelectMgr_RectangularFrustum.

virtual void SelectMgr_BaseFrustum::Build ( const gp_Pnt2d ,
const gp_Pnt2d  
)
inlinevirtual

Builds volume according to the selected rectangle.

Reimplemented in SelectMgr_RectangularFrustum.

virtual void SelectMgr_BaseFrustum::Build ( const gp_Pnt2d ,
const gp_Pnt2d ,
const gp_Pnt2d  
)
inlinevirtual

Builds volume according to the triangle given.

Reimplemented in SelectMgr_TriangularFrustum.

virtual void SelectMgr_BaseFrustum::Build ( const TColgp_Array1OfPnt2d )
inlinevirtual

Builds selecting volumes set according to polyline points.

Reimplemented in SelectMgr_TriangularFrustumSet.

virtual SelectMgr_Vec3 SelectMgr_BaseFrustum::DetectedPoint ( const Standard_Real  theDepth) const
virtual

Reimplemented in SelectMgr_RectangularFrustum.

virtual Standard_Real SelectMgr_BaseFrustum::DistToGeometryCenter ( const gp_Pnt theCOG)
virtual

Measures distance between 3d projection of user-picked screen point and given point theCOG.

Reimplemented in SelectMgr_RectangularFrustum.

virtual Standard_Boolean SelectMgr_BaseFrustum::IsClipped ( const Graphic3d_SequenceOfHClipPlane thePlanes,
const Standard_Real  theDepth 
)
virtual

Checks if the point of sensitive in which selection was detected belongs to the region defined by clipping planes.

Reimplemented in SelectMgr_RectangularFrustum.

virtual Standard_Boolean SelectMgr_BaseFrustum::Overlaps ( const BVH_Box< Standard_Real, 3 > &  theBndBox,
Standard_Real theDepth 
)
virtual

SAT intersection test between defined volume and given axis-aligned box.

Reimplemented in SelectMgr_RectangularFrustum, SelectMgr_TriangularFrustumSet, and SelectMgr_TriangularFrustum.

virtual Standard_Boolean SelectMgr_BaseFrustum::Overlaps ( const SelectMgr_Vec3 theBoxMin,
const SelectMgr_Vec3 theBoxMax,
Standard_Boolean theInside = NULL 
)
virtual

Returns true if selecting volume is overlapped by axis-aligned bounding box with minimum corner at point theMinPt and maximum at point theMaxPt.

Reimplemented in SelectMgr_RectangularFrustum, SelectMgr_TriangularFrustumSet, and SelectMgr_TriangularFrustum.

virtual Standard_Boolean SelectMgr_BaseFrustum::Overlaps ( const gp_Pnt thePt,
Standard_Real theDepth 
)
virtual

Intersection test between defined volume and given point.

Reimplemented in SelectMgr_RectangularFrustum, SelectMgr_TriangularFrustumSet, and SelectMgr_TriangularFrustum.

virtual Standard_Boolean SelectMgr_BaseFrustum::Overlaps ( const Handle< TColgp_HArray1OfPnt > &  theArrayOfPts,
Select3D_TypeOfSensitivity  theSensType,
Standard_Real theDepth 
)
virtual

SAT intersection test between defined volume and given ordered set of points, representing line segments. The test may be considered of interior part or boundary line defined by segments depending on given sensitivity type.

Reimplemented in SelectMgr_RectangularFrustum, SelectMgr_TriangularFrustum, and SelectMgr_TriangularFrustumSet.

virtual Standard_Boolean SelectMgr_BaseFrustum::Overlaps ( const gp_Pnt thePt1,
const gp_Pnt thePt2,
Standard_Real theDepth 
)
virtual

Checks if line segment overlaps selecting frustum.

Reimplemented in SelectMgr_RectangularFrustum, SelectMgr_TriangularFrustum, and SelectMgr_TriangularFrustumSet.

virtual Standard_Boolean SelectMgr_BaseFrustum::Overlaps ( const gp_Pnt thePt1,
const gp_Pnt thePt2,
const gp_Pnt thePt3,
Select3D_TypeOfSensitivity  theSensType,
Standard_Real theDepth 
)
virtual

SAT intersection test between defined volume and given triangle. The test may be considered of interior part or boundary line defined by triangle vertices depending on given sensitivity type.

Reimplemented in SelectMgr_RectangularFrustum, SelectMgr_TriangularFrustum, and SelectMgr_TriangularFrustumSet.

virtual NCollection_Handle<SelectMgr_BaseFrustum> SelectMgr_BaseFrustum::Scale ( const Standard_Real  )
inlinevirtual

IMPORTANT: Makes sense only for frustum built on a single point! Returns a copy of the frustum resized according to the scale factor given.

Reimplemented in SelectMgr_RectangularFrustum.

void SelectMgr_BaseFrustum::SetBuilder ( const Handle< SelectMgr_FrustumBuilder > &  theBuilder)

Nullifies the builder created in the constructor and copies the pointer given.

void SelectMgr_BaseFrustum::SetCamera ( const Handle< Graphic3d_Camera > &  theCamera)

Passes camera projection and orientation matrices to builder.

void SelectMgr_BaseFrustum::SetCamera ( const Graphic3d_Mat4d theProjection,
const Graphic3d_Mat4d theOrientation,
const Standard_Integer  theIsOrthographic 
)

Passes camera projection and orientation matrices to builder.

void SelectMgr_BaseFrustum::SetPixelTolerance ( const Standard_Real  theTol)
void SelectMgr_BaseFrustum::SetViewport ( const Standard_Real  theX,
const Standard_Real  theY,
const Standard_Real  theWidth,
const Standard_Real  theHeight 
)

Passes viewport parameters to builder.

void SelectMgr_BaseFrustum::SetWindowSize ( const Standard_Integer  theWidth,
const Standard_Integer  theHeight 
)
virtual NCollection_Handle<SelectMgr_BaseFrustum> SelectMgr_BaseFrustum::Transform ( const gp_Trsf )
inlinevirtual

Field Documentation

Handle< SelectMgr_FrustumBuilder > SelectMgr_BaseFrustum::myBuilder
protected

A tool implementing methods for volume build.

Standard_Boolean SelectMgr_BaseFrustum::myIsOrthographic
protected

Defines if current camera is orthographic.

Standard_Real SelectMgr_BaseFrustum::myPixelTolerance
protected

Pixel tolerance.


The documentation for this class was generated from the following file: