Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions
IntPatch_TheIWalking Class Reference

#include <IntPatch_TheIWalking.hxx>

Public Member Functions

 IntPatch_TheIWalking (const double Epsilon, const double Deflection, const double Step, const bool theToFillHoles=false)
 Deflection is the maximum deflection admitted between two consecutive points on a resulting polyline. Step is the maximum increment admitted between two consecutive points (in 2d space). Epsilon is the tolerance beyond which 2 points are confused. theToFillHoles is the flag defining whether possible holes between resulting curves are filled or not in case of IntPatch walking theToFillHoles is False.
 
void SetTolerance (const double Epsilon, const double Deflection, const double Step)
 Deflection is the maximum deflection admitted between two consecutive points on a resulting polyline. Step is the maximum increment admitted between two consecutive points (in 2d space). Epsilon is the tolerance beyond which 2 points are confused.
 
void Perform (const NCollection_Sequence< IntSurf_PathPoint > &Pnts1, const NCollection_Sequence< IntSurf_InteriorPoint > &Pnts2, IntPatch_TheSurfFunction &Func, const occ::handle< Adaptor3d_Surface > &S, const bool Reversed=false)
 Searches a set of polylines starting on a point of Pnts1 or Pnts2. Each point on a resulting polyline verifies F(u,v)=0.
 
void Perform (const NCollection_Sequence< IntSurf_PathPoint > &Pnts1, IntPatch_TheSurfFunction &Func, const occ::handle< Adaptor3d_Surface > &S, const bool Reversed=false)
 Searches a set of polylines starting on a point of Pnts1. Each point on a resulting polyline verifies F(u,v)=0.
 
bool IsDone () const
 Returns true if the calculus was successful.
 
int NbLines () const
 Returns the number of resulting polylines. An exception is raised if IsDone returns False.
 
const occ::handle< IntPatch_TheIWLineOfTheIWalking > & Value (const int Index) const
 Returns the polyline of range Index. An exception is raised if IsDone is False. An exception is raised if Index<=0 or Index>NbLines.
 
int NbSinglePnts () const
 Returns the number of points belonging to Pnts on which no line starts or ends. An exception is raised if IsDone returns False.
 
const IntSurf_PathPointSinglePnt (const int Index) const
 Returns the point of range Index . An exception is raised if IsDone returns False. An exception is raised if Index<=0 or Index > NbSinglePnts.
 

Protected Member Functions

bool Cadrage (math_Vector &BornInf, math_Vector &BornSup, math_Vector &UVap, double &Step, const int StepSign) const
 
bool TestArretPassage (const NCollection_Sequence< double > &Umult, const NCollection_Sequence< double > &Vmult, IntPatch_TheSurfFunction &Section, math_Vector &UV, int &Irang)
 
bool TestArretPassage (const NCollection_Sequence< double > &Umult, const NCollection_Sequence< double > &Vmult, const math_Vector &UV, const int Index, int &Irang)
 
bool TestArretAjout (IntPatch_TheSurfFunction &Section, math_Vector &UV, int &Irang, IntSurf_PntOn2S &PSol)
 
void FillPntsInHoles (IntPatch_TheSurfFunction &Section, NCollection_Sequence< int > &CopySeqAlone, NCollection_Sequence< IntSurf_InteriorPoint > &PntsInHoles)
 
void TestArretCadre (const NCollection_Sequence< double > &Umult, const NCollection_Sequence< double > &Vmult, const occ::handle< IntPatch_TheIWLineOfTheIWalking > &Line, IntPatch_TheSurfFunction &Section, math_Vector &UV, int &Irang)
 
IntWalk_StatusDeflection TestDeflection (IntPatch_TheSurfFunction &Section, const bool Finished, const math_Vector &UV, const IntWalk_StatusDeflection StatusPrecedent, int &NbDivision, double &Step, const int StepSign)
 
void ComputeOpenLine (const NCollection_Sequence< double > &Umult, const NCollection_Sequence< double > &Vmult, const NCollection_Sequence< IntSurf_PathPoint > &Pnts1, IntPatch_TheSurfFunction &Section, bool &Rajout)
 
void OpenLine (const int N, const IntSurf_PntOn2S &Psol, const NCollection_Sequence< IntSurf_PathPoint > &Pnts1, IntPatch_TheSurfFunction &Section, const occ::handle< IntPatch_TheIWLineOfTheIWalking > &Line)
 
bool IsValidEndPoint (const int IndOfPoint, const int IndOfLine)
 
void RemoveTwoEndPoints (const int IndOfPoint)
 
bool IsPointOnLine (const gp_Pnt2d &theP2d, const int Irang)
 
void ComputeCloseLine (const NCollection_Sequence< double > &Umult, const NCollection_Sequence< double > &Vmult, const NCollection_Sequence< IntSurf_PathPoint > &Pnts1, const NCollection_Sequence< IntSurf_InteriorPoint > &Pnts2, IntPatch_TheSurfFunction &Section, bool &Rajout)
 
void AddPointInCurrentLine (const int N, const IntSurf_PathPoint &PathPnt, const occ::handle< IntPatch_TheIWLineOfTheIWalking > &CurrentLine) const
 
void MakeWalkingPoint (const int Case, const double U, const double V, IntPatch_TheSurfFunction &Section, IntSurf_PntOn2S &Psol)
 
void Clear ()
 Clears up internal containers.
 
bool IsPointOnLine (const IntSurf_PntOn2S &thePOn2S, const math_Vector &theInfBounds, const math_Vector &theSupBounds, math_FunctionSetRoot &theSolver, IntPatch_TheSurfFunction &theFunc)
 Returns TRUE if thePOn2S is in one of existing lines.
 

Constructor & Destructor Documentation

◆ IntPatch_TheIWalking()

IntPatch_TheIWalking::IntPatch_TheIWalking ( const double Epsilon,
const double Deflection,
const double Step,
const bool theToFillHoles = false )

Deflection is the maximum deflection admitted between two consecutive points on a resulting polyline. Step is the maximum increment admitted between two consecutive points (in 2d space). Epsilon is the tolerance beyond which 2 points are confused. theToFillHoles is the flag defining whether possible holes between resulting curves are filled or not in case of IntPatch walking theToFillHoles is False.

Member Function Documentation

◆ AddPointInCurrentLine()

void IntPatch_TheIWalking::AddPointInCurrentLine ( const int N,
const IntSurf_PathPoint & PathPnt,
const occ::handle< IntPatch_TheIWLineOfTheIWalking > & CurrentLine ) const
protected

◆ Cadrage()

bool IntPatch_TheIWalking::Cadrage ( math_Vector & BornInf,
math_Vector & BornSup,
math_Vector & UVap,
double & Step,
const int StepSign ) const
protected

◆ Clear()

void IntPatch_TheIWalking::Clear ( )
protected

Clears up internal containers.

◆ ComputeCloseLine()

void IntPatch_TheIWalking::ComputeCloseLine ( const NCollection_Sequence< double > & Umult,
const NCollection_Sequence< double > & Vmult,
const NCollection_Sequence< IntSurf_PathPoint > & Pnts1,
const NCollection_Sequence< IntSurf_InteriorPoint > & Pnts2,
IntPatch_TheSurfFunction & Section,
bool & Rajout )
protected

◆ ComputeOpenLine()

void IntPatch_TheIWalking::ComputeOpenLine ( const NCollection_Sequence< double > & Umult,
const NCollection_Sequence< double > & Vmult,
const NCollection_Sequence< IntSurf_PathPoint > & Pnts1,
IntPatch_TheSurfFunction & Section,
bool & Rajout )
protected

◆ FillPntsInHoles()

void IntPatch_TheIWalking::FillPntsInHoles ( IntPatch_TheSurfFunction & Section,
NCollection_Sequence< int > & CopySeqAlone,
NCollection_Sequence< IntSurf_InteriorPoint > & PntsInHoles )
protected

◆ IsDone()

bool IntPatch_TheIWalking::IsDone ( ) const

Returns true if the calculus was successful.

◆ IsPointOnLine() [1/2]

bool IntPatch_TheIWalking::IsPointOnLine ( const gp_Pnt2d & theP2d,
const int Irang )
protected

◆ IsPointOnLine() [2/2]

bool IntPatch_TheIWalking::IsPointOnLine ( const IntSurf_PntOn2S & thePOn2S,
const math_Vector & theInfBounds,
const math_Vector & theSupBounds,
math_FunctionSetRoot & theSolver,
IntPatch_TheSurfFunction & theFunc )
protected

Returns TRUE if thePOn2S is in one of existing lines.

◆ IsValidEndPoint()

bool IntPatch_TheIWalking::IsValidEndPoint ( const int IndOfPoint,
const int IndOfLine )
protected

◆ MakeWalkingPoint()

void IntPatch_TheIWalking::MakeWalkingPoint ( const int Case,
const double U,
const double V,
IntPatch_TheSurfFunction & Section,
IntSurf_PntOn2S & Psol )
protected

◆ NbLines()

int IntPatch_TheIWalking::NbLines ( ) const

Returns the number of resulting polylines. An exception is raised if IsDone returns False.

◆ NbSinglePnts()

int IntPatch_TheIWalking::NbSinglePnts ( ) const

Returns the number of points belonging to Pnts on which no line starts or ends. An exception is raised if IsDone returns False.

◆ OpenLine()

void IntPatch_TheIWalking::OpenLine ( const int N,
const IntSurf_PntOn2S & Psol,
const NCollection_Sequence< IntSurf_PathPoint > & Pnts1,
IntPatch_TheSurfFunction & Section,
const occ::handle< IntPatch_TheIWLineOfTheIWalking > & Line )
protected

◆ Perform() [1/2]

void IntPatch_TheIWalking::Perform ( const NCollection_Sequence< IntSurf_PathPoint > & Pnts1,
const NCollection_Sequence< IntSurf_InteriorPoint > & Pnts2,
IntPatch_TheSurfFunction & Func,
const occ::handle< Adaptor3d_Surface > & S,
const bool Reversed = false )

Searches a set of polylines starting on a point of Pnts1 or Pnts2. Each point on a resulting polyline verifies F(u,v)=0.

◆ Perform() [2/2]

void IntPatch_TheIWalking::Perform ( const NCollection_Sequence< IntSurf_PathPoint > & Pnts1,
IntPatch_TheSurfFunction & Func,
const occ::handle< Adaptor3d_Surface > & S,
const bool Reversed = false )

Searches a set of polylines starting on a point of Pnts1. Each point on a resulting polyline verifies F(u,v)=0.

◆ RemoveTwoEndPoints()

void IntPatch_TheIWalking::RemoveTwoEndPoints ( const int IndOfPoint)
protected

◆ SetTolerance()

void IntPatch_TheIWalking::SetTolerance ( const double Epsilon,
const double Deflection,
const double Step )

Deflection is the maximum deflection admitted between two consecutive points on a resulting polyline. Step is the maximum increment admitted between two consecutive points (in 2d space). Epsilon is the tolerance beyond which 2 points are confused.

◆ SinglePnt()

const IntSurf_PathPoint & IntPatch_TheIWalking::SinglePnt ( const int Index) const

Returns the point of range Index . An exception is raised if IsDone returns False. An exception is raised if Index<=0 or Index > NbSinglePnts.

◆ TestArretAjout()

bool IntPatch_TheIWalking::TestArretAjout ( IntPatch_TheSurfFunction & Section,
math_Vector & UV,
int & Irang,
IntSurf_PntOn2S & PSol )
protected

◆ TestArretCadre()

void IntPatch_TheIWalking::TestArretCadre ( const NCollection_Sequence< double > & Umult,
const NCollection_Sequence< double > & Vmult,
const occ::handle< IntPatch_TheIWLineOfTheIWalking > & Line,
IntPatch_TheSurfFunction & Section,
math_Vector & UV,
int & Irang )
protected

◆ TestArretPassage() [1/2]

bool IntPatch_TheIWalking::TestArretPassage ( const NCollection_Sequence< double > & Umult,
const NCollection_Sequence< double > & Vmult,
const math_Vector & UV,
const int Index,
int & Irang )
protected

◆ TestArretPassage() [2/2]

bool IntPatch_TheIWalking::TestArretPassage ( const NCollection_Sequence< double > & Umult,
const NCollection_Sequence< double > & Vmult,
IntPatch_TheSurfFunction & Section,
math_Vector & UV,
int & Irang )
protected

◆ TestDeflection()

IntWalk_StatusDeflection IntPatch_TheIWalking::TestDeflection ( IntPatch_TheSurfFunction & Section,
const bool Finished,
const math_Vector & UV,
const IntWalk_StatusDeflection StatusPrecedent,
int & NbDivision,
double & Step,
const int StepSign )
protected

◆ Value()

const occ::handle< IntPatch_TheIWLineOfTheIWalking > & IntPatch_TheIWalking::Value ( const int Index) const

Returns the polyline of range Index. An exception is raised if IsDone is False. An exception is raised if Index<=0 or Index>NbLines.


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