Open CASCADE Technology 6.6.0
Public Member Functions
IntPatch_Intersection Class Reference

This class provides a generic algorithm to intersect
2 surfaces.

#include <IntPatch_Intersection.hxx>

Public Member Functions

 IntPatch_Intersection ()
 IntPatch_Intersection (const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &D2, const Standard_Real TolArc, const Standard_Real TolTang)
 IntPatch_Intersection (const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Standard_Real TolArc, const Standard_Real TolTang)
void SetTolerances (const Standard_Real TolArc, const Standard_Real TolTang, const Standard_Real UVMaxStep, const Standard_Real Fleche)
 Set the tolerances used by the algorithms:

void Perform (const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &D2, const Standard_Real TolArc, const Standard_Real TolTang)
void Perform (const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &D2, const Standard_Real TolArc, const Standard_Real TolTang, IntSurf_ListOfPntOn2S &LOfPnts, const Standard_Boolean RestrictLine=Standard_True)
void Perform (const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &D2, const Standard_Real U1, const Standard_Real V1, const Standard_Real U2, const Standard_Real V2, const Standard_Real TolArc, const Standard_Real TolTang)
void Perform (const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Standard_Real TolArc, const Standard_Real TolTang)
Standard_Boolean IsDone () const
 Returns True if the calculus was succesfull.

Standard_Boolean IsEmpty () const
 Returns true if the is no intersection.

Standard_Boolean TangentFaces () const
 Returns True if the two patches are considered as
entierly tangent, i-e every restriction arc of one
patch is inside the geometric base of the other patch.

Standard_Boolean OppositeFaces () const
 Returns True when the TangentFaces returns True and the
normal vectors evaluated at a point on the first and the
second surface are opposite.
The exception DomainError is raised if TangentFaces
returns False.

Standard_Integer NbPnts () const
 Returns the number of "single" points.

const IntPatch_PointPoint (const Standard_Integer Index) const
 Returns the point of range Index.
An exception is raised if Index<=0 or Index>NbPnt.

Standard_Integer NbLines () const
 Returns the number of intersection lines.

const Handle_IntPatch_Line & Line (const Standard_Integer Index) const
 Returns the line of range Index.
An exception is raised if Index<=0 or Index>NbLine.

const IntPatch_SequenceOfLineSequenceOfLine () const
void Dump (const Standard_Integer Mode, const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_HSurface > &S2, const Handle< Adaptor3d_TopolTool > &D2) const
 Dump of each result line.
Mode for more accurate dumps.



Constructor & Destructor Documentation

IntPatch_Intersection::IntPatch_Intersection ( )
IntPatch_Intersection::IntPatch_Intersection ( const Handle< Adaptor3d_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  D1,
const Handle< Adaptor3d_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  D2,
const Standard_Real  TolArc,
const Standard_Real  TolTang 
)
IntPatch_Intersection::IntPatch_Intersection ( const Handle< Adaptor3d_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  D1,
const Standard_Real  TolArc,
const Standard_Real  TolTang 
)

Member Function Documentation

void IntPatch_Intersection::Dump ( const Standard_Integer  Mode,
const Handle< Adaptor3d_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  D1,
const Handle< Adaptor3d_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  D2 
) const
Standard_Boolean IntPatch_Intersection::IsDone ( ) const
Standard_Boolean IntPatch_Intersection::IsEmpty ( ) const
const Handle_IntPatch_Line& IntPatch_Intersection::Line ( const Standard_Integer  Index) const
Standard_Integer IntPatch_Intersection::NbLines ( ) const
Standard_Integer IntPatch_Intersection::NbPnts ( ) const
Standard_Boolean IntPatch_Intersection::OppositeFaces ( ) const
void IntPatch_Intersection::Perform ( const Handle< Adaptor3d_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  D1,
const Handle< Adaptor3d_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  D2,
const Standard_Real  U1,
const Standard_Real  V1,
const Standard_Real  U2,
const Standard_Real  V2,
const Standard_Real  TolArc,
const Standard_Real  TolTang 
)
void IntPatch_Intersection::Perform ( const Handle< Adaptor3d_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  D1,
const Standard_Real  TolArc,
const Standard_Real  TolTang 
)
void IntPatch_Intersection::Perform ( const Handle< Adaptor3d_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  D1,
const Handle< Adaptor3d_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  D2,
const Standard_Real  TolArc,
const Standard_Real  TolTang 
)
void IntPatch_Intersection::Perform ( const Handle< Adaptor3d_HSurface > &  S1,
const Handle< Adaptor3d_TopolTool > &  D1,
const Handle< Adaptor3d_HSurface > &  S2,
const Handle< Adaptor3d_TopolTool > &  D2,
const Standard_Real  TolArc,
const Standard_Real  TolTang,
IntSurf_ListOfPntOn2S LOfPnts,
const Standard_Boolean  RestrictLine = Standard_True 
)
const IntPatch_Point& IntPatch_Intersection::Point ( const Standard_Integer  Index) const
const IntPatch_SequenceOfLine& IntPatch_Intersection::SequenceOfLine ( ) const
void IntPatch_Intersection::SetTolerances ( const Standard_Real  TolArc,
const Standard_Real  TolTang,
const Standard_Real  UVMaxStep,
const Standard_Real  Fleche 
)

--- Implicit - Parametric
--- Parametric - Parametric
--- Implicit - Implicit

TolArc is used to compute the intersections
between the restrictions of a surface and a
walking line.

TolTang is used to compute the points on a walking
line, and in geometric algorithms.

Fleche is a parameter used in the walking
algorithms to provide small curvatures on a line.

UVMaxStep is a parameter used in the walking
algorithms to compute the distance between to
points in their respective parametrtic spaces.

Standard_Boolean IntPatch_Intersection::TangentFaces ( ) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines