Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC > Class Template Reference

Template class for function used to find extremal distance between two curves. This class inherits from math_FunctionSetWithDerivatives and is used by the algorithm math_FunctionSetRoot. More...

#include <Extrema_GFuncExtCC.hxx>

Inheritance diagram for Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >:
Inheritance graph
[legend]

Public Member Functions

 Extrema_GFuncExtCC (const double theTol=1.0e-10)
 Default constructor with tolerance.
 
 Extrema_GFuncExtCC (const TheCurve1 &theC1, const TheCurve2 &theC2, const double theTol=1.0e-10)
 Constructor with curves.
 
void SetCurve (const int theRank, const TheCurve1 &theC)
 Sets the curve for the specified rank (1 or 2).
 
void SetTolerance (const double theTol)
 Sets the tolerance.
 
int NbVariables () const override
 Returns the number of variables (2).
 
int NbEquations () const override
 Returns the number of equations (2).
 
bool Value (const math_Vector &theUV, math_Vector &theF) override
 Calculate Fi(U,V).
 
bool Derivatives (const math_Vector &theUV, math_Matrix &theDF) override
 Calculate Fi'(U,V).
 
bool Values (const math_Vector &theUV, math_Vector &theF, math_Matrix &theDF) override
 Calculate Fi(U,V) and Fi'(U,V).
 
int GetStateNumber () override
 Save the found extremum.
 
int NbExt () const
 Return the number of found extrema.
 
double SquareDistance (const int theN) const
 Return the value of the Nth distance.
 
void Points (const int theN, ThePOnC &theP1, ThePOnC &theP2) const
 Return the points of the Nth extreme distance.
 
voidCurvePtr (const int theRank) const
 Returns a pointer to the curve specified in the constructor or in SetCurve() method.
 
double Tolerance () const
 Returns a tolerance specified in the constructor or in SetTolerance() method.
 
void SubIntervalInitialize (const math_Vector &theUfirst, const math_Vector &theUlast)
 Determines boundaries of subinterval for find of root.
 
double SearchOfTolerance (void *const theC)
 Computes a Tol value. If 1st derivative of curve |D1|<Tol, it is considered D1=0.
 
- Public Member Functions inherited from math_FunctionSet
virtual ~math_FunctionSet ()
 

Detailed Description

template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheVector, typename TheSequenceOfPOnC>
class Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >

Template class for function used to find extremal distance between two curves. This class inherits from math_FunctionSetWithDerivatives and is used by the algorithm math_FunctionSetRoot.

Template Parameters
TheCurve1Type of the first curve (e.g., Adaptor3d_Curve)
TheCurveTool1Tool class for the first curve
TheCurve2Type of the second curve
TheCurveTool2Tool class for the second curve
ThePOnCPoint on curve type (e.g., Extrema_POnCurv)
ThePointPoint type (e.g., gp_Pnt)
TheVectorVector type (e.g., gp_Vec)
TheSequenceOfPOnCSequence of points on curve

Constructor & Destructor Documentation

◆ Extrema_GFuncExtCC() [1/2]

Default constructor with tolerance.

◆ Extrema_GFuncExtCC() [2/2]

Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Extrema_GFuncExtCC ( const TheCurve1 & theC1,
const TheCurve2 & theC2,
const double theTol = 1.0e-10 )

Constructor with curves.

Member Function Documentation

◆ CurvePtr()

void * Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::CurvePtr ( const int theRank) const
inline

Returns a pointer to the curve specified in the constructor or in SetCurve() method.

◆ Derivatives()

bool Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Derivatives ( const math_Vector & theUV,
math_Matrix & theDF )
overridevirtual

Calculate Fi'(U,V).

Implements math_FunctionSetWithDerivatives.

◆ GetStateNumber()

int Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::GetStateNumber ( )
overridevirtual

Save the found extremum.

Reimplemented from math_FunctionSet.

◆ NbEquations()

int Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::NbEquations ( ) const
inlineoverridevirtual

Returns the number of equations (2).

Implements math_FunctionSetWithDerivatives.

◆ NbExt()

int Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::NbExt ( ) const
inline

Return the number of found extrema.

◆ NbVariables()

int Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::NbVariables ( ) const
inlineoverridevirtual

Returns the number of variables (2).

Implements math_FunctionSetWithDerivatives.

◆ Points()

void Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Points ( const int theN,
ThePOnC & theP1,
ThePOnC & theP2 ) const

Return the points of the Nth extreme distance.

◆ SearchOfTolerance()

double Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SearchOfTolerance ( void *const theC)

Computes a Tol value. If 1st derivative of curve |D1|<Tol, it is considered D1=0.

◆ SetCurve()

void Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SetCurve ( const int theRank,
const TheCurve1 & theC )

Sets the curve for the specified rank (1 or 2).

◆ SetTolerance()

void Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SetTolerance ( const double theTol)
inline

Sets the tolerance.

◆ SquareDistance()

double Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SquareDistance ( const int theN) const
inline

Return the value of the Nth distance.

◆ SubIntervalInitialize()

void Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::SubIntervalInitialize ( const math_Vector & theUfirst,
const math_Vector & theUlast )

Determines boundaries of subinterval for find of root.

◆ Tolerance()

double Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Tolerance ( ) const
inline

Returns a tolerance specified in the constructor or in SetTolerance() method.

◆ Value()

bool Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Value ( const math_Vector & theUV,
math_Vector & theF )
overridevirtual

Calculate Fi(U,V).

Implements math_FunctionSetWithDerivatives.

◆ Values()

bool Extrema_GFuncExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheVector, TheSequenceOfPOnC >::Values ( const math_Vector & theUV,
math_Vector & theF,
math_Matrix & theDF )
overridevirtual

Calculate Fi(U,V) and Fi'(U,V).

Implements math_FunctionSetWithDerivatives.


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