Open CASCADE Technology
6.9.0
|
Implementation of the intersection between two quadric patches : Plane, Cone, Cylinder or Sphere. More...
#include <IntPatch_ImpImpIntersection.hxx>
Public Member Functions | |
IntPatch_ImpImpIntersection () | |
IntPatch_ImpImpIntersection (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 theIsReqToKeepRLine=Standard_False) | |
Flag theIsReqToKeepRLine has been enterred 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. 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 isTheTrimmed=Standard_False, const Standard_Boolean theIsReqToKeepRLine=Standard_False) |
Flag theIsReqToKeepRLine has been enterred 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. More... | |
Standard_Boolean | IsDone () const |
Returns True if the calculus was succesfull. 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 entierly tangent, i-e every restriction arc of one patch is inside the geometric base of the otehr 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... | |
Implementation of the intersection between two quadric patches : Plane, Cone, Cylinder or Sphere.
IntPatch_ImpImpIntersection::IntPatch_ImpImpIntersection | ( | ) |
IntPatch_ImpImpIntersection::IntPatch_ImpImpIntersection | ( | 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 | theIsReqToKeepRLine = Standard_False |
||
) |
Flag theIsReqToKeepRLine has been enterred 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.
Standard_Boolean IntPatch_ImpImpIntersection::IsDone | ( | ) | const |
Returns True if the calculus was succesfull.
Standard_Boolean IntPatch_ImpImpIntersection::IsEmpty | ( | ) | const |
Returns true if the is no intersection.
const Handle< IntPatch_Line >& IntPatch_ImpImpIntersection::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_ImpImpIntersection::NbLines | ( | ) | const |
Returns the number of intersection lines.
Standard_Integer IntPatch_ImpImpIntersection::NbPnts | ( | ) | const |
Returns the number of "single" points.
Standard_Boolean IntPatch_ImpImpIntersection::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_ImpImpIntersection::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 | isTheTrimmed = Standard_False , |
||
const Standard_Boolean | theIsReqToKeepRLine = Standard_False |
||
) |
Flag theIsReqToKeepRLine has been enterred 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.
const IntPatch_Point& IntPatch_ImpImpIntersection::Point | ( | const Standard_Integer | Index | ) | const |
Returns the point of range Index. An exception is raised if Index<=0 or Index>NbPnt.
Standard_Boolean IntPatch_ImpImpIntersection::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 otehr patch.