Open CASCADE Technology  7.4.0
IntPolyh_Intersection Class Reference

API algorithm for intersection of two surfaces by intersection of their triangulations. More...

#include <IntPolyh_Intersection.hxx>

Public Member Functions

Constructors
 IntPolyh_Intersection (const Handle< Adaptor3d_HSurface > &theS1, const Handle< Adaptor3d_HSurface > &theS2)
 Constructor for intersection of two surfaces with default parameters. Performs intersection. More...
 
 IntPolyh_Intersection (const Handle< Adaptor3d_HSurface > &theS1, const Standard_Integer theNbSU1, const Standard_Integer theNbSV1, const Handle< Adaptor3d_HSurface > &theS2, const Standard_Integer theNbSU2, const Standard_Integer theNbSV2)
 Constructor for intersection of two surfaces with the given size of the sampling nets: More...
 
 IntPolyh_Intersection (const Handle< Adaptor3d_HSurface > &theS1, const TColStd_Array1OfReal &theUPars1, const TColStd_Array1OfReal &theVPars1, const Handle< Adaptor3d_HSurface > &theS2, const TColStd_Array1OfReal &theUPars2, const TColStd_Array1OfReal &theVPars2)
 Constructor for intersection of two surfaces with the precomputed sampling. Performs intersection. More...
 
Getting the results
Standard_Boolean IsDone () const
 Returns state of the operation. More...
 
Standard_Integer NbSectionLines () const
 Returns the number of section lines. More...
 
Standard_Integer NbPointsInLine (const Standard_Integer IndexLine) const
 Returns the number of points in the given line. More...
 
Standard_Integer NbTangentZones () const
 Returns state of the operation. More...
 
Standard_Integer NbPointsInTangentZone (const Standard_Integer) const
 Returns number of points in tangent zone. More...
 
void GetLinePoint (const Standard_Integer IndexLine, const Standard_Integer IndexPoint, Standard_Real &x, Standard_Real &y, Standard_Real &z, Standard_Real &u1, Standard_Real &v1, Standard_Real &u2, Standard_Real &v2, Standard_Real &incidence) const
 Gets the parameters of the point in section line. More...
 
void GetTangentZonePoint (const Standard_Integer IndexLine, const Standard_Integer IndexPoint, Standard_Real &x, Standard_Real &y, Standard_Real &z, Standard_Real &u1, Standard_Real &v1, Standard_Real &u2, Standard_Real &v2) const
 Gets the parameters of the point in tangent zone. More...
 

Detailed Description

API algorithm for intersection of two surfaces by intersection of their triangulations.

Algorithm provides possibility to intersect surfaces as without the precomputed sampling as with it.

If the numbers of sampling points are not given, it will build the net of 10x10 sampling points for each surface.

The intersection is done inside constructors. Before obtaining the results of intersection it is necessary to check if intersection has been performed correctly. It can be done by calling the IsDone() method.

The results of intersection are the intersection lines and points.

Constructor & Destructor Documentation

◆ IntPolyh_Intersection() [1/3]

IntPolyh_Intersection::IntPolyh_Intersection ( const Handle< Adaptor3d_HSurface > &  theS1,
const Handle< Adaptor3d_HSurface > &  theS2 
)

Constructor for intersection of two surfaces with default parameters. Performs intersection.

◆ IntPolyh_Intersection() [2/3]

IntPolyh_Intersection::IntPolyh_Intersection ( const Handle< Adaptor3d_HSurface > &  theS1,
const Standard_Integer  theNbSU1,
const Standard_Integer  theNbSV1,
const Handle< Adaptor3d_HSurface > &  theS2,
const Standard_Integer  theNbSU2,
const Standard_Integer  theNbSV2 
)

Constructor for intersection of two surfaces with the given size of the sampling nets:

  • <theNbSU1> x <theNbSV1> - for the first surface <theS1>;
  • <theNbSU2> x <theNbSV2> - for the second surface <theS2>. Performs intersection.

◆ IntPolyh_Intersection() [3/3]

IntPolyh_Intersection::IntPolyh_Intersection ( const Handle< Adaptor3d_HSurface > &  theS1,
const TColStd_Array1OfReal theUPars1,
const TColStd_Array1OfReal theVPars1,
const Handle< Adaptor3d_HSurface > &  theS2,
const TColStd_Array1OfReal theUPars2,
const TColStd_Array1OfReal theVPars2 
)

Constructor for intersection of two surfaces with the precomputed sampling. Performs intersection.

Member Function Documentation

◆ GetLinePoint()

void IntPolyh_Intersection::GetLinePoint ( const Standard_Integer  IndexLine,
const Standard_Integer  IndexPoint,
Standard_Real x,
Standard_Real y,
Standard_Real z,
Standard_Real u1,
Standard_Real v1,
Standard_Real u2,
Standard_Real v2,
Standard_Real incidence 
) const

Gets the parameters of the point in section line.

◆ GetTangentZonePoint()

void IntPolyh_Intersection::GetTangentZonePoint ( const Standard_Integer  IndexLine,
const Standard_Integer  IndexPoint,
Standard_Real x,
Standard_Real y,
Standard_Real z,
Standard_Real u1,
Standard_Real v1,
Standard_Real u2,
Standard_Real v2 
) const

Gets the parameters of the point in tangent zone.

◆ IsDone()

Standard_Boolean IntPolyh_Intersection::IsDone ( ) const
inline

Returns state of the operation.

◆ NbPointsInLine()

Standard_Integer IntPolyh_Intersection::NbPointsInLine ( const Standard_Integer  IndexLine) const
inline

Returns the number of points in the given line.

◆ NbPointsInTangentZone()

Standard_Integer IntPolyh_Intersection::NbPointsInTangentZone ( const Standard_Integer  ) const
inline

Returns number of points in tangent zone.

◆ NbSectionLines()

Standard_Integer IntPolyh_Intersection::NbSectionLines ( ) const
inline

Returns the number of section lines.

◆ NbTangentZones()

Standard_Integer IntPolyh_Intersection::NbTangentZones ( ) const
inline

Returns state of the operation.


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