Unified grid evaluator for any 3D curve.
More...
#include <GeomGridEval_Curve.hxx>
Unified grid evaluator for any 3D curve.
Uses std::variant for compile-time type safety and zero heap allocation for the evaluator itself. Automatically detects curve type from Adaptor3d_Curve and dispatches to the appropriate specialized evaluator.
Supported curve types with optimized evaluation:
- Line: Direct analytical formula
- Circle: Trigonometric formula
- Ellipse: Analytical formula
- Hyperbola: Analytical formula
- Parabola: Analytical formula
- BezierCurve: Optimized batch evaluation via BSplCLib
- BSplineCurve: Optimized batch evaluation via BSplCLib_GridEvaluator
- Other: Fallback using Adaptor3d_Curve::D0
Usage:
Unified grid evaluator for any 3D curve.
Definition GeomGridEval_Curve.hxx:60
STL input iterator that wraps an OCCT More()/Next() iterator.
Definition NCollection_ForwardRange.hxx:142
◆ EvaluatorVariant
Initial value: std::variant<std::monostate,
Efficient batch evaluator for B-spline curve grid points.
Definition GeomGridEval_BSplineCurve.hxx:38
Efficient batch evaluator for Bezier curve grid points.
Definition GeomGridEval_BezierCurve.hxx:34
Efficient batch evaluator for circle grid points.
Definition GeomGridEval_Circle.hxx:33
Efficient batch evaluator for ellipse grid points.
Definition GeomGridEval_Ellipse.hxx:34
Efficient batch evaluator for hyperbola grid points.
Definition GeomGridEval_Hyperbola.hxx:34
Efficient batch evaluator for line grid points.
Definition GeomGridEval_Line.hxx:32
Batch evaluator for offset curve grid points.
Definition GeomGridEval_OffsetCurve.hxx:38
Fallback evaluator for unknown curve types.
Definition GeomGridEval_OtherCurve.hxx:39
Efficient batch evaluator for parabola grid points.
Definition GeomGridEval_Parabola.hxx:34
Variant type holding all possible curve evaluators.
◆ GeomGridEval_Curve() [1/4]
Construct from adaptor reference (auto-detects curve type). For GeomAdaptor_Curve, extracts underlying Geom_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] | theCurve | curve adaptor reference to evaluate |
◆ GeomGridEval_Curve() [2/4]
Construct from geometry handle (auto-detects curve type).
- Parameters
-
| [in] | theCurve | geometry to evaluate |
◆ GeomGridEval_Curve() [3/4]
Non-copyable and non-movable.
◆ GeomGridEval_Curve() [4/4]
◆ EvaluateGrid()
Evaluate grid points at all parameters.
- Parameters
-
| theParams | array of parameter values |
- Returns
- array of 3D points (1-based indexing)
◆ EvaluateGridD1()
Evaluate grid points with first derivative.
- Parameters
-
| theParams | array of parameter values |
- Returns
- array of CurveD1 (1-based indexing)
◆ EvaluateGridD2()
Evaluate grid points with first and second derivatives.
- Parameters
-
| theParams | array of parameter values |
- Returns
- array of CurveD2 (1-based indexing)
◆ EvaluateGridD3()
Evaluate grid points with first, second, and third derivatives.
- Parameters
-
| theParams | array of parameter values |
- Returns
- array of CurveD3 (1-based indexing)
◆ EvaluateGridDN()
Evaluate Nth derivative at all grid points.
- Parameters
-
| theParams | array of parameter values |
| theN | derivative order (N >= 1) |
- Returns
- array of derivative vectors (1-based indexing)
◆ GetType()
Returns the detected curve type.
◆ initialization() [1/2]
Initialize from adaptor reference (auto-detects curve type).
- Parameters
-
| [in] | theCurve | curve adaptor reference to evaluate |
◆ initialization() [2/2]
Initialize from geometry handle (auto-detects curve type).
- Parameters
-
| [in] | theCurve | geometry to evaluate |
◆ operator=() [1/2]
◆ operator=() [2/2]
The documentation for this class was generated from the following file: