Open CASCADE Technology  7.7.0
Public Member Functions | Protected Member Functions
Contap_TheIWalking Class Reference

#include <Contap_TheIWalking.hxx>

Public Member Functions

 Contap_TheIWalking (const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real Step, const Standard_Boolean theToFillHoles=Standard_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. More...
 
void SetTolerance (const Standard_Real Epsilon, const Standard_Real Deflection, const Standard_Real 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. More...
 
void Perform (const IntSurf_SequenceOfPathPoint &Pnts1, const IntSurf_SequenceOfInteriorPoint &Pnts2, Contap_SurfFunction &Func, const Handle< Adaptor3d_Surface > &S, const Standard_Boolean Reversed=Standard_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. More...
 
void Perform (const IntSurf_SequenceOfPathPoint &Pnts1, Contap_SurfFunction &Func, const Handle< Adaptor3d_Surface > &S, const Standard_Boolean Reversed=Standard_False)
 Searches a set of polylines starting on a point of Pnts1. Each point on a resulting polyline verifies F(u,v)=0. More...
 
Standard_Boolean IsDone () const
 Returns true if the calculus was successful. More...
 
Standard_Integer NbLines () const
 Returns the number of resulting polylines. An exception is raised if IsDone returns False. More...
 
const Handle< Contap_TheIWLineOfTheIWalking > & Value (const Standard_Integer 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. More...
 
Standard_Integer 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. More...
 
const IntSurf_PathPoint & SinglePnt (const Standard_Integer 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. More...
 

Protected Member Functions

Standard_Boolean Cadrage (math_Vector &BornInf, math_Vector &BornSup, math_Vector &UVap, Standard_Real &Step, const Standard_Integer StepSign) const
 
Standard_Boolean TestArretPassage (const TColStd_SequenceOfReal &Umult, const TColStd_SequenceOfReal &Vmult, Contap_SurfFunction &Section, math_Vector &UV, Standard_Integer &Irang)
 
Standard_Boolean TestArretPassage (const TColStd_SequenceOfReal &Umult, const TColStd_SequenceOfReal &Vmult, const math_Vector &UV, const Standard_Integer Index, Standard_Integer &Irang)
 
Standard_Boolean TestArretAjout (Contap_SurfFunction &Section, math_Vector &UV, Standard_Integer &Irang, IntSurf_PntOn2S &PSol)
 
void FillPntsInHoles (Contap_SurfFunction &Section, TColStd_SequenceOfInteger &CopySeqAlone, IntSurf_SequenceOfInteriorPoint &PntsInHoles)
 
void TestArretCadre (const TColStd_SequenceOfReal &Umult, const TColStd_SequenceOfReal &Vmult, const Handle< Contap_TheIWLineOfTheIWalking > &Line, Contap_SurfFunction &Section, math_Vector &UV, Standard_Integer &Irang)
 
IntWalk_StatusDeflection TestDeflection (Contap_SurfFunction &Section, const Standard_Boolean Finished, const math_Vector &UV, const IntWalk_StatusDeflection StatusPrecedent, Standard_Integer &NbDivision, Standard_Real &Step, const Standard_Integer StepSign)
 
void ComputeOpenLine (const TColStd_SequenceOfReal &Umult, const TColStd_SequenceOfReal &Vmult, const IntSurf_SequenceOfPathPoint &Pnts1, Contap_SurfFunction &Section, Standard_Boolean &Rajout)
 
void OpenLine (const Standard_Integer N, const IntSurf_PntOn2S &Psol, const IntSurf_SequenceOfPathPoint &Pnts1, Contap_SurfFunction &Section, const Handle< Contap_TheIWLineOfTheIWalking > &Line)
 
Standard_Boolean IsValidEndPoint (const Standard_Integer IndOfPoint, const Standard_Integer IndOfLine)
 
void RemoveTwoEndPoints (const Standard_Integer IndOfPoint)
 
Standard_Boolean IsPointOnLine (const gp_Pnt2d &theP2d, const Standard_Integer Irang)
 
void ComputeCloseLine (const TColStd_SequenceOfReal &Umult, const TColStd_SequenceOfReal &Vmult, const IntSurf_SequenceOfPathPoint &Pnts1, const IntSurf_SequenceOfInteriorPoint &Pnts2, Contap_SurfFunction &Section, Standard_Boolean &Rajout)
 
void AddPointInCurrentLine (const Standard_Integer N, const IntSurf_PathPoint &PathPnt, const Handle< Contap_TheIWLineOfTheIWalking > &CurrentLine) const
 
void MakeWalkingPoint (const Standard_Integer Case, const Standard_Real U, const Standard_Real V, Contap_SurfFunction &Section, IntSurf_PntOn2S &Psol)
 
void Clear ()
 Clears up internal containers. More...
 
Standard_Boolean 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. More...
 

Constructor & Destructor Documentation

◆ Contap_TheIWalking()

Contap_TheIWalking::Contap_TheIWalking ( const Standard_Real  Epsilon,
const Standard_Real  Deflection,
const Standard_Real  Step,
const Standard_Boolean  theToFillHoles = Standard_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 Standard_Integer  N,
const IntSurf_PathPoint &  PathPnt,
const Handle< Contap_TheIWLineOfTheIWalking > &  CurrentLine 
) const
protected

◆ Cadrage()

Standard_Boolean Contap_TheIWalking::Cadrage ( math_Vector &  BornInf,
math_Vector &  BornSup,
math_Vector &  UVap,
Standard_Real &  Step,
const Standard_Integer  StepSign 
) const
protected

◆ Clear()

void Contap_TheIWalking::Clear ( )
protected

Clears up internal containers.

◆ ComputeCloseLine()

void Contap_TheIWalking::ComputeCloseLine ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
const IntSurf_SequenceOfPathPoint &  Pnts1,
const IntSurf_SequenceOfInteriorPoint &  Pnts2,
Contap_SurfFunction &  Section,
Standard_Boolean &  Rajout 
)
protected

◆ ComputeOpenLine()

void Contap_TheIWalking::ComputeOpenLine ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
const IntSurf_SequenceOfPathPoint &  Pnts1,
Contap_SurfFunction &  Section,
Standard_Boolean &  Rajout 
)
protected

◆ FillPntsInHoles()

void Contap_TheIWalking::FillPntsInHoles ( Contap_SurfFunction &  Section,
TColStd_SequenceOfInteger &  CopySeqAlone,
IntSurf_SequenceOfInteriorPoint &  PntsInHoles 
)
protected

◆ IsDone()

Standard_Boolean Contap_TheIWalking::IsDone ( ) const

Returns true if the calculus was successful.

◆ IsPointOnLine() [1/2]

Standard_Boolean Contap_TheIWalking::IsPointOnLine ( const gp_Pnt2d &  theP2d,
const Standard_Integer  Irang 
)
protected

◆ IsPointOnLine() [2/2]

Standard_Boolean 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()

Standard_Boolean Contap_TheIWalking::IsValidEndPoint ( const Standard_Integer  IndOfPoint,
const Standard_Integer  IndOfLine 
)
protected

◆ MakeWalkingPoint()

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

◆ NbLines()

Standard_Integer Contap_TheIWalking::NbLines ( ) const

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

◆ NbSinglePnts()

Standard_Integer 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 Standard_Integer  N,
const IntSurf_PntOn2S &  Psol,
const IntSurf_SequenceOfPathPoint &  Pnts1,
Contap_SurfFunction &  Section,
const Handle< Contap_TheIWLineOfTheIWalking > &  Line 
)
protected

◆ Perform() [1/2]

void Contap_TheIWalking::Perform ( const IntSurf_SequenceOfPathPoint &  Pnts1,
const IntSurf_SequenceOfInteriorPoint &  Pnts2,
Contap_SurfFunction &  Func,
const Handle< Adaptor3d_Surface > &  S,
const Standard_Boolean  Reversed = Standard_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 IntSurf_SequenceOfPathPoint &  Pnts1,
Contap_SurfFunction &  Func,
const Handle< Adaptor3d_Surface > &  S,
const Standard_Boolean  Reversed = Standard_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 Standard_Integer  IndOfPoint)
protected

◆ SetTolerance()

void Contap_TheIWalking::SetTolerance ( const Standard_Real  Epsilon,
const Standard_Real  Deflection,
const Standard_Real  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 Standard_Integer  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()

Standard_Boolean Contap_TheIWalking::TestArretAjout ( Contap_SurfFunction &  Section,
math_Vector &  UV,
Standard_Integer &  Irang,
IntSurf_PntOn2S &  PSol 
)
protected

◆ TestArretCadre()

void Contap_TheIWalking::TestArretCadre ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
const Handle< Contap_TheIWLineOfTheIWalking > &  Line,
Contap_SurfFunction &  Section,
math_Vector &  UV,
Standard_Integer &  Irang 
)
protected

◆ TestArretPassage() [1/2]

Standard_Boolean Contap_TheIWalking::TestArretPassage ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
Contap_SurfFunction &  Section,
math_Vector &  UV,
Standard_Integer &  Irang 
)
protected

◆ TestArretPassage() [2/2]

Standard_Boolean Contap_TheIWalking::TestArretPassage ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
const math_Vector &  UV,
const Standard_Integer  Index,
Standard_Integer &  Irang 
)
protected

◆ TestDeflection()

IntWalk_StatusDeflection Contap_TheIWalking::TestDeflection ( Contap_SurfFunction &  Section,
const Standard_Boolean  Finished,
const math_Vector &  UV,
const IntWalk_StatusDeflection  StatusPrecedent,
Standard_Integer &  NbDivision,
Standard_Real &  Step,
const Standard_Integer  StepSign 
)
protected

◆ Value()

const Handle< Contap_TheIWLineOfTheIWalking >& Contap_TheIWalking::Value ( const Standard_Integer  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: