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

#include <Contap_TheIWalking.hxx>

Public Member Functions

 Contap_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 Contap walking theToFillHoles is True.
 
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, Contap_SurfFunction &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, Contap_SurfFunction &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< Contap_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, Contap_SurfFunction &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 (Contap_SurfFunction &Section, math_Vector &UV, int &Irang, IntSurf_PntOn2S &PSol)
 
void FillPntsInHoles (Contap_SurfFunction &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< Contap_TheIWLineOfTheIWalking > &Line, Contap_SurfFunction &Section, math_Vector &UV, int &Irang)
 
IntWalk_StatusDeflection TestDeflection (Contap_SurfFunction &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, Contap_SurfFunction &Section, bool &Rajout)
 
void OpenLine (const int N, const IntSurf_PntOn2S &Psol, const NCollection_Sequence< IntSurf_PathPoint > &Pnts1, Contap_SurfFunction &Section, const occ::handle< Contap_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, Contap_SurfFunction &Section, bool &Rajout)
 
void AddPointInCurrentLine (const int N, const IntSurf_PathPoint &PathPnt, const occ::handle< Contap_TheIWLineOfTheIWalking > &CurrentLine) const
 
void MakeWalkingPoint (const int Case, const double U, const double V, Contap_SurfFunction &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, Contap_SurfFunction &theFunc)
 Returns TRUE if thePOn2S is in one of existing lines.
 

Constructor & Destructor Documentation

◆ Contap_TheIWalking()

Contap_TheIWalking::Contap_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 Contap walking theToFillHoles is True.

Member Function Documentation

◆ AddPointInCurrentLine()

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

◆ Cadrage()

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

◆ Clear()

void Contap_TheIWalking::Clear ( )
protected

Clears up internal containers.

◆ ComputeCloseLine()

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

◆ ComputeOpenLine()

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

◆ FillPntsInHoles()

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

◆ IsDone()

bool Contap_TheIWalking::IsDone ( ) const

Returns true if the calculus was successful.

◆ IsPointOnLine() [1/2]

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

◆ IsPointOnLine() [2/2]

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

Returns TRUE if thePOn2S is in one of existing lines.

◆ IsValidEndPoint()

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

◆ MakeWalkingPoint()

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

◆ NbLines()

int Contap_TheIWalking::NbLines ( ) const

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

◆ NbSinglePnts()

int Contap_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 Contap_TheIWalking::OpenLine ( const int N,
const IntSurf_PntOn2S & Psol,
const NCollection_Sequence< IntSurf_PathPoint > & Pnts1,
Contap_SurfFunction & Section,
const occ::handle< Contap_TheIWLineOfTheIWalking > & Line )
protected

◆ Perform() [1/2]

void Contap_TheIWalking::Perform ( const NCollection_Sequence< IntSurf_PathPoint > & Pnts1,
const NCollection_Sequence< IntSurf_InteriorPoint > & Pnts2,
Contap_SurfFunction & 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 Contap_TheIWalking::Perform ( const NCollection_Sequence< IntSurf_PathPoint > & Pnts1,
Contap_SurfFunction & 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 Contap_TheIWalking::RemoveTwoEndPoints ( const int IndOfPoint)
protected

◆ SetTolerance()

void Contap_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 & Contap_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 Contap_TheIWalking::TestArretAjout ( Contap_SurfFunction & Section,
math_Vector & UV,
int & Irang,
IntSurf_PntOn2S & PSol )
protected

◆ TestArretCadre()

void Contap_TheIWalking::TestArretCadre ( const NCollection_Sequence< double > & Umult,
const NCollection_Sequence< double > & Vmult,
const occ::handle< Contap_TheIWLineOfTheIWalking > & Line,
Contap_SurfFunction & Section,
math_Vector & UV,
int & Irang )
protected

◆ TestArretPassage() [1/2]

bool Contap_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 Contap_TheIWalking::TestArretPassage ( const NCollection_Sequence< double > & Umult,
const NCollection_Sequence< double > & Vmult,
Contap_SurfFunction & Section,
math_Vector & UV,
int & Irang )
protected

◆ TestDeflection()

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

◆ Value()

const occ::handle< Contap_TheIWLineOfTheIWalking > & Contap_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: