Open CASCADE Technology 7.8.0
Public Member Functions | Static Public Member Functions | Protected Member Functions
BRepClass3d_SolidExplorer Class Reference

Provide an exploration of a BRep Shape for the classification. Provide access to the special UB tree to obtain fast search. More...

#include <BRepClass3d_SolidExplorer.hxx>

Public Member Functions

 BRepClass3d_SolidExplorer ()
 
 BRepClass3d_SolidExplorer (const TopoDS_Shape &S)
 
virtual ~BRepClass3d_SolidExplorer ()
 
void InitShape (const TopoDS_Shape &S)
 
virtual Standard_Boolean Reject (const gp_Pnt &P) const
 Should return True if P outside of bounding vol. of the shape.
 
Standard_Boolean PointInTheFace (const TopoDS_Face &F, gp_Pnt &P, Standard_Real &u, Standard_Real &v, Standard_Real &Param, Standard_Integer &Index) const
 
Standard_Boolean PointInTheFace (const TopoDS_Face &F, gp_Pnt &P, Standard_Real &u, Standard_Real &v, Standard_Real &Param, Standard_Integer &Index, const Handle< BRepAdaptor_Surface > &surf, const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2) const
 
Standard_Boolean PointInTheFace (const TopoDS_Face &F, gp_Pnt &P, Standard_Real &u, Standard_Real &v, Standard_Real &Param, Standard_Integer &Index, const Handle< BRepAdaptor_Surface > &surf, const Standard_Real u1, const Standard_Real v1, const Standard_Real u2, const Standard_Real v2, gp_Vec &theVecD1U, gp_Vec &theVecD1V) const
 <Index> gives point index to search from and returns point index of succeseful search
 
void InitShell ()
 Starts an exploration of the shells.
 
Standard_Boolean MoreShell () const
 Returns True if there is a current shell.
 
void NextShell ()
 Sets the explorer to the next shell.
 
TopoDS_Shell CurrentShell () const
 Returns the current shell.
 
virtual Standard_Boolean RejectShell (const gp_Lin &L) const
 Returns True if the Shell is rejected.
 
void InitFace ()
 Starts an exploration of the faces of the current shell.
 
Standard_Boolean MoreFace () const
 Returns True if current face in current shell.
 
void NextFace ()
 Sets the explorer to the next Face of the current shell.
 
TopoDS_Face CurrentFace () const
 Returns the current face.
 
virtual Standard_Boolean RejectFace (const gp_Lin &L) const
 returns True if the face is rejected.
 
Standard_Integer Segment (const gp_Pnt &P, gp_Lin &L, Standard_Real &Par)
 Returns in <L>, <Par> a segment having at least one intersection with the shape boundary to compute intersections.
 
Standard_Integer OtherSegment (const gp_Pnt &P, gp_Lin &L, Standard_Real &Par)
 Returns in <L>, <Par> a segment having at least one intersection with the shape boundary to compute intersections.
 
Standard_Integer GetFaceSegmentIndex () const
 Returns the index of face for which last segment is calculated.
 
virtual void DumpSegment (const gp_Pnt &P, const gp_Lin &L, const Standard_Real Par, const TopAbs_State S) const
 
const Bnd_BoxBox () const
 
const TopoDS_ShapeGetShape () const
 
IntCurvesFace_IntersectorIntersector (const TopoDS_Face &F) const
 
const BRepClass3d_BndBoxTreeGetTree ()
 Return UB-tree instance which is used for edge / vertex checks.
 
const TopTools_IndexedMapOfShapeGetMapEV ()
 Return edge/vertices map for current shape.
 
void Destroy ()
 

Static Public Member Functions

static Standard_Boolean FindAPointInTheFace (const TopoDS_Face &F, gp_Pnt &P, Standard_Real &Param)
 compute a point P in the face F. Param is a Real in ]0,1[ and is used to initialise the algorithm. For different values , different points are returned.
 
static Standard_Boolean FindAPointInTheFace (const TopoDS_Face &F, gp_Pnt &P, Standard_Real &u, Standard_Real &v, Standard_Real &Param)
 
static Standard_Boolean FindAPointInTheFace (const TopoDS_Face &F, gp_Pnt &P, Standard_Real &u, Standard_Real &v, Standard_Real &Param, gp_Vec &theVecD1U, gp_Vec &theVecD1V)
 
static Standard_Boolean FindAPointInTheFace (const TopoDS_Face &F, gp_Pnt &P, Standard_Real &u, Standard_Real &v)
 
static Standard_Boolean FindAPointInTheFace (const TopoDS_Face &F, gp_Pnt &P)
 
static Standard_Boolean FindAPointInTheFace (const TopoDS_Face &F, Standard_Real &u, Standard_Real &v)
 

Protected Member Functions

TopAbs_State ClassifyUVPoint (const IntCurvesFace_Intersector &theIntersector, const Handle< BRepAdaptor_Surface > &theSurf, const gp_Pnt2d &theP2d) const
 

Detailed Description

Provide an exploration of a BRep Shape for the classification. Provide access to the special UB tree to obtain fast search.

Constructor & Destructor Documentation

◆ BRepClass3d_SolidExplorer() [1/2]

BRepClass3d_SolidExplorer::BRepClass3d_SolidExplorer ( )

◆ BRepClass3d_SolidExplorer() [2/2]

BRepClass3d_SolidExplorer::BRepClass3d_SolidExplorer ( const TopoDS_Shape S)

◆ ~BRepClass3d_SolidExplorer()

virtual BRepClass3d_SolidExplorer::~BRepClass3d_SolidExplorer ( )
virtual

Member Function Documentation

◆ Box()

const Bnd_Box & BRepClass3d_SolidExplorer::Box ( ) const

◆ ClassifyUVPoint()

TopAbs_State BRepClass3d_SolidExplorer::ClassifyUVPoint ( const IntCurvesFace_Intersector theIntersector,
const Handle< BRepAdaptor_Surface > &  theSurf,
const gp_Pnt2d theP2d 
) const
protected

◆ CurrentFace()

TopoDS_Face BRepClass3d_SolidExplorer::CurrentFace ( ) const

Returns the current face.

◆ CurrentShell()

TopoDS_Shell BRepClass3d_SolidExplorer::CurrentShell ( ) const

Returns the current shell.

◆ Destroy()

void BRepClass3d_SolidExplorer::Destroy ( )

◆ DumpSegment()

virtual void BRepClass3d_SolidExplorer::DumpSegment ( const gp_Pnt P,
const gp_Lin L,
const Standard_Real  Par,
const TopAbs_State  S 
) const
virtual

◆ FindAPointInTheFace() [1/6]

static Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace ( const TopoDS_Face F,
gp_Pnt P 
)
static

◆ FindAPointInTheFace() [2/6]

static Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace ( const TopoDS_Face F,
gp_Pnt P,
Standard_Real Param 
)
static

compute a point P in the face F. Param is a Real in ]0,1[ and is used to initialise the algorithm. For different values , different points are returned.

◆ FindAPointInTheFace() [3/6]

static Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace ( const TopoDS_Face F,
gp_Pnt P,
Standard_Real u,
Standard_Real v 
)
static

◆ FindAPointInTheFace() [4/6]

static Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace ( const TopoDS_Face F,
gp_Pnt P,
Standard_Real u,
Standard_Real v,
Standard_Real Param 
)
static

◆ FindAPointInTheFace() [5/6]

static Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace ( const TopoDS_Face F,
gp_Pnt P,
Standard_Real u,
Standard_Real v,
Standard_Real Param,
gp_Vec theVecD1U,
gp_Vec theVecD1V 
)
static

◆ FindAPointInTheFace() [6/6]

static Standard_Boolean BRepClass3d_SolidExplorer::FindAPointInTheFace ( const TopoDS_Face F,
Standard_Real u,
Standard_Real v 
)
static

◆ GetFaceSegmentIndex()

Standard_Integer BRepClass3d_SolidExplorer::GetFaceSegmentIndex ( ) const

Returns the index of face for which last segment is calculated.

◆ GetMapEV()

const TopTools_IndexedMapOfShape & BRepClass3d_SolidExplorer::GetMapEV ( )
inline

Return edge/vertices map for current shape.

◆ GetShape()

const TopoDS_Shape & BRepClass3d_SolidExplorer::GetShape ( ) const

◆ GetTree()

const BRepClass3d_BndBoxTree & BRepClass3d_SolidExplorer::GetTree ( )
inline

Return UB-tree instance which is used for edge / vertex checks.

◆ InitFace()

void BRepClass3d_SolidExplorer::InitFace ( )

Starts an exploration of the faces of the current shell.

◆ InitShape()

void BRepClass3d_SolidExplorer::InitShape ( const TopoDS_Shape S)

◆ InitShell()

void BRepClass3d_SolidExplorer::InitShell ( )

Starts an exploration of the shells.

◆ Intersector()

IntCurvesFace_Intersector & BRepClass3d_SolidExplorer::Intersector ( const TopoDS_Face F) const

◆ MoreFace()

Standard_Boolean BRepClass3d_SolidExplorer::MoreFace ( ) const

Returns True if current face in current shell.

◆ MoreShell()

Standard_Boolean BRepClass3d_SolidExplorer::MoreShell ( ) const

Returns True if there is a current shell.

◆ NextFace()

void BRepClass3d_SolidExplorer::NextFace ( )

Sets the explorer to the next Face of the current shell.

◆ NextShell()

void BRepClass3d_SolidExplorer::NextShell ( )

Sets the explorer to the next shell.

◆ OtherSegment()

Standard_Integer BRepClass3d_SolidExplorer::OtherSegment ( const gp_Pnt P,
gp_Lin L,
Standard_Real Par 
)

Returns in <L>, <Par> a segment having at least one intersection with the shape boundary to compute intersections.

The First Call to this method returns a line which point to a point of the first face of the shape. The Second Call provide a line to the second face and so on.

◆ PointInTheFace() [1/3]

Standard_Boolean BRepClass3d_SolidExplorer::PointInTheFace ( const TopoDS_Face F,
gp_Pnt P,
Standard_Real u,
Standard_Real v,
Standard_Real Param,
Standard_Integer Index 
) const

◆ PointInTheFace() [2/3]

Standard_Boolean BRepClass3d_SolidExplorer::PointInTheFace ( const TopoDS_Face F,
gp_Pnt P,
Standard_Real u,
Standard_Real v,
Standard_Real Param,
Standard_Integer Index,
const Handle< BRepAdaptor_Surface > &  surf,
const Standard_Real  u1,
const Standard_Real  v1,
const Standard_Real  u2,
const Standard_Real  v2 
) const

◆ PointInTheFace() [3/3]

Standard_Boolean BRepClass3d_SolidExplorer::PointInTheFace ( const TopoDS_Face F,
gp_Pnt P,
Standard_Real u,
Standard_Real v,
Standard_Real Param,
Standard_Integer Index,
const Handle< BRepAdaptor_Surface > &  surf,
const Standard_Real  u1,
const Standard_Real  v1,
const Standard_Real  u2,
const Standard_Real  v2,
gp_Vec theVecD1U,
gp_Vec theVecD1V 
) const

<Index> gives point index to search from and returns point index of succeseful search

◆ Reject()

virtual Standard_Boolean BRepClass3d_SolidExplorer::Reject ( const gp_Pnt P) const
virtual

Should return True if P outside of bounding vol. of the shape.

◆ RejectFace()

virtual Standard_Boolean BRepClass3d_SolidExplorer::RejectFace ( const gp_Lin L) const
virtual

returns True if the face is rejected.

◆ RejectShell()

virtual Standard_Boolean BRepClass3d_SolidExplorer::RejectShell ( const gp_Lin L) const
virtual

Returns True if the Shell is rejected.

◆ Segment()

Standard_Integer BRepClass3d_SolidExplorer::Segment ( const gp_Pnt P,
gp_Lin L,
Standard_Real Par 
)

Returns in <L>, <Par> a segment having at least one intersection with the shape boundary to compute intersections.


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