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

Optimized batch evaluator for revolution surface grid points. More...

#include <GeomGridEval_SurfaceOfRevolution.hxx>

Public Member Functions

 GeomGridEval_SurfaceOfRevolution (const occ::handle< Geom_SurfaceOfRevolution > &theRevolution)
 Constructor with geometry.
 
 GeomGridEval_SurfaceOfRevolution (const GeomGridEval_SurfaceOfRevolution &)=delete
 Non-copyable and non-movable.
 
GeomGridEval_SurfaceOfRevolutionoperator= (const GeomGridEval_SurfaceOfRevolution &)=delete
 
 GeomGridEval_SurfaceOfRevolution (GeomGridEval_SurfaceOfRevolution &&)=delete
 
GeomGridEval_SurfaceOfRevolutionoperator= (GeomGridEval_SurfaceOfRevolution &&)=delete
 
const occ::handle< Geom_SurfaceOfRevolution > & Geometry () const
 Returns the geometry handle.
 
NCollection_Array2< gp_PntEvaluateGrid (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const
 Evaluate all grid points.
 
NCollection_Array2< GeomGridEval::SurfD1EvaluateGridD1 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const
 Evaluate all grid points with first partial derivatives.
 
NCollection_Array2< GeomGridEval::SurfD2EvaluateGridD2 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const
 Evaluate all grid points with first and second partial derivatives.
 
NCollection_Array2< GeomGridEval::SurfD3EvaluateGridD3 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const
 Evaluate all grid points with derivatives up to third order.
 
NCollection_Array2< gp_VecEvaluateGridDN (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams, int theNU, int theNV) const
 Evaluate partial derivative d^(NU+NV)S/(dU^NU dV^NV) at all grid points.
 

Detailed Description

Optimized batch evaluator for revolution surface grid points.

Evaluates the revolution surface formula: S(u, v) = Rotation(u, Axis) * C(v)

Where:

Optimization: Uses GeomGridEval_Curve for batch evaluation of the basis curve, then applies rotation transformations. Precomputes sin/cos values for each U parameter.

Mathematical formulas for derivatives:

Usage:

NCollection_Array2<gp_Pnt> aGrid = anEvaluator.EvaluateGrid(myUParams, myVParams);
Optimized batch evaluator for revolution surface grid points.
Definition GeomGridEval_SurfaceOfRevolution.hxx:56
STL input iterator that wraps an OCCT More()/Next() iterator.
Definition NCollection_ForwardRange.hxx:142

Constructor & Destructor Documentation

◆ GeomGridEval_SurfaceOfRevolution() [1/3]

GeomGridEval_SurfaceOfRevolution::GeomGridEval_SurfaceOfRevolution ( const occ::handle< Geom_SurfaceOfRevolution > & theRevolution)

Constructor with geometry.

Parameters
theRevolutionthe revolution surface geometry to evaluate

◆ GeomGridEval_SurfaceOfRevolution() [2/3]

GeomGridEval_SurfaceOfRevolution::GeomGridEval_SurfaceOfRevolution ( const GeomGridEval_SurfaceOfRevolution & )
delete

Non-copyable and non-movable.

◆ GeomGridEval_SurfaceOfRevolution() [3/3]

GeomGridEval_SurfaceOfRevolution::GeomGridEval_SurfaceOfRevolution ( GeomGridEval_SurfaceOfRevolution && )
delete

Member Function Documentation

◆ EvaluateGrid()

NCollection_Array2< gp_Pnt > GeomGridEval_SurfaceOfRevolution::EvaluateGrid ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams ) const

Evaluate all grid points.

Parameters
[in]theUParamsarray of U parameter values (rotation angle)
[in]theVParamsarray of V parameter values (curve parameter)
Returns
2D array of evaluated points (1-based indexing), or empty array if geometry is null or no parameters set

◆ EvaluateGridD1()

NCollection_Array2< GeomGridEval::SurfD1 > GeomGridEval_SurfaceOfRevolution::EvaluateGridD1 ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams ) const

Evaluate all grid points with first partial derivatives.

Parameters
[in]theUParamsarray of U parameter values (rotation angle)
[in]theVParamsarray of V parameter values (curve parameter)
Returns
2D array of SurfD1 (1-based indexing), or empty array if geometry is null or no parameters set

◆ EvaluateGridD2()

NCollection_Array2< GeomGridEval::SurfD2 > GeomGridEval_SurfaceOfRevolution::EvaluateGridD2 ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams ) const

Evaluate all grid points with first and second partial derivatives.

Parameters
[in]theUParamsarray of U parameter values (rotation angle)
[in]theVParamsarray of V parameter values (curve parameter)
Returns
2D array of SurfD2 (1-based indexing), or empty array if geometry is null or no parameters set

◆ EvaluateGridD3()

NCollection_Array2< GeomGridEval::SurfD3 > GeomGridEval_SurfaceOfRevolution::EvaluateGridD3 ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams ) const

Evaluate all grid points with derivatives up to third order.

Parameters
[in]theUParamsarray of U parameter values (rotation angle)
[in]theVParamsarray of V parameter values (curve parameter)
Returns
2D array of SurfD3 (1-based indexing), or empty array if geometry is null or no parameters set

◆ EvaluateGridDN()

NCollection_Array2< gp_Vec > GeomGridEval_SurfaceOfRevolution::EvaluateGridDN ( const NCollection_Array1< double > & theUParams,
const NCollection_Array1< double > & theVParams,
int theNU,
int theNV ) const

Evaluate partial derivative d^(NU+NV)S/(dU^NU dV^NV) at all grid points.

Parameters
[in]theUParamsarray of U parameter values (rotation angle)
[in]theVParamsarray of V parameter values (curve parameter)
[in]theNUderivative order in U direction
[in]theNVderivative order in V direction
Returns
2D array of derivative vectors (1-based indexing)

◆ Geometry()

const occ::handle< Geom_SurfaceOfRevolution > & GeomGridEval_SurfaceOfRevolution::Geometry ( ) const
inline

Returns the geometry handle.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

GeomGridEval_SurfaceOfRevolution & GeomGridEval_SurfaceOfRevolution::operator= ( GeomGridEval_SurfaceOfRevolution && )
delete

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