Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
IntPatch_PrmPrmIntersection Class Reference

Implementation of the Intersection between two bi-parametrised surfaces. More...

#include <IntPatch_PrmPrmIntersection.hxx>

Public Member Functions

 IntPatch_PrmPrmIntersection ()
 Empty Constructor.
 
void Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const IntPatch_Polyhedron &Polyhedron2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment)
 Performs the intersection between <Caro1> and <Caro2>. Associated Polyhedrons <Polyhedron1> and <Polyhedron2> are given.
 
void Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const double TolTangency, const double Epsilon, const double Deflection, const double Increment)
 
void Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment, const bool ClearFlag=true)
 Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.
 
void Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment, NCollection_List< IntSurf_PntOn2S > &ListOfPnts)
 Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.
 
void Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double U1, const double V1, const double U2, const double V2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment)
 Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.
 
void Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const double TolTangency, const double Epsilon, const double Deflection, const double Increment)
 Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.
 
void Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const IntPatch_Polyhedron &Polyhedron2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment)
 Performs the intersection between <Caro1> and <Caro2>.
 
void Perform (const occ::handle< Adaptor3d_Surface > &Caro1, const IntPatch_Polyhedron &Polyhedron1, const occ::handle< Adaptor3d_TopolTool > &Domain1, const occ::handle< Adaptor3d_Surface > &Caro2, const occ::handle< Adaptor3d_TopolTool > &Domain2, const double TolTangency, const double Epsilon, const double Deflection, const double Increment)
 Performs the intersection between <Caro1> and <Caro2>.
 
bool IsDone () const
 Returns true if the calculus was successful.
 
bool IsEmpty () const
 Returns true if the is no intersection.
 
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.
 
occ::handle< IntPatch_LineNewLine (const occ::handle< Adaptor3d_Surface > &Caro1, const occ::handle< Adaptor3d_Surface > &Caro2, const int IndexLine, const int LowPoint, const int HighPoint, const int NbPoints) const
 Computes about <NbPoints> Intersection Points on the Line <IndexLine> between the Points of Index <LowPoint> and <HighPoint>.
 
int GrilleInteger (const int ix, const int iy, const int iz) const
 
void IntegerGrille (const int t, int &ix, int &iy, int &iz) const
 
int DansGrille (const int t) const
 
int NbPointsGrille () const
 
void RemplitLin (const int x1, const int y1, const int z1, const int x2, const int y2, const int z2, IntPatch_PrmPrmIntersection_T3Bits &Map) const
 
void RemplitTri (const int x1, const int y1, const int z1, const int x2, const int y2, const int z2, const int x3, const int y3, const int z3, IntPatch_PrmPrmIntersection_T3Bits &Map) const
 
void Remplit (const int a, const int b, const int c, IntPatch_PrmPrmIntersection_T3Bits &Map) const
 
int CodeReject (const double x1, const double y1, const double z1, const double x2, const double y2, const double z2, const double x3, const double y3, const double z3) const
 
void PointDepart (occ::handle< IntSurf_LineOn2S > &LineOn2S, const occ::handle< Adaptor3d_Surface > &S1, const int SU1, const int SV1, const occ::handle< Adaptor3d_Surface > &S2, const int SU2, const int SV2) const
 

Detailed Description

Implementation of the Intersection between two bi-parametrised surfaces.

To avoid multiple constructions of the approximated polyhedron of the surfaces, the algorithm can be called with the two surfaces and their associated polyhedron.

Constructor & Destructor Documentation

◆ IntPatch_PrmPrmIntersection()

IntPatch_PrmPrmIntersection::IntPatch_PrmPrmIntersection ( )

Empty Constructor.

Member Function Documentation

◆ CodeReject()

int IntPatch_PrmPrmIntersection::CodeReject ( const double x1,
const double y1,
const double z1,
const double x2,
const double y2,
const double z2,
const double x3,
const double y3,
const double z3 ) const

◆ DansGrille()

int IntPatch_PrmPrmIntersection::DansGrille ( const int t) const

◆ GrilleInteger()

int IntPatch_PrmPrmIntersection::GrilleInteger ( const int ix,
const int iy,
const int iz ) const

◆ IntegerGrille()

void IntPatch_PrmPrmIntersection::IntegerGrille ( const int t,
int & ix,
int & iy,
int & iz ) const

◆ IsDone()

bool IntPatch_PrmPrmIntersection::IsDone ( ) const

Returns true if the calculus was successful.

◆ IsEmpty()

bool IntPatch_PrmPrmIntersection::IsEmpty ( ) const

Returns true if the is no intersection.

◆ Line()

const occ::handle< IntPatch_Line > & IntPatch_PrmPrmIntersection::Line ( const int Index) const

Returns the line of range Index. An exception is raised if Index<=0 or Index>NbLine.

◆ NbLines()

int IntPatch_PrmPrmIntersection::NbLines ( ) const

Returns the number of intersection lines.

◆ NbPointsGrille()

int IntPatch_PrmPrmIntersection::NbPointsGrille ( ) const

◆ NewLine()

occ::handle< IntPatch_Line > IntPatch_PrmPrmIntersection::NewLine ( const occ::handle< Adaptor3d_Surface > & Caro1,
const occ::handle< Adaptor3d_Surface > & Caro2,
const int IndexLine,
const int LowPoint,
const int HighPoint,
const int NbPoints ) const

Computes about <NbPoints> Intersection Points on the Line <IndexLine> between the Points of Index <LowPoint> and <HighPoint>.

All the points of the line of index <IndexLine> with an index between <LowPoint> and <HighPoint> are in the returned line. New Points are inserted between existing points if those points are not too closed.

An exception is raised if Index<=0 or Index>NbLine. or if IsDone returns False

◆ Perform() [1/8]

void IntPatch_PrmPrmIntersection::Perform ( const occ::handle< Adaptor3d_Surface > & Caro1,
const IntPatch_Polyhedron & Polyhedron1,
const occ::handle< Adaptor3d_TopolTool > & Domain1,
const double TolTangency,
const double Epsilon,
const double Deflection,
const double Increment )

◆ Perform() [2/8]

void IntPatch_PrmPrmIntersection::Perform ( const occ::handle< Adaptor3d_Surface > & Caro1,
const IntPatch_Polyhedron & Polyhedron1,
const occ::handle< Adaptor3d_TopolTool > & Domain1,
const occ::handle< Adaptor3d_Surface > & Caro2,
const IntPatch_Polyhedron & Polyhedron2,
const occ::handle< Adaptor3d_TopolTool > & Domain2,
const double TolTangency,
const double Epsilon,
const double Deflection,
const double Increment )

Performs the intersection between <Caro1> and <Caro2>. Associated Polyhedrons <Polyhedron1> and <Polyhedron2> are given.

◆ Perform() [3/8]

void IntPatch_PrmPrmIntersection::Perform ( const occ::handle< Adaptor3d_Surface > & Caro1,
const IntPatch_Polyhedron & Polyhedron1,
const occ::handle< Adaptor3d_TopolTool > & Domain1,
const occ::handle< Adaptor3d_Surface > & Caro2,
const occ::handle< Adaptor3d_TopolTool > & Domain2,
const double TolTangency,
const double Epsilon,
const double Deflection,
const double Increment )

Performs the intersection between <Caro1> and <Caro2>.

The polyhedron which approximates <Caro1>, <Polyhedron1> is given. The other one is computed.

◆ Perform() [4/8]

void IntPatch_PrmPrmIntersection::Perform ( const occ::handle< Adaptor3d_Surface > & Caro1,
const occ::handle< Adaptor3d_TopolTool > & Domain1,
const double TolTangency,
const double Epsilon,
const double Deflection,
const double Increment )

Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.

◆ Perform() [5/8]

void IntPatch_PrmPrmIntersection::Perform ( const occ::handle< Adaptor3d_Surface > & Caro1,
const occ::handle< Adaptor3d_TopolTool > & Domain1,
const occ::handle< Adaptor3d_Surface > & Caro2,
const IntPatch_Polyhedron & Polyhedron2,
const occ::handle< Adaptor3d_TopolTool > & Domain2,
const double TolTangency,
const double Epsilon,
const double Deflection,
const double Increment )

Performs the intersection between <Caro1> and <Caro2>.

The polyhedron which approximates <Caro2>, <Polyhedron2> is given. The other one is computed.

◆ Perform() [6/8]

void IntPatch_PrmPrmIntersection::Perform ( const occ::handle< Adaptor3d_Surface > & Caro1,
const occ::handle< Adaptor3d_TopolTool > & Domain1,
const occ::handle< Adaptor3d_Surface > & Caro2,
const occ::handle< Adaptor3d_TopolTool > & Domain2,
const double TolTangency,
const double Epsilon,
const double Deflection,
const double Increment,
const bool ClearFlag = true )

Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.

◆ Perform() [7/8]

void IntPatch_PrmPrmIntersection::Perform ( const occ::handle< Adaptor3d_Surface > & Caro1,
const occ::handle< Adaptor3d_TopolTool > & Domain1,
const occ::handle< Adaptor3d_Surface > & Caro2,
const occ::handle< Adaptor3d_TopolTool > & Domain2,
const double TolTangency,
const double Epsilon,
const double Deflection,
const double Increment,
NCollection_List< IntSurf_PntOn2S > & ListOfPnts )

Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.

◆ Perform() [8/8]

void IntPatch_PrmPrmIntersection::Perform ( const occ::handle< Adaptor3d_Surface > & Caro1,
const occ::handle< Adaptor3d_TopolTool > & Domain1,
const occ::handle< Adaptor3d_Surface > & Caro2,
const occ::handle< Adaptor3d_TopolTool > & Domain2,
const double U1,
const double V1,
const double U2,
const double V2,
const double TolTangency,
const double Epsilon,
const double Deflection,
const double Increment )

Performs the intersection between <Caro1> and <Caro2>. The method computes the polyhedron on each surface.

◆ PointDepart()

void IntPatch_PrmPrmIntersection::PointDepart ( occ::handle< IntSurf_LineOn2S > & LineOn2S,
const occ::handle< Adaptor3d_Surface > & S1,
const int SU1,
const int SV1,
const occ::handle< Adaptor3d_Surface > & S2,
const int SU2,
const int SV2 ) const

◆ Remplit()

void IntPatch_PrmPrmIntersection::Remplit ( const int a,
const int b,
const int c,
IntPatch_PrmPrmIntersection_T3Bits & Map ) const

◆ RemplitLin()

void IntPatch_PrmPrmIntersection::RemplitLin ( const int x1,
const int y1,
const int z1,
const int x2,
const int y2,
const int z2,
IntPatch_PrmPrmIntersection_T3Bits & Map ) const

◆ RemplitTri()

void IntPatch_PrmPrmIntersection::RemplitTri ( const int x1,
const int y1,
const int z1,
const int x2,
const int y2,
const int z2,
const int x3,
const int y3,
const int z3,
IntPatch_PrmPrmIntersection_T3Bits & Map ) const

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