Open CASCADE Technology  7.9.3
Public Member Functions | Protected Member Functions
IntPatch_TheIWalking Class Reference

#include <IntPatch_TheIWalking.hxx>

Public Member Functions

 IntPatch_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 IntPatch walking theToFillHoles is False. 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, IntPatch_TheSurfFunction &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, IntPatch_TheSurfFunction &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< IntPatch_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, IntPatch_TheSurfFunction &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 (IntPatch_TheSurfFunction &Section, math_Vector &UV, Standard_Integer &Irang, IntSurf_PntOn2S &PSol)
 
void FillPntsInHoles (IntPatch_TheSurfFunction &Section, TColStd_SequenceOfInteger &CopySeqAlone, IntSurf_SequenceOfInteriorPoint &PntsInHoles)
 
void TestArretCadre (const TColStd_SequenceOfReal &Umult, const TColStd_SequenceOfReal &Vmult, const Handle< IntPatch_TheIWLineOfTheIWalking > &Line, IntPatch_TheSurfFunction &Section, math_Vector &UV, Standard_Integer &Irang)
 
IntWalk_StatusDeflection TestDeflection (IntPatch_TheSurfFunction &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, IntPatch_TheSurfFunction &Section, Standard_Boolean &Rajout)
 
void OpenLine (const Standard_Integer N, const IntSurf_PntOn2S &Psol, const IntSurf_SequenceOfPathPoint &Pnts1, IntPatch_TheSurfFunction &Section, const Handle< IntPatch_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, IntPatch_TheSurfFunction &Section, Standard_Boolean &Rajout)
 
void AddPointInCurrentLine (const Standard_Integer N, const IntSurf_PathPoint &PathPnt, const Handle< IntPatch_TheIWLineOfTheIWalking > &CurrentLine) const
 
void MakeWalkingPoint (const Standard_Integer Case, const Standard_Real U, const Standard_Real V, IntPatch_TheSurfFunction &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, IntPatch_TheSurfFunction &theFunc)
 Returns TRUE if thePOn2S is in one of existing lines. More...
 

Constructor & Destructor Documentation

IntPatch_TheIWalking::IntPatch_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 IntPatch walking theToFillHoles is False.

Member Function Documentation

void IntPatch_TheIWalking::AddPointInCurrentLine ( const Standard_Integer  N,
const IntSurf_PathPoint &  PathPnt,
const Handle< IntPatch_TheIWLineOfTheIWalking > &  CurrentLine 
) const
protected
Standard_Boolean IntPatch_TheIWalking::Cadrage ( math_Vector &  BornInf,
math_Vector &  BornSup,
math_Vector &  UVap,
Standard_Real &  Step,
const Standard_Integer  StepSign 
) const
protected
void IntPatch_TheIWalking::Clear ( )
protected

Clears up internal containers.

void IntPatch_TheIWalking::ComputeCloseLine ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
const IntSurf_SequenceOfPathPoint &  Pnts1,
const IntSurf_SequenceOfInteriorPoint &  Pnts2,
IntPatch_TheSurfFunction &  Section,
Standard_Boolean &  Rajout 
)
protected
void IntPatch_TheIWalking::ComputeOpenLine ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
const IntSurf_SequenceOfPathPoint &  Pnts1,
IntPatch_TheSurfFunction &  Section,
Standard_Boolean &  Rajout 
)
protected
void IntPatch_TheIWalking::FillPntsInHoles ( IntPatch_TheSurfFunction &  Section,
TColStd_SequenceOfInteger &  CopySeqAlone,
IntSurf_SequenceOfInteriorPoint &  PntsInHoles 
)
protected
Standard_Boolean IntPatch_TheIWalking::IsDone ( ) const

Returns true if the calculus was successful.

Standard_Boolean IntPatch_TheIWalking::IsPointOnLine ( const gp_Pnt2d &  theP2d,
const Standard_Integer  Irang 
)
protected
Standard_Boolean 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.

Standard_Boolean IntPatch_TheIWalking::IsValidEndPoint ( const Standard_Integer  IndOfPoint,
const Standard_Integer  IndOfLine 
)
protected
void IntPatch_TheIWalking::MakeWalkingPoint ( const Standard_Integer  Case,
const Standard_Real  U,
const Standard_Real  V,
IntPatch_TheSurfFunction &  Section,
IntSurf_PntOn2S &  Psol 
)
protected
Standard_Integer IntPatch_TheIWalking::NbLines ( ) const

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

Standard_Integer 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.

void IntPatch_TheIWalking::OpenLine ( const Standard_Integer  N,
const IntSurf_PntOn2S &  Psol,
const IntSurf_SequenceOfPathPoint &  Pnts1,
IntPatch_TheSurfFunction &  Section,
const Handle< IntPatch_TheIWLineOfTheIWalking > &  Line 
)
protected
void IntPatch_TheIWalking::Perform ( const IntSurf_SequenceOfPathPoint &  Pnts1,
const IntSurf_SequenceOfInteriorPoint &  Pnts2,
IntPatch_TheSurfFunction &  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.

void IntPatch_TheIWalking::Perform ( const IntSurf_SequenceOfPathPoint &  Pnts1,
IntPatch_TheSurfFunction &  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.

void IntPatch_TheIWalking::RemoveTwoEndPoints ( const Standard_Integer  IndOfPoint)
protected
void IntPatch_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.

const IntSurf_PathPoint& IntPatch_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.

Standard_Boolean IntPatch_TheIWalking::TestArretAjout ( IntPatch_TheSurfFunction &  Section,
math_Vector &  UV,
Standard_Integer &  Irang,
IntSurf_PntOn2S &  PSol 
)
protected
void IntPatch_TheIWalking::TestArretCadre ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
const Handle< IntPatch_TheIWLineOfTheIWalking > &  Line,
IntPatch_TheSurfFunction &  Section,
math_Vector &  UV,
Standard_Integer &  Irang 
)
protected
Standard_Boolean IntPatch_TheIWalking::TestArretPassage ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
IntPatch_TheSurfFunction &  Section,
math_Vector &  UV,
Standard_Integer &  Irang 
)
protected
Standard_Boolean IntPatch_TheIWalking::TestArretPassage ( const TColStd_SequenceOfReal &  Umult,
const TColStd_SequenceOfReal &  Vmult,
const math_Vector &  UV,
const Standard_Integer  Index,
Standard_Integer &  Irang 
)
protected
IntWalk_StatusDeflection IntPatch_TheIWalking::TestDeflection ( IntPatch_TheSurfFunction &  Section,
const Standard_Boolean  Finished,
const math_Vector &  UV,
const IntWalk_StatusDeflection  StatusPrecedent,
Standard_Integer &  NbDivision,
Standard_Real &  Step,
const Standard_Integer  StepSign 
)
protected
const Handle< IntPatch_TheIWLineOfTheIWalking >& IntPatch_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: