Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
GeomGridEval_Circle Class Reference

Efficient batch evaluator for circle grid points. More...

#include <GeomGridEval_Circle.hxx>

Public Member Functions

 GeomGridEval_Circle (const occ::handle< Geom_Circle > &theCircle)
 Constructor with geometry.
 
 GeomGridEval_Circle (const GeomGridEval_Circle &)=delete
 Non-copyable and non-movable.
 
GeomGridEval_Circleoperator= (const GeomGridEval_Circle &)=delete
 
 GeomGridEval_Circle (GeomGridEval_Circle &&)=delete
 
GeomGridEval_Circleoperator= (GeomGridEval_Circle &&)=delete
 
const occ::handle< Geom_Circle > & Geometry () const
 Returns the geometry handle.
 
NCollection_Array1< gp_PntEvaluateGrid (const NCollection_Array1< double > &theParams) const
 Evaluate all grid points.
 
NCollection_Array1< GeomGridEval::CurveD1EvaluateGridD1 (const NCollection_Array1< double > &theParams) const
 Evaluate all grid points with first derivative. D1 = R * (-sin(u) * XDir + cos(u) * YDir)
 
NCollection_Array1< GeomGridEval::CurveD2EvaluateGridD2 (const NCollection_Array1< double > &theParams) const
 Evaluate all grid points with first and second derivatives. D2 = R * (-cos(u) * XDir - sin(u) * YDir) = -P (relative to center)
 
NCollection_Array1< GeomGridEval::CurveD3EvaluateGridD3 (const NCollection_Array1< double > &theParams) const
 Evaluate all grid points with first, second, and third derivatives. D3 = R * (sin(u) * XDir - cos(u) * YDir) = -D1.
 
NCollection_Array1< gp_VecEvaluateGridDN (const NCollection_Array1< double > &theParams, int theN) const
 Evaluate Nth derivative at all grid points. Circle has cyclic derivatives with period 4: D1 = R * (-sin(u) * X + cos(u) * Y) D2 = R * (-cos(u) * X - sin(u) * Y) D3 = R * (sin(u) * X - cos(u) * Y) D4 = R * (cos(u) * X + sin(u) * Y) = D0, then repeats.
 

Detailed Description

Efficient batch evaluator for circle grid points.

Uses analytical formula: P(u) = Center + R * (cos(u) * XDir + sin(u) * YDir)

Usage:

NCollection_Array1<gp_Pnt> aGrid = anEvaluator.EvaluateGrid(myParams);
Efficient batch evaluator for circle grid points.
Definition GeomGridEval_Circle.hxx:33
STL input iterator that wraps an OCCT More()/Next() iterator.
Definition NCollection_ForwardRange.hxx:142

Constructor & Destructor Documentation

◆ GeomGridEval_Circle() [1/3]

GeomGridEval_Circle::GeomGridEval_Circle ( const occ::handle< Geom_Circle > & theCircle)
inline

Constructor with geometry.

Parameters
theCirclethe circle geometry to evaluate

◆ GeomGridEval_Circle() [2/3]

GeomGridEval_Circle::GeomGridEval_Circle ( const GeomGridEval_Circle & )
delete

Non-copyable and non-movable.

◆ GeomGridEval_Circle() [3/3]

GeomGridEval_Circle::GeomGridEval_Circle ( GeomGridEval_Circle && )
delete

Member Function Documentation

◆ EvaluateGrid()

NCollection_Array1< gp_Pnt > GeomGridEval_Circle::EvaluateGrid ( const NCollection_Array1< double > & theParams) const

Evaluate all grid points.

Parameters
theParamsarray of parameter values (angles in radians)
Returns
array of evaluated points (1-based indexing), or empty array if geometry is null or no parameters

◆ EvaluateGridD1()

NCollection_Array1< GeomGridEval::CurveD1 > GeomGridEval_Circle::EvaluateGridD1 ( const NCollection_Array1< double > & theParams) const

Evaluate all grid points with first derivative. D1 = R * (-sin(u) * XDir + cos(u) * YDir)

Parameters
theParamsarray of parameter values
Returns
array of CurveD1 (1-based indexing), or empty array if geometry is null or no parameters

◆ EvaluateGridD2()

NCollection_Array1< GeomGridEval::CurveD2 > GeomGridEval_Circle::EvaluateGridD2 ( const NCollection_Array1< double > & theParams) const

Evaluate all grid points with first and second derivatives. D2 = R * (-cos(u) * XDir - sin(u) * YDir) = -P (relative to center)

Parameters
theParamsarray of parameter values
Returns
array of CurveD2 (1-based indexing), or empty array if geometry is null or no parameters

◆ EvaluateGridD3()

NCollection_Array1< GeomGridEval::CurveD3 > GeomGridEval_Circle::EvaluateGridD3 ( const NCollection_Array1< double > & theParams) const

Evaluate all grid points with first, second, and third derivatives. D3 = R * (sin(u) * XDir - cos(u) * YDir) = -D1.

Parameters
theParamsarray of parameter values
Returns
array of CurveD3 (1-based indexing), or empty array if geometry is null or no parameters

◆ EvaluateGridDN()

NCollection_Array1< gp_Vec > GeomGridEval_Circle::EvaluateGridDN ( const NCollection_Array1< double > & theParams,
int theN ) const

Evaluate Nth derivative at all grid points. Circle has cyclic derivatives with period 4: D1 = R * (-sin(u) * X + cos(u) * Y) D2 = R * (-cos(u) * X - sin(u) * Y) D3 = R * (sin(u) * X - cos(u) * Y) D4 = R * (cos(u) * X + sin(u) * Y) = D0, then repeats.

Parameters
theParamsarray of parameter values
theNderivative order (N >= 1)
Returns
array of derivative vectors (1-based indexing), or empty array if geometry is null or no parameters

◆ Geometry()

const occ::handle< Geom_Circle > & GeomGridEval_Circle::Geometry ( ) const
inline

Returns the geometry handle.

◆ operator=() [1/2]

GeomGridEval_Circle & GeomGridEval_Circle::operator= ( const GeomGridEval_Circle & )
delete

◆ operator=() [2/2]

GeomGridEval_Circle & GeomGridEval_Circle::operator= ( GeomGridEval_Circle && )
delete

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