Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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.
 
void SetParameters (const bool ApproxCurves, const bool ComputeCurveOnS1, const bool ComputeCurveOnS2, const double ApproximationTolerance)
 Modifier.
 
void Perform (const TopoDS_Face &F1, const TopoDS_Face &F2, const bool theToRunParallel=false)
 Intersects underliing surfaces of F1 and F2 Use sum of tolerance of F1 and F2 as intersection criteria.
 
bool IsDone () const
 Returns True if the intersection was successful.
 
const NCollection_Sequence< IntTools_Curve > & Lines () const
 Returns sequence of 3d curves as result of intersection.
 
const NCollection_Sequence< IntTools_PntOn2Faces > & Points () const
 Returns sequence of 3d curves as result of intersection.
 
const TopoDS_FaceFace1 () const
 Returns first of processed faces.
 
const TopoDS_FaceFace2 () const
 Returns second of processed faces.
 
bool TangentFaces () const
 Returns True if faces are tangent.
 
void PrepareLines3D (const bool bToSplit=true)
 Provides post-processing the result lines.
 
void SetList (NCollection_List< IntSurf_PntOn2S > &ListOfPnts)
 
void SetContext (const occ::handle< IntTools_Context > &aContext)
 Sets the intersection context.
 
void SetFuzzyValue (const double theFuzz)
 Sets the Fuzzy value.
 
double FuzzyValue () const
 Returns Fuzzy value.
 
const occ::handle< IntTools_Context > & Context () const
 Gets the intersection context.
 

Protected Member Functions

void MakeCurve (const int Index, const occ::handle< Adaptor3d_TopolTool > &D1, const occ::handle< Adaptor3d_TopolTool > &D2, const double theToler)
 Creates curves from the IntPatch_Line.
 
void ComputeTolReached3d (const bool theToRunParallel)
 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.
 

Protected Attributes

bool myIsDone
 
IntPatch_Intersection myIntersector
 
GeomInt_LineConstructor myLConstruct
 
occ::handle< GeomAdaptor_SurfacemyHS1
 
occ::handle< GeomAdaptor_SurfacemyHS2
 
int myNbrestr
 
bool myApprox
 
bool myApprox1
 
bool myApprox2
 
double myTolApprox
 
double myTolF1
 
double myTolF2
 
double myTol
 
double myFuzzyValue
 
NCollection_Sequence< IntTools_CurvemySeqOfCurve
 
bool myTangentFaces
 
TopoDS_Face myFace1
 
TopoDS_Face myFace2
 
NCollection_Sequence< IntTools_PntOn2FacesmyPnts
 
NCollection_List< IntSurf_PntOn2SmyListOfPnts
 
occ::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 ( const bool theToRunParallel)
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 occ::handle< IntTools_Context > & IntTools_FaceFace::Context ( ) const

Gets the intersection 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()

double IntTools_FaceFace::FuzzyValue ( ) const

Returns Fuzzy value.

◆ IsDone()

bool IntTools_FaceFace::IsDone ( ) const

Returns True if the intersection was successful.

◆ Lines()

const NCollection_Sequence< IntTools_Curve > & IntTools_FaceFace::Lines ( ) const

Returns sequence of 3d curves as result of intersection.

◆ MakeCurve()

void IntTools_FaceFace::MakeCurve ( const int Index,
const occ::handle< Adaptor3d_TopolTool > & D1,
const occ::handle< Adaptor3d_TopolTool > & D2,
const double theToler )
protected

Creates curves from the IntPatch_Line.

◆ Perform()

void IntTools_FaceFace::Perform ( const TopoDS_Face & F1,
const TopoDS_Face & F2,
const bool theToRunParallel = false )

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

◆ Points()

const NCollection_Sequence< IntTools_PntOn2Faces > & IntTools_FaceFace::Points ( ) const

Returns sequence of 3d curves as result of intersection.

◆ PrepareLines3D()

void IntTools_FaceFace::PrepareLines3D ( const bool bToSplit = true)

Provides post-processing the result lines.

Parameters
[in]bToSplitsplit the closed 3D-curves on parts when TRUE, remain untouched otherwise

◆ SetContext()

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

Sets the intersection context.

◆ SetFuzzyValue()

void IntTools_FaceFace::SetFuzzyValue ( const double theFuzz)

Sets the Fuzzy value.

◆ SetList()

void IntTools_FaceFace::SetList ( NCollection_List< IntSurf_PntOn2S > & ListOfPnts)

◆ SetParameters()

void IntTools_FaceFace::SetParameters ( const bool ApproxCurves,
const bool ComputeCurveOnS1,
const bool ComputeCurveOnS2,
const double ApproximationTolerance )

Modifier.

◆ TangentFaces()

bool IntTools_FaceFace::TangentFaces ( ) const

Returns True if faces are tangent.

Field Documentation

◆ myApprox

bool IntTools_FaceFace::myApprox
protected

◆ myApprox1

bool IntTools_FaceFace::myApprox1
protected

◆ myApprox2

bool IntTools_FaceFace::myApprox2
protected

◆ myContext

occ::handle<IntTools_Context> IntTools_FaceFace::myContext
protected

◆ myFace1

TopoDS_Face IntTools_FaceFace::myFace1
protected

◆ myFace2

TopoDS_Face IntTools_FaceFace::myFace2
protected

◆ myFuzzyValue

double IntTools_FaceFace::myFuzzyValue
protected

◆ myHS1

occ::handle<GeomAdaptor_Surface> IntTools_FaceFace::myHS1
protected

◆ myHS2

occ::handle<GeomAdaptor_Surface> IntTools_FaceFace::myHS2
protected

◆ myIntersector

IntPatch_Intersection IntTools_FaceFace::myIntersector
protected

◆ myIsDone

bool IntTools_FaceFace::myIsDone
protected

◆ myLConstruct

GeomInt_LineConstructor IntTools_FaceFace::myLConstruct
protected

◆ myListOfPnts

NCollection_List<IntSurf_PntOn2S> IntTools_FaceFace::myListOfPnts
protected

◆ myNbrestr

int IntTools_FaceFace::myNbrestr
protected

◆ myPnts

NCollection_Sequence<IntTools_PntOn2Faces> IntTools_FaceFace::myPnts
protected

◆ mySeqOfCurve

NCollection_Sequence<IntTools_Curve> IntTools_FaceFace::mySeqOfCurve
protected

◆ myTangentFaces

bool IntTools_FaceFace::myTangentFaces
protected

◆ myTol

double IntTools_FaceFace::myTol
protected

◆ myTolApprox

double IntTools_FaceFace::myTolApprox
protected

◆ myTolF1

double IntTools_FaceFace::myTolF1
protected

◆ myTolF2

double IntTools_FaceFace::myTolF2
protected

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