|
| | IntPatch_Intersection () |
| |
| | IntPatch_Intersection (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_TopolTool > &D2, const Standard_Real TolArc, const Standard_Real TolTang) |
| |
| | IntPatch_Intersection (const Handle< Adaptor3d_Surface > &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.
|
| |
| void | Perform (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_Surface > &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 (without any post-processing).
|
| |
| void | Perform (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_Surface > &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 | Perform (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_Surface > &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 | Perform (const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Standard_Real TolArc, const Standard_Real TolTang) |
| | Uses for finding self-intersected surfaces.
|
| |
| Standard_Boolean | IsDone () const |
| | Returns True if the calculus was successful.
|
| |
| Standard_Boolean | IsEmpty () const |
| | Returns true if the is no intersection.
|
| |
| 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.
|
| |
| 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_Point & | Point (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_SequenceOfLine & | SequenceOfLine () const |
| |
| void | Dump (const Standard_Integer Mode, const Handle< Adaptor3d_Surface > &S1, const Handle< Adaptor3d_TopolTool > &D1, const Handle< Adaptor3d_Surface > &S2, const Handle< Adaptor3d_TopolTool > &D2) const |
| | Dump of each result line. Mode for more accurate dumps.
|
| |
|
| static Standard_Boolean | CheckSingularPoints (const Handle< Adaptor3d_Surface > &theS1, const Handle< Adaptor3d_TopolTool > &theD1, const Handle< Adaptor3d_Surface > &theS2, Standard_Real &theDist) |
| | Checks if surface theS1 has degenerated boundary (dS/du or dS/dv = 0) and calculates minimal distance between corresponding singular points and surface theS2 If singular point exists the method returns "true" and stores minimal distance in theDist.
|
| |
| static Standard_Real | DefineUVMaxStep (const Handle< Adaptor3d_Surface > &theS1, const Handle< Adaptor3d_TopolTool > &theD1, const Handle< Adaptor3d_Surface > &theS2, const Handle< Adaptor3d_TopolTool > &theD2) |
| | Calculates recommended value for myUVMaxStep depending on surfaces and their domains.
|
| |
| static void | PrepareSurfaces (const Handle< Adaptor3d_Surface > &theS1, const Handle< Adaptor3d_TopolTool > &theD1, const Handle< Adaptor3d_Surface > &theS2, const Handle< Adaptor3d_TopolTool > &theD2, const Standard_Real Tol, NCollection_Vector< Handle< Adaptor3d_Surface > > &theSeqHS1, NCollection_Vector< Handle< Adaptor3d_Surface > > &theSeqHS2) |
| | Prepares surfaces for intersection.
|
| |
This class provides a generic algorithm to intersect 2 surfaces.
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.