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

Template class for computing extremal distances between two curves. The function F(u,v)=distance(C1(u),C2(v)) has an extremum when gradient(f)=0. The algorithm uses Evtushenko's global optimization solver. More...

#include <Extrema_GGenExtCC.hxx>

Public Member Functions

 Extrema_GGenExtCC ()
 Default constructor.
 
 Extrema_GGenExtCC (const TheCurve1 &theC1, const TheCurve2 &theC2)
 Constructor with two curves.
 
 Extrema_GGenExtCC (const TheCurve1 &theC1, const TheCurve2 &theC2, const double theUinf, const double theUsup, const double theVinf, const double theVsup)
 Constructor with two curves and parameter bounds.
 
void SetParams (const TheCurve1 &theC1, const TheCurve2 &theC2, const double theUinf, const double theUsup, const double theVinf, const double theVsup)
 Sets parameters for computation.
 
void SetTolerance (const double theTol)
 Sets the tolerance.
 
void SetSingleSolutionFlag (const bool theFlag)
 Set flag for single extrema computation.
 
bool GetSingleSolutionFlag () const
 Get flag for single extrema computation.
 
void Perform ()
 Performs calculations.
 
bool IsDone () const
 Returns True if the distances are found.
 
bool IsParallel () const
 Returns state of myParallel flag.
 
int NbExt () const
 Returns the number of extremum distances.
 
double SquareDistance (const int theN=1) const
 Returns the value of the Nth square extremum distance.
 
void Points (const int theN, ThePOnC &theP1, ThePOnC &theP2) const
 Returns the points of the Nth extremum distance.
 

Detailed Description

template<typename TheCurve1, typename TheCurveTool1, typename TheCurve2, typename TheCurveTool2, typename ThePOnC, typename ThePoint, typename TheExtPC>
class Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >

Template class for computing extremal distances between two curves. The function F(u,v)=distance(C1(u),C2(v)) has an extremum when gradient(f)=0. The algorithm uses Evtushenko's global optimization solver.

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)
TheExtPCPoint-to-curve extremum class (e.g., Extrema_ExtPC)

Constructor & Destructor Documentation

◆ Extrema_GGenExtCC() [1/3]

Default constructor.

◆ Extrema_GGenExtCC() [2/3]

Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::Extrema_GGenExtCC ( const TheCurve1 & theC1,
const TheCurve2 & theC2 )

Constructor with two curves.

◆ Extrema_GGenExtCC() [3/3]

Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::Extrema_GGenExtCC ( const TheCurve1 & theC1,
const TheCurve2 & theC2,
const double theUinf,
const double theUsup,
const double theVinf,
const double theVsup )

Constructor with two curves and parameter bounds.

Member Function Documentation

◆ GetSingleSolutionFlag()

bool Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::GetSingleSolutionFlag ( ) const

Get flag for single extrema computation.

◆ IsDone()

bool Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::IsDone ( ) const

Returns True if the distances are found.

◆ IsParallel()

bool Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::IsParallel ( ) const

Returns state of myParallel flag.

◆ NbExt()

int Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::NbExt ( ) const

Returns the number of extremum distances.

◆ Perform()

void Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::Perform ( )

Performs calculations.

◆ Points()

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

Returns the points of the Nth extremum distance.

◆ SetParams()

void Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::SetParams ( const TheCurve1 & theC1,
const TheCurve2 & theC2,
const double theUinf,
const double theUsup,
const double theVinf,
const double theVsup )

Sets parameters for computation.

◆ SetSingleSolutionFlag()

void Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::SetSingleSolutionFlag ( const bool theFlag)

Set flag for single extrema computation.

◆ SetTolerance()

void Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::SetTolerance ( const double theTol)

Sets the tolerance.

◆ SquareDistance()

double Extrema_GGenExtCC< TheCurve1, TheCurveTool1, TheCurve2, TheCurveTool2, ThePOnC, ThePoint, TheExtPC >::SquareDistance ( const int theN = 1) const

Returns the value of the Nth square extremum distance.


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