Open CASCADE Technology  7.3.1.dev
IntTools_EdgeFace Class Reference

The class provides Edge/Face intersection algorithm to determine common parts between edge and face in 3-d space. Common parts between Edge and Face can be: More...

#include <IntTools_EdgeFace.hxx>

Public Member Functions

Constructors
 IntTools_EdgeFace ()
 Empty Constructor. More...
 
Setters/Getters
void SetEdge (const TopoDS_Edge &theEdge)
 Sets the edge for intersection. More...
 
const TopoDS_EdgeEdge () const
 Returns the edge. More...
 
void SetFace (const TopoDS_Face &theFace)
 Sets the face for intersection. More...
 
const TopoDS_FaceFace () const
 Returns the face. More...
 
void SetRange (const IntTools_Range &theRange)
 Sets the boundaries for the edge. The algorithm processes edge inside these boundaries. More...
 
void SetRange (const Standard_Real theFirst, const Standard_Real theLast)
 Sets the boundaries for the edge. The algorithm processes edge inside these boundaries. More...
 
const IntTools_RangeRange () const
 Returns intersection range of the edge. More...
 
void SetContext (const Handle< IntTools_Context > &theContext)
 Sets the intersection context. More...
 
const Handle< IntTools_Context > & Context () const
 Returns the intersection context. More...
 
void SetFuzzyValue (const Standard_Real theFuzz)
 Sets the Fuzzy value. More...
 
Standard_Real FuzzyValue () const
 Returns the Fuzzy value. More...
 
void UseQuickCoincidenceCheck (const Standard_Boolean theFlag)
 Sets the flag for quick coincidence check. It is safe to use the quick check for coincidence only if both of the following conditions are met: More...
 
Standard_Boolean IsCoincidenceCheckedQuickly ()
 Returns the flag myQuickCoincidenceCheck. More...
 
Performing the operation
void Perform ()
 Launches the process. More...
 
Checking validity of the intersection
Standard_Boolean IsDone () const
 Returns TRUE if computation was successful. Otherwise returns FALSE. More...
 
Standard_Integer ErrorStatus () const
 Returns the code of completion: 0 - means successful completion; 1 - the process was not started; 2,3 - invalid source data for the algorithm; 4 - projection failed. More...
 
Obtaining results
const IntTools_SequenceOfCommonPrtsCommonParts () const
 Returns resulting common parts. More...
 

Protected methods performing the intersection

static Standard_Boolean IsEqDistance (const gp_Pnt &aP, const BRepAdaptor_Surface &aS, const Standard_Real aT, Standard_Real &aD)
 Checks if the edge is in the face really. More...
 
void CheckData ()
 Checks if the edge is in the face really. More...
 
Standard_Boolean IsProjectable (const Standard_Real t) const
 Checks if the edge is in the face really. More...
 
Standard_Real DistanceFunction (const Standard_Real t)
 Checks if the edge is in the face really. More...
 
Standard_Integer MakeType (IntTools_CommonPrt &aCP)
 Checks if the edge is in the face really. More...
 
Standard_Boolean CheckTouch (const IntTools_CommonPrt &aCP, Standard_Real &aTX)
 Checks if the edge is in the face really. More...
 
Standard_Boolean CheckTouchVertex (const IntTools_CommonPrt &aCP, Standard_Real &aTX)
 Checks if the edge is in the face really. More...
 
Standard_Boolean IsCoincident ()
 Checks if the edge is in the face really. More...
 

Detailed Description

The class provides Edge/Face intersection algorithm to determine common parts between edge and face in 3-d space. Common parts between Edge and Face can be:

Constructor & Destructor Documentation

◆ IntTools_EdgeFace()

IntTools_EdgeFace::IntTools_EdgeFace ( )

Empty Constructor.

Member Function Documentation

◆ CheckData()

void IntTools_EdgeFace::CheckData ( )
protected

Checks if the edge is in the face really.

◆ CheckTouch()

Standard_Boolean IntTools_EdgeFace::CheckTouch ( const IntTools_CommonPrt aCP,
Standard_Real aTX 
)
protected

Checks if the edge is in the face really.

◆ CheckTouchVertex()

Standard_Boolean IntTools_EdgeFace::CheckTouchVertex ( const IntTools_CommonPrt aCP,
Standard_Real aTX 
)
protected

Checks if the edge is in the face really.

◆ CommonParts()

const IntTools_SequenceOfCommonPrts& IntTools_EdgeFace::CommonParts ( ) const
inline

Returns resulting common parts.

◆ Context()

const Handle< IntTools_Context >& IntTools_EdgeFace::Context ( ) const
inline

Returns the intersection context.

◆ DistanceFunction()

Standard_Real IntTools_EdgeFace::DistanceFunction ( const Standard_Real  t)
protected

Checks if the edge is in the face really.

◆ Edge()

const TopoDS_Edge& IntTools_EdgeFace::Edge ( ) const
inline

Returns the edge.

◆ ErrorStatus()

Standard_Integer IntTools_EdgeFace::ErrorStatus ( ) const
inline

Returns the code of completion: 0 - means successful completion; 1 - the process was not started; 2,3 - invalid source data for the algorithm; 4 - projection failed.

◆ Face()

const TopoDS_Face& IntTools_EdgeFace::Face ( ) const
inline

Returns the face.

◆ FuzzyValue()

Standard_Real IntTools_EdgeFace::FuzzyValue ( ) const
inline

Returns the Fuzzy value.

◆ IsCoincidenceCheckedQuickly()

Standard_Boolean IntTools_EdgeFace::IsCoincidenceCheckedQuickly ( )
inline

Returns the flag myQuickCoincidenceCheck.

◆ IsCoincident()

Standard_Boolean IntTools_EdgeFace::IsCoincident ( )
protected

Checks if the edge is in the face really.

◆ IsDone()

Standard_Boolean IntTools_EdgeFace::IsDone ( ) const
inline

Returns TRUE if computation was successful. Otherwise returns FALSE.

◆ IsEqDistance()

static Standard_Boolean IntTools_EdgeFace::IsEqDistance ( const gp_Pnt aP,
const BRepAdaptor_Surface aS,
const Standard_Real  aT,
Standard_Real aD 
)
staticprotected

Checks if the edge is in the face really.

◆ IsProjectable()

Standard_Boolean IntTools_EdgeFace::IsProjectable ( const Standard_Real  t) const
protected

Checks if the edge is in the face really.

◆ MakeType()

Standard_Integer IntTools_EdgeFace::MakeType ( IntTools_CommonPrt aCP)
protected

Checks if the edge is in the face really.

◆ Perform()

void IntTools_EdgeFace::Perform ( )

Launches the process.

◆ Range()

const IntTools_Range& IntTools_EdgeFace::Range ( ) const
inline

Returns intersection range of the edge.

◆ SetContext()

void IntTools_EdgeFace::SetContext ( const Handle< IntTools_Context > &  theContext)
inline

Sets the intersection context.

◆ SetEdge()

void IntTools_EdgeFace::SetEdge ( const TopoDS_Edge theEdge)
inline

Sets the edge for intersection.

◆ SetFace()

void IntTools_EdgeFace::SetFace ( const TopoDS_Face theFace)
inline

Sets the face for intersection.

◆ SetFuzzyValue()

void IntTools_EdgeFace::SetFuzzyValue ( const Standard_Real  theFuzz)
inline

Sets the Fuzzy value.

◆ SetRange() [1/2]

void IntTools_EdgeFace::SetRange ( const IntTools_Range theRange)
inline

Sets the boundaries for the edge. The algorithm processes edge inside these boundaries.

◆ SetRange() [2/2]

void IntTools_EdgeFace::SetRange ( const Standard_Real  theFirst,
const Standard_Real  theLast 
)
inline

Sets the boundaries for the edge. The algorithm processes edge inside these boundaries.

◆ UseQuickCoincidenceCheck()

void IntTools_EdgeFace::UseQuickCoincidenceCheck ( const Standard_Boolean  theFlag)
inline

Sets the flag for quick coincidence check. It is safe to use the quick check for coincidence only if both of the following conditions are met:

  • The vertices of edge are lying on the face;
  • The edge does not intersect the boundaries of the face on the given range.

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