Open CASCADE Technology  6.9.0
Public Member Functions

IntPatch_ImpImpIntersection Class Reference

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_PointPoint (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...
 

Detailed Description

Implementation of the intersection between two quadric patches : Plane, Cone, Cylinder or Sphere.

Constructor & Destructor Documentation

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.

Member Function Documentation

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.


The documentation for this class was generated from the following file: