| Open CASCADE Technology
    7.4.0
    | 
This class provides a generic algorithm to intersect 2 surfaces. More...
#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: — Implicit - Parametric — Parametric - Parametric — Implicit - Implicit.  More... | |
| 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, const Standard_Boolean isGeomInt=Standard_True, const Standard_Boolean theIsReqToKeepRLine=Standard_False, const Standard_Boolean theIsReqToPostWLProc=Standard_True) | 
| Flag theIsReqToKeepRLine has been entered only for compatibility with TopOpeBRep package. It shall be deleted after deleting TopOpeBRep. When intersection result returns IntPatch_RLine and another IntPatch_Line (not restriction) we (in case of theIsReqToKeepRLine==TRUE) will always keep both lines even if they are coincided. Flag theIsReqToPostWLProc has been entered only for compatibility with TopOpeBRep package. It shall be deleted after deleting TopOpeBRep. If theIsReqToPostWLProc == FALSE, then we will work with Walking-line obtained after intersection algorithm directly (wothout any post-processing).  More... | |
| 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 isGeomInt=Standard_True, const Standard_Boolean theIsReqToKeepRLine=Standard_False, const Standard_Boolean theIsReqToPostWLProc=Standard_True) | 
| If isGeomInt == Standard_False, then method Param-Param intersection will be used. Flag theIsReqToKeepRLine has been entered only for compatibility with TopOpeBRep package. It shall be deleted after deleting TopOpeBRep. When intersection result returns IntPatch_RLine and another IntPatch_Line (not restriction) we (in case of theIsReqToKeepRLine==TRUE) will always keep both lines even if they are coincided. Flag theIsReqToPostWLProc has been entered only for compatibility with TopOpeBRep package. It shall be deleted after deleting TopOpeBRep. If theIsReqToPostWLProc == FALSE, then we will work with Walking-line obtained after intersection algorithm directly (without any post-processing).  More... | |
| 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) | 
| Perform with start point.  More... | |
| void | Perform (const Handle< Adaptor3d_HSurface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Standard_Real TolArc, const Standard_Real TolTang) | 
| Uses for finding self-intersected surfaces.  More... | |
| Standard_Boolean | IsDone () const | 
| Returns True if the calculus was successful.  More... | |
| Standard_Boolean | IsEmpty () const | 
| Returns true if the is no intersection.  More... | |
| Standard_Boolean | TangentFaces () const | 
| Returns True if the two patches are considered as entirely tangent, i-e every restriction arc of one patch is inside the geometric base of the other patch.  More... | |
| 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.  More... | |
| Standard_Integer | NbPnts () const | 
| Returns the number of "single" points.  More... | |
| const IntPatch_Point & | Point (const Standard_Integer Index) const | 
| Returns the point of range Index. An exception is raised if Index<=0 or Index>NbPnt.  More... | |
| Standard_Integer | NbLines () const | 
| Returns the number of intersection lines.  More... | |
| 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.  More... | |
| const IntPatch_SequenceOfLine & | SequenceOfLine () 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.  More... | |
This class provides a generic algorithm to intersect 2 surfaces.
| 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 | ||
| ) | 
| 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 | 
Dump of each result line. Mode for more accurate dumps.
| Standard_Boolean IntPatch_Intersection::IsDone | ( | ) | const | 
Returns True if the calculus was successful.
| Standard_Boolean IntPatch_Intersection::IsEmpty | ( | ) | const | 
Returns true if the is no intersection.
| const Handle< IntPatch_Line >& IntPatch_Intersection::Line | ( | const Standard_Integer | Index | ) | const | 
Returns the line of range Index. An exception is raised if Index<=0 or Index>NbLine.
| Standard_Integer IntPatch_Intersection::NbLines | ( | ) | const | 
Returns the number of intersection lines.
| Standard_Integer IntPatch_Intersection::NbPnts | ( | ) | const | 
Returns the number of "single" points.
| Standard_Boolean IntPatch_Intersection::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.
| 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, | ||
| const Standard_Boolean | isGeomInt = Standard_True, | ||
| const Standard_Boolean | theIsReqToKeepRLine = Standard_False, | ||
| const Standard_Boolean | theIsReqToPostWLProc = Standard_True | ||
| ) | 
Flag theIsReqToKeepRLine has been entered only for compatibility with TopOpeBRep package. It shall be deleted after deleting TopOpeBRep. When intersection result returns IntPatch_RLine and another IntPatch_Line (not restriction) we (in case of theIsReqToKeepRLine==TRUE) will always keep both lines even if they are coincided. Flag theIsReqToPostWLProc has been entered only for compatibility with TopOpeBRep package. It shall be deleted after deleting TopOpeBRep. If theIsReqToPostWLProc == FALSE, then we will work with Walking-line obtained after intersection algorithm directly (wothout any post-processing).
| 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 | isGeomInt = Standard_True, | ||
| const Standard_Boolean | theIsReqToKeepRLine = Standard_False, | ||
| const Standard_Boolean | theIsReqToPostWLProc = Standard_True | ||
| ) | 
If isGeomInt == Standard_False, then method Param-Param intersection will be used. Flag theIsReqToKeepRLine has been entered only for compatibility with TopOpeBRep package. It shall be deleted after deleting TopOpeBRep. When intersection result returns IntPatch_RLine and another IntPatch_Line (not restriction) we (in case of theIsReqToKeepRLine==TRUE) will always keep both lines even if they are coincided. Flag theIsReqToPostWLProc has been entered only for compatibility with TopOpeBRep package. It shall be deleted after deleting TopOpeBRep. If theIsReqToPostWLProc == FALSE, then we will work with Walking-line obtained after intersection algorithm directly (without any post-processing).
| 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 | ||
| ) | 
Perform with start point.
| void IntPatch_Intersection::Perform | ( | const Handle< Adaptor3d_HSurface > & | S1, | 
| const Handle< Adaptor3d_TopolTool > & | D1, | ||
| const Standard_Real | TolArc, | ||
| const Standard_Real | TolTang | ||
| ) | 
Uses for finding self-intersected surfaces.
| const IntPatch_Point& IntPatch_Intersection::Point | ( | const Standard_Integer | Index | ) | const | 
Returns the point of range Index. An exception is raised if Index<=0 or Index>NbPnt.
| 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 | ||
| ) | 
Set the tolerances used by the algorithms: — 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 parametric spaces.
| Standard_Boolean IntPatch_Intersection::TangentFaces | ( | ) | const | 
Returns True if the two patches are considered as entirely tangent, i-e every restriction arc of one patch is inside the geometric base of the other patch.
 1.8.13
 1.8.13