Open CASCADE Technology  7.5.0
Public Member Functions | Protected Member Functions | Protected Attributes

IntTools_FaceFace Class Reference

This class provides the intersection of face's underlying surfaces. More...

#include <IntTools_FaceFace.hxx>

Public Member Functions

 IntTools_FaceFace ()
 Empty constructor. More...
 
void SetParameters (const Standard_Boolean ApproxCurves, const Standard_Boolean ComputeCurveOnS1, const Standard_Boolean ComputeCurveOnS2, const Standard_Real ApproximationTolerance)
 Modifier. More...
 
void Perform (const TopoDS_Face &F1, const TopoDS_Face &F2)
 Intersects underliing surfaces of F1 and F2 Use sum of tolerance of F1 and F2 as intersection criteria. More...
 
Standard_Boolean IsDone () const
 Returns True if the intersection was successful. More...
 
const IntTools_SequenceOfCurvesLines () const
 Returns sequence of 3d curves as result of intersection. More...
 
const IntTools_SequenceOfPntOn2FacesPoints () const
 Returns sequence of 3d curves as result of intersection. More...
 
const TopoDS_FaceFace1 () const
 Returns first of processed faces. More...
 
const TopoDS_FaceFace2 () const
 Returns second of processed faces. More...
 
Standard_Boolean TangentFaces () const
 Returns True if faces are tangent. More...
 
void PrepareLines3D (const Standard_Boolean bToSplit=Standard_True)
 Provides post-processing the result lines. <bToSplit> - the flag. In case of <bToSplit> is true the closed 3D-curves will be splitted on parts. In case of <bToSplit> is false the closed 3D-curves remain untouched. More...
 
void SetList (IntSurf_ListOfPntOn2S &ListOfPnts)
 
void SetContext (const Handle< IntTools_Context > &aContext)
 Sets the intersecton context. More...
 
void SetFuzzyValue (const Standard_Real theFuzz)
 Sets the Fuzzy value. More...
 
Standard_Real FuzzyValue () const
 Returns Fuzzy value. More...
 
const Handle< IntTools_Context > & Context () const
 Gets the intersecton context. More...
 

Protected Member Functions

void MakeCurve (const Standard_Integer Index, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_TopolTool > &D2, const Standard_Real theToler)
 Creates curves from the IntPatch_Line. More...
 
void ComputeTolReached3d ()
 Computes the valid tolerance for the intersection curves as a maximal deviation between 3D curve and 2D curves on faces.
If there are no 2D curves the maximal deviation between 3D curves and surfaces is computed. More...
 

Protected Attributes

Standard_Boolean myIsDone
 
IntPatch_Intersection myIntersector
 
GeomInt_LineConstructor myLConstruct
 
Handle< GeomAdaptor_HSurfacemyHS1
 
Handle< GeomAdaptor_HSurfacemyHS2
 
Standard_Integer myNbrestr
 
Standard_Boolean myApprox
 
Standard_Boolean myApprox1
 
Standard_Boolean myApprox2
 
Standard_Real myTolApprox
 
Standard_Real myTolF1
 
Standard_Real myTolF2
 
Standard_Real myTol
 
Standard_Real myFuzzyValue
 
IntTools_SequenceOfCurves mySeqOfCurve
 
Standard_Boolean myTangentFaces
 
TopoDS_Face myFace1
 
TopoDS_Face myFace2
 
IntTools_SequenceOfPntOn2Faces myPnts
 
IntSurf_ListOfPntOn2S myListOfPnts
 
Handle< IntTools_ContextmyContext
 

Detailed Description

This class provides the intersection of face's underlying surfaces.

Constructor & Destructor Documentation

◆ IntTools_FaceFace()

IntTools_FaceFace::IntTools_FaceFace ( )

Empty constructor.

Member Function Documentation

◆ ComputeTolReached3d()

void IntTools_FaceFace::ComputeTolReached3d ( )
protected

Computes the valid tolerance for the intersection curves as a maximal deviation between 3D curve and 2D curves on faces.
If there are no 2D curves the maximal deviation between 3D curves and surfaces is computed.

◆ Context()

const Handle< IntTools_Context >& IntTools_FaceFace::Context ( ) const

Gets the intersecton context.

◆ Face1()

const TopoDS_Face& IntTools_FaceFace::Face1 ( ) const

Returns first of processed faces.

◆ Face2()

const TopoDS_Face& IntTools_FaceFace::Face2 ( ) const

Returns second of processed faces.

◆ FuzzyValue()

Standard_Real IntTools_FaceFace::FuzzyValue ( ) const

Returns Fuzzy value.

◆ IsDone()

Standard_Boolean IntTools_FaceFace::IsDone ( ) const

Returns True if the intersection was successful.

◆ Lines()

const IntTools_SequenceOfCurves& IntTools_FaceFace::Lines ( ) const

Returns sequence of 3d curves as result of intersection.

◆ MakeCurve()

void IntTools_FaceFace::MakeCurve ( const Standard_Integer  Index,
const Handle< Adaptor3d_TopolTool > &  D1,
const Handle< Adaptor3d_TopolTool > &  D2,
const Standard_Real  theToler 
)
protected

Creates curves from the IntPatch_Line.

◆ Perform()

void IntTools_FaceFace::Perform ( const TopoDS_Face F1,
const TopoDS_Face F2 
)

Intersects underliing surfaces of F1 and F2 Use sum of tolerance of F1 and F2 as intersection criteria.

◆ Points()

const IntTools_SequenceOfPntOn2Faces& IntTools_FaceFace::Points ( ) const

Returns sequence of 3d curves as result of intersection.

◆ PrepareLines3D()

void IntTools_FaceFace::PrepareLines3D ( const Standard_Boolean  bToSplit = Standard_True)

Provides post-processing the result lines. <bToSplit> - the flag. In case of <bToSplit> is true the closed 3D-curves will be splitted on parts. In case of <bToSplit> is false the closed 3D-curves remain untouched.

◆ SetContext()

void IntTools_FaceFace::SetContext ( const Handle< IntTools_Context > &  aContext)

Sets the intersecton context.

◆ SetFuzzyValue()

void IntTools_FaceFace::SetFuzzyValue ( const Standard_Real  theFuzz)

Sets the Fuzzy value.

◆ SetList()

void IntTools_FaceFace::SetList ( IntSurf_ListOfPntOn2S ListOfPnts)

◆ SetParameters()

void IntTools_FaceFace::SetParameters ( const Standard_Boolean  ApproxCurves,
const Standard_Boolean  ComputeCurveOnS1,
const Standard_Boolean  ComputeCurveOnS2,
const Standard_Real  ApproximationTolerance 
)

Modifier.

◆ TangentFaces()

Standard_Boolean IntTools_FaceFace::TangentFaces ( ) const

Returns True if faces are tangent.

Field Documentation

◆ myApprox

Standard_Boolean IntTools_FaceFace::myApprox
protected

◆ myApprox1

Standard_Boolean IntTools_FaceFace::myApprox1
protected

◆ myApprox2

Standard_Boolean IntTools_FaceFace::myApprox2
protected

◆ myContext

Handle< IntTools_Context > IntTools_FaceFace::myContext
protected

◆ myFace1

TopoDS_Face IntTools_FaceFace::myFace1
protected

◆ myFace2

TopoDS_Face IntTools_FaceFace::myFace2
protected

◆ myFuzzyValue

Standard_Real IntTools_FaceFace::myFuzzyValue
protected

◆ myHS1

Handle< GeomAdaptor_HSurface > IntTools_FaceFace::myHS1
protected

◆ myHS2

Handle< GeomAdaptor_HSurface > IntTools_FaceFace::myHS2
protected

◆ myIntersector

IntPatch_Intersection IntTools_FaceFace::myIntersector
protected

◆ myIsDone

Standard_Boolean IntTools_FaceFace::myIsDone
protected

◆ myLConstruct

GeomInt_LineConstructor IntTools_FaceFace::myLConstruct
protected

◆ myListOfPnts

IntSurf_ListOfPntOn2S IntTools_FaceFace::myListOfPnts
protected

◆ myNbrestr

Standard_Integer IntTools_FaceFace::myNbrestr
protected

◆ myPnts

IntTools_SequenceOfPntOn2Faces IntTools_FaceFace::myPnts
protected

◆ mySeqOfCurve

IntTools_SequenceOfCurves IntTools_FaceFace::mySeqOfCurve
protected

◆ myTangentFaces

Standard_Boolean IntTools_FaceFace::myTangentFaces
protected

◆ myTol

Standard_Real IntTools_FaceFace::myTol
protected

◆ myTolApprox

Standard_Real IntTools_FaceFace::myTolApprox
protected

◆ myTolF1

Standard_Real IntTools_FaceFace::myTolF1
protected

◆ myTolF2

Standard_Real IntTools_FaceFace::myTolF2
protected

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