![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Unified grid evaluator for any 3D surface. More...
#include <GeomGridEval_Surface.hxx>
Public Types | |
| using | EvaluatorVariant |
| Variant type holding all possible surface evaluators. | |
Public Member Functions | |
| GeomGridEval_Surface (const Adaptor3d_Surface &theSurface) | |
| Construct from adaptor reference (auto-detects surface type). For GeomAdaptor_Surface, extracts underlying Geom_Surface for optimized evaluation. For other adaptors, stores reference for fallback evaluation. | |
| GeomGridEval_Surface (const occ::handle< Geom_Surface > &theSurface) | |
| Construct from geometry handle (auto-detects surface type). | |
| GeomGridEval_Surface (const GeomGridEval_Surface &)=delete | |
| Non-copyable and non-movable. | |
| GeomGridEval_Surface & | operator= (const GeomGridEval_Surface &)=delete |
| GeomGridEval_Surface (GeomGridEval_Surface &&)=delete | |
| GeomGridEval_Surface & | operator= (GeomGridEval_Surface &&)=delete |
| NCollection_Array2< gp_Pnt > | EvaluateGrid (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const |
| Evaluate grid points at all specified parameters. | |
| NCollection_Array2< GeomGridEval::SurfD1 > | EvaluateGridD1 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const |
| Evaluate grid points with first partial derivatives. | |
| NCollection_Array2< GeomGridEval::SurfD2 > | EvaluateGridD2 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const |
| Evaluate grid points with first and second partial derivatives. | |
| NCollection_Array2< GeomGridEval::SurfD3 > | EvaluateGridD3 (const NCollection_Array1< double > &theUParams, const NCollection_Array1< double > &theVParams) const |
| Evaluate grid points with derivatives up to third order. | |
| NCollection_Array2< gp_Vec > | 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. | |
| GeomAbs_SurfaceType | GetType () const |
| Returns the detected surface type. | |
| bool | HasTransformation () const |
| Returns true if a transformation is applied. | |
| const std::optional< gp_Trsf > & | GetTransformation () const |
| Returns the transformation (empty if not set). | |
Protected Member Functions | |
| void | initialization (const Adaptor3d_Surface &theSurface) |
| Initialize from adaptor reference (auto-detects surface type). | |
| void | initialization (const occ::handle< Geom_Surface > &theSurface) |
| Initialize from geometry handle (auto-detects surface type). | |
Unified grid evaluator for any 3D surface.
Uses std::variant for compile-time type safety and zero heap allocation for the evaluator itself. Automatically detects surface type from Adaptor3d_Surface and dispatches to the appropriate specialized evaluator.
Supported surface types with optimized evaluation:
Usage:
Variant type holding all possible surface evaluators.
| GeomGridEval_Surface::GeomGridEval_Surface | ( | const Adaptor3d_Surface & | theSurface | ) |
Construct from adaptor reference (auto-detects surface type). For GeomAdaptor_Surface, extracts underlying Geom_Surface for optimized evaluation. For other adaptors, stores reference for fallback evaluation.
| [in] | theSurface | surface adaptor reference to evaluate |
| GeomGridEval_Surface::GeomGridEval_Surface | ( | const occ::handle< Geom_Surface > & | theSurface | ) |
Construct from geometry handle (auto-detects surface type).
| [in] | theSurface | geometry to evaluate |
|
delete |
Non-copyable and non-movable.
|
delete |
| NCollection_Array2< gp_Pnt > GeomGridEval_Surface::EvaluateGrid | ( | const NCollection_Array1< double > & | theUParams, |
| const NCollection_Array1< double > & | theVParams ) const |
Evaluate grid points at all specified parameters.
| [in] | theUParams | array of U parameter values |
| [in] | theVParams | array of V parameter values |
| NCollection_Array2< GeomGridEval::SurfD1 > GeomGridEval_Surface::EvaluateGridD1 | ( | const NCollection_Array1< double > & | theUParams, |
| const NCollection_Array1< double > & | theVParams ) const |
Evaluate grid points with first partial derivatives.
| [in] | theUParams | array of U parameter values |
| [in] | theVParams | array of V parameter values |
| NCollection_Array2< GeomGridEval::SurfD2 > GeomGridEval_Surface::EvaluateGridD2 | ( | const NCollection_Array1< double > & | theUParams, |
| const NCollection_Array1< double > & | theVParams ) const |
Evaluate grid points with first and second partial derivatives.
| [in] | theUParams | array of U parameter values |
| [in] | theVParams | array of V parameter values |
| NCollection_Array2< GeomGridEval::SurfD3 > GeomGridEval_Surface::EvaluateGridD3 | ( | const NCollection_Array1< double > & | theUParams, |
| const NCollection_Array1< double > & | theVParams ) const |
Evaluate grid points with derivatives up to third order.
| [in] | theUParams | array of U parameter values |
| [in] | theVParams | array of V parameter values |
| NCollection_Array2< gp_Vec > GeomGridEval_Surface::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.
| [in] | theUParams | array of U parameter values |
| [in] | theVParams | array of V parameter values |
| [in] | theNU | derivative order in U direction |
| [in] | theNV | derivative order in V direction |
|
inline |
Returns the transformation (empty if not set).
|
inline |
Returns the detected surface type.
|
inline |
Returns true if a transformation is applied.
|
protected |
Initialize from adaptor reference (auto-detects surface type).
| [in] | theSurface | surface adaptor reference to evaluate |
|
protected |
Initialize from geometry handle (auto-detects surface type).
| [in] | theSurface | geometry to evaluate |
|
delete |
|
delete |