Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions
Select3D_SensitiveTriangle Class Reference

A framework to define selection of triangles in a view.
This comes into play in the detection of meshing and triangulation in surfaces.
In some cases this class can raise Standard_ConstructionError and
Standard_OutOfRange exceptions. For more details see Select3D_SensitivePoly.

#include <Select3D_SensitiveTriangle.hxx>

Inheritance diagram for Select3D_SensitiveTriangle:
Inheritance graph
[legend]

Public Member Functions

 Select3D_SensitiveTriangle (const Handle< SelectBasics_EntityOwner > &OwnerId, const gp_Pnt &P1, const gp_Pnt &P2, const gp_Pnt &P3, const Select3D_TypeOfSensitivity Sensitivity=Select3D_TOS_INTERIOR)
 Constructs a sensitive triangle object defined by the
owner OwnerId, the points P1, P2, P3, and the type of sensitivity Sensitivity.

virtual Standard_Boolean Matches (const Standard_Real X, const Standard_Real Y, const Standard_Real aTol, Standard_Real &DMin)
 Matches the coordinates X, Y with the entity found at
that point within the tolerance aTol and the minimum depth DMin.
You must redefine this function for every inheriting entity.
You will have to call this framework inside the redefined function.

virtual Standard_Boolean Matches (const Standard_Real XMin, const Standard_Real YMin, const Standard_Real XMax, const Standard_Real YMax, const Standard_Real aTol)
 Matches the box defined by the coordinates Xmin,
Ymin, Xmax, Ymax with the entity found at that point
within the tolerance aTol.
Xmin, YMin define the minimum point in the lower left
hand corner of the box, and XMax, YMax define the
maximum point in the upper right hand corner of the box.
You must redefine this function for every inheriting entity.
You will have to call this framework inside the redefined function.

virtual Standard_Boolean Matches (const TColgp_Array1OfPnt2d &Polyline, const Bnd_Box2d &aBox, const Standard_Real aTol)
 prevents from hiding virtual methods...

Standard_Real ComputeDepth (const gp_Lin &EyeLine) const
 Returns the depth of this object on the line EyeLine.
EyeLine goes through the eye towards a point
defined by the coordinates X,Y in the function GetEyeLine.
//! gives an abcissa on <aLin> .
<aLin> represents the line going through
the eye towards an X,Y point on the screen. This Method
must return a mean Depth on this line.

void Points3D (gp_Pnt &P1, gp_Pnt &P2, gp_Pnt &P3) const
 Returns the 3D points P1, P2, P3 used at the time of construction.

gp_Pnt Center3D () const
 Returns the center point of the sensitive triangle created at construction time.

gp_XY Center2D () const
 WARNING : the returned Values are the original values
without the stored location (if there's one).
To get the genuine value, One must apply this location
(Method Location() )

Standard_Integer Status (const Standard_Real X, const Standard_Real Y, const Standard_Real aTol, Standard_Real &Dmin) const
virtual void Dump (Standard_OStream &S, const Standard_Boolean FullDump=Standard_True) const
 2 options :
<FullDump> = False -> general information
<FullDump> = True -> whole informtion 3D +2d ...

virtual
Handle_Select3D_SensitiveEntity 
GetConnected (const TopLoc_Location &theLocation)
 Returns the copy of this

Static Public Member Functions

static Standard_Integer Status (const gp_XY &p0, const gp_XY &p1, const gp_XY &p2, const gp_XY &aPoint, const Standard_Real aTol, Standard_Real &Dmin)
 Dmin gives the distance between the cdg and aPoint return


Constructor & Destructor Documentation


Member Function Documentation

Reimplemented from Select3D_SensitiveEntity.

virtual Handle_Select3D_SensitiveEntity Select3D_SensitiveTriangle::GetConnected ( const TopLoc_Location theLocation) [virtual]

Reimplemented from Select3D_SensitiveEntity.

Reimplemented from Select3D_SensitiveEntity.

Reimplemented from Select3D_SensitiveEntity.

Reimplemented from Select3D_SensitiveEntity.

void Select3D_SensitiveTriangle::Points3D ( gp_Pnt P1,
gp_Pnt P2,
gp_Pnt P3 
) const
static Standard_Integer Select3D_SensitiveTriangle::Status ( const gp_XY p0,
const gp_XY p1,
const gp_XY p2,
const gp_XY aPoint,
const Standard_Real  aTol,
Standard_Real Dmin 
) [static]

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