![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Implementation of the intersection between two quadric patches : Plane, Cone, Cylinder or Sphere. More...
#include <IntPatch_ImpImpIntersection.hxx>
Public Types | |
| enum | IntStatus { IntStatus_OK , IntStatus_InfiniteSectionCurve , IntStatus_Fail } |
Public Member Functions | |
| IntPatch_ImpImpIntersection () | |
| IntPatch_ImpImpIntersection (const occ::handle< Adaptor3d_Surface > &S1, const occ::handle< Adaptor3d_TopolTool > &D1, const occ::handle< Adaptor3d_Surface > &S2, const occ::handle< Adaptor3d_TopolTool > &D2, const double TolArc, const double TolTang, const bool theIsReqToKeepRLine=false) | |
| 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. | |
| void | Perform (const occ::handle< Adaptor3d_Surface > &S1, const occ::handle< Adaptor3d_TopolTool > &D1, const occ::handle< Adaptor3d_Surface > &S2, const occ::handle< Adaptor3d_TopolTool > &D2, const double TolArc, const double TolTang, const bool theIsReqToKeepRLine=false) |
| 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. | |
| bool | IsDone () const |
| Returns True if the calculus was successful. | |
| IntStatus | GetStatus () const |
| Returns status. | |
| bool | IsEmpty () const |
| Returns true if the is no intersection. | |
| bool | 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. | |
| bool | 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. | |
| int | NbPnts () const |
| Returns the number of "single" points. | |
| const IntPatch_Point & | Point (const int Index) const |
| Returns the point of range Index. An exception is raised if Index<=0 or Index>NbPnt. | |
| int | NbLines () const |
| Returns the number of intersection lines. | |
| const occ::handle< IntPatch_Line > & | Line (const int Index) const |
| Returns the line of range Index. An exception is raised if Index<=0 or Index>NbLine. | |
Implementation of the intersection between two quadric patches : Plane, Cone, Cylinder or Sphere.
| IntPatch_ImpImpIntersection::IntPatch_ImpImpIntersection | ( | ) |
| IntPatch_ImpImpIntersection::IntPatch_ImpImpIntersection | ( | const occ::handle< Adaptor3d_Surface > & | S1, |
| const occ::handle< Adaptor3d_TopolTool > & | D1, | ||
| const occ::handle< Adaptor3d_Surface > & | S2, | ||
| const occ::handle< Adaptor3d_TopolTool > & | D2, | ||
| const double | TolArc, | ||
| const double | TolTang, | ||
| const bool | theIsReqToKeepRLine = false ) |
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.
| IntStatus IntPatch_ImpImpIntersection::GetStatus | ( | ) | const |
Returns status.
| bool IntPatch_ImpImpIntersection::IsDone | ( | ) | const |
Returns True if the calculus was successful.
| bool IntPatch_ImpImpIntersection::IsEmpty | ( | ) | const |
Returns true if the is no intersection.
| const occ::handle< IntPatch_Line > & IntPatch_ImpImpIntersection::Line | ( | const int | Index | ) | const |
Returns the line of range Index. An exception is raised if Index<=0 or Index>NbLine.
| int IntPatch_ImpImpIntersection::NbLines | ( | ) | const |
Returns the number of intersection lines.
| int IntPatch_ImpImpIntersection::NbPnts | ( | ) | const |
Returns the number of "single" points.
| bool 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 occ::handle< Adaptor3d_Surface > & | S1, |
| const occ::handle< Adaptor3d_TopolTool > & | D1, | ||
| const occ::handle< Adaptor3d_Surface > & | S2, | ||
| const occ::handle< Adaptor3d_TopolTool > & | D2, | ||
| const double | TolArc, | ||
| const double | TolTang, | ||
| const bool | theIsReqToKeepRLine = false ) |
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.
| const IntPatch_Point & IntPatch_ImpImpIntersection::Point | ( | const int | Index | ) | const |
Returns the point of range Index. An exception is raised if Index<=0 or Index>NbPnt.
| bool IntPatch_ImpImpIntersection::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.