Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions
Geom2dGridEval_Curve Class Reference

Unified grid evaluator for any 2D curve. More...

#include <Geom2dGridEval_Curve.hxx>

Public Types

using EvaluatorVariant
 Variant type holding all possible 2D curve evaluators.
 

Public Member Functions

 Geom2dGridEval_Curve (const Adaptor2d_Curve2d &theCurve)
 Construct from 2D adaptor reference (auto-detects curve type). For Geom2dAdaptor_Curve, extracts underlying Geom2d_Curve for optimized evaluation. For other adaptors, stores reference for fallback evaluation.
 
 Geom2dGridEval_Curve (const occ::handle< Geom2d_Curve > &theCurve)
 Construct from geometry handle (auto-detects curve type).
 
 Geom2dGridEval_Curve (const Geom2dGridEval_Curve &)=delete
 Non-copyable and non-movable.
 
Geom2dGridEval_Curveoperator= (const Geom2dGridEval_Curve &)=delete
 
 Geom2dGridEval_Curve (Geom2dGridEval_Curve &&)=delete
 
Geom2dGridEval_Curveoperator= (Geom2dGridEval_Curve &&)=delete
 
NCollection_Array1< gp_Pnt2dEvaluateGrid (const NCollection_Array1< double > &theParams) const
 Evaluate grid points at all parameters.
 
NCollection_Array1< Geom2dGridEval::CurveD1EvaluateGridD1 (const NCollection_Array1< double > &theParams) const
 Evaluate grid points with first derivative.
 
NCollection_Array1< Geom2dGridEval::CurveD2EvaluateGridD2 (const NCollection_Array1< double > &theParams) const
 Evaluate grid points with first and second derivatives.
 
NCollection_Array1< Geom2dGridEval::CurveD3EvaluateGridD3 (const NCollection_Array1< double > &theParams) const
 Evaluate grid points with first, second, and third derivatives.
 
NCollection_Array1< gp_Vec2dEvaluateGridDN (const NCollection_Array1< double > &theParams, int theN) const
 Evaluate Nth derivative at all grid points.
 
GeomAbs_CurveType GetType () const
 Returns the detected curve type.
 

Protected Member Functions

void initialization (const Adaptor2d_Curve2d &theCurve)
 Initialize from 2D adaptor reference (auto-detects curve type).
 
void initialization (const occ::handle< Geom2d_Curve > &theCurve)
 Initialize from geometry handle (auto-detects curve type).
 

Detailed Description

Unified grid evaluator for any 2D curve.

Uses std::variant for compile-time type safety and zero heap allocation for the evaluator itself. Automatically detects curve type from Adaptor2d_Curve2d and dispatches to the appropriate specialized evaluator.

Supported curve types with optimized evaluation:

Usage:

// OR
NCollection_Array1<gp_Pnt2d> aGrid = anEval.EvaluateGrid(myParams);
Unified grid evaluator for any 2D curve.
Definition Geom2dGridEval_Curve.hxx:61
STL input iterator that wraps an OCCT More()/Next() iterator.
Definition NCollection_ForwardRange.hxx:142

Member Typedef Documentation

◆ EvaluatorVariant

Initial value:
std::variant<std::monostate,
Efficient batch evaluator for 2D B-spline curve grid points.
Definition Geom2dGridEval_BSplineCurve.hxx:38
Efficient batch evaluator for 2D Bezier curve grid points.
Definition Geom2dGridEval_BezierCurve.hxx:34
Efficient batch evaluator for 2D circle grid points.
Definition Geom2dGridEval_Circle.hxx:33
Efficient batch evaluator for 2D ellipse grid points.
Definition Geom2dGridEval_Ellipse.hxx:34
Efficient batch evaluator for 2D hyperbola grid points.
Definition Geom2dGridEval_Hyperbola.hxx:34
Efficient batch evaluator for 2D line grid points.
Definition Geom2dGridEval_Line.hxx:32
Batch evaluator for 2D offset curve grid points.
Definition Geom2dGridEval_OffsetCurve.hxx:39
Fallback evaluator for unknown 2D curve types.
Definition Geom2dGridEval_OtherCurve.hxx:39
Efficient batch evaluator for 2D parabola grid points.
Definition Geom2dGridEval_Parabola.hxx:34

Variant type holding all possible 2D curve evaluators.

Constructor & Destructor Documentation

◆ Geom2dGridEval_Curve() [1/4]

Geom2dGridEval_Curve::Geom2dGridEval_Curve ( const Adaptor2d_Curve2d & theCurve)

Construct from 2D adaptor reference (auto-detects curve type). For Geom2dAdaptor_Curve, extracts underlying Geom2d_Curve for optimized evaluation. For other adaptors, stores reference for fallback evaluation.

Note
The curve adaptor reference must remain valid during the lifetime of this evaluator when using fallback evaluation.
Parameters
[in]theCurve2D curve adaptor reference to evaluate

◆ Geom2dGridEval_Curve() [2/4]

Geom2dGridEval_Curve::Geom2dGridEval_Curve ( const occ::handle< Geom2d_Curve > & theCurve)

Construct from geometry handle (auto-detects curve type).

Parameters
[in]theCurve2D geometry to evaluate

◆ Geom2dGridEval_Curve() [3/4]

Geom2dGridEval_Curve::Geom2dGridEval_Curve ( const Geom2dGridEval_Curve & )
delete

Non-copyable and non-movable.

◆ Geom2dGridEval_Curve() [4/4]

Geom2dGridEval_Curve::Geom2dGridEval_Curve ( Geom2dGridEval_Curve && )
delete

Member Function Documentation

◆ EvaluateGrid()

NCollection_Array1< gp_Pnt2d > Geom2dGridEval_Curve::EvaluateGrid ( const NCollection_Array1< double > & theParams) const

Evaluate grid points at all parameters.

Parameters
theParamsarray of parameter values
Returns
array of 2D points (1-based indexing)

◆ EvaluateGridD1()

NCollection_Array1< Geom2dGridEval::CurveD1 > Geom2dGridEval_Curve::EvaluateGridD1 ( const NCollection_Array1< double > & theParams) const

Evaluate grid points with first derivative.

Parameters
theParamsarray of parameter values
Returns
array of CurveD1 (1-based indexing)

◆ EvaluateGridD2()

NCollection_Array1< Geom2dGridEval::CurveD2 > Geom2dGridEval_Curve::EvaluateGridD2 ( const NCollection_Array1< double > & theParams) const

Evaluate grid points with first and second derivatives.

Parameters
theParamsarray of parameter values
Returns
array of CurveD2 (1-based indexing)

◆ EvaluateGridD3()

NCollection_Array1< Geom2dGridEval::CurveD3 > Geom2dGridEval_Curve::EvaluateGridD3 ( const NCollection_Array1< double > & theParams) const

Evaluate grid points with first, second, and third derivatives.

Parameters
theParamsarray of parameter values
Returns
array of CurveD3 (1-based indexing)

◆ EvaluateGridDN()

NCollection_Array1< gp_Vec2d > Geom2dGridEval_Curve::EvaluateGridDN ( const NCollection_Array1< double > & theParams,
int theN ) const

Evaluate Nth derivative at all grid points.

Parameters
theParamsarray of parameter values
theNderivative order (N >= 1)
Returns
array of derivative vectors (1-based indexing)

◆ GetType()

GeomAbs_CurveType Geom2dGridEval_Curve::GetType ( ) const
inline

Returns the detected curve type.

◆ initialization() [1/2]

void Geom2dGridEval_Curve::initialization ( const Adaptor2d_Curve2d & theCurve)
protected

Initialize from 2D adaptor reference (auto-detects curve type).

Parameters
[in]theCurve2D curve adaptor reference to evaluate

◆ initialization() [2/2]

void Geom2dGridEval_Curve::initialization ( const occ::handle< Geom2d_Curve > & theCurve)
protected

Initialize from geometry handle (auto-detects curve type).

Parameters
[in]theCurve2D geometry to evaluate

◆ operator=() [1/2]

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

◆ operator=() [2/2]

Geom2dGridEval_Curve & Geom2dGridEval_Curve::operator= ( Geom2dGridEval_Curve && )
delete

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