|
| | ExtremaPC_Curve (const GeomAdaptor_Curve &theCurve) |
| | Constructor with curve adaptor. Uses the curve's natural parameter bounds as domain.
|
| |
| | ExtremaPC_Curve (const GeomAdaptor_Curve &theCurve, double theUMin, double theUMax) |
| | Constructor with curve adaptor and parameter range.
|
| |
| | ExtremaPC_Curve (const GeomAdaptor_TransformedCurve &theCurve) |
| | Constructor with transformed curve adaptor. Uses the curve's natural parameter bounds as domain. For elementary curves, uses already-transformed primitives (analytical solver). For BSpline/Bezier, uses inverse-transform optimization with post-processing. For offset/other curves, delegates through Adaptor3d_Curve interface.
|
| |
| | ExtremaPC_Curve (const GeomAdaptor_TransformedCurve &theCurve, double theUMin, double theUMax) |
| | Constructor with transformed curve adaptor and parameter range.
|
| |
| | ExtremaPC_Curve (const occ::handle< Geom_Curve > &theCurve) |
| | Constructor with Geom_Curve. For non-trimmed curves, does NOT set domain (uses natural/unbounded behavior). For trimmed curves, uses the trimmed bounds as domain.
|
| |
| | ExtremaPC_Curve (const occ::handle< Geom_Curve > &theCurve, double theUMin, double theUMax) |
| | Constructor with Geom_Curve and parameter range. For trimmed curves, intersects input bounds with trimmed bounds.
|
| |
| | ExtremaPC_Curve (const ExtremaPC_Curve &)=delete |
| |
| ExtremaPC_Curve & | operator= (const ExtremaPC_Curve &)=delete |
| |
| | ExtremaPC_Curve (ExtremaPC_Curve &&)=delete |
| |
| ExtremaPC_Curve & | operator= (ExtremaPC_Curve &&)=delete |
| |
| const ExtremaPC::Result & | Perform (const gp_Pnt &theP, double theTol, ExtremaPC::SearchMode theMode=ExtremaPC::SearchMode::MinMax) const |
| | Computes extrema between point P and the curve. Uses domain specified at construction time.
|
| |
| const ExtremaPC::Result & | PerformWithEndpoints (const gp_Pnt &theP, double theTol, ExtremaPC::SearchMode theMode=ExtremaPC::SearchMode::MinMax) const |
| | Computes extrema between point P and the curve, including endpoints. Uses domain specified at construction time.
|
| |
| bool | IsInitialized () const |
| | Returns true if the evaluator is properly initialized.
|
| |
Main aggregator for Point-Curve extrema computation.
Provides a unified interface for computing extrema between a 3D point and any type of curve. Uses std::variant with std::visit for efficient curve type dispatch at runtime.
Supports all elementary curve types (analytical solutions):
- Line, Circle, Ellipse, Hyperbola, Parabola
And numerical curves (grid-based with Newton refinement):
- BSpline, Bezier, Offset, and general curves
- Note
- The parameter domain is fixed at construction time for optimal performance. The inner curve evaluators build their grids eagerly in the constructor, so multiple Perform() calls reuse the pre-built data without rebuilding.
Usage example:
{
for (
int i = 0; i <
aResult.NbExt(); ++i)
{
}
}
Main aggregator for Point-Curve extrema computation.
Definition ExtremaPC_Curve.hxx:66
STL input iterator that wraps an OCCT More()/Next() iterator.
Definition NCollection_ForwardRange.hxx:142
Defines a 3D cartesian point.
Definition gp_Pnt.hxx:32
Result of extrema computation containing all found extrema. Non-copyable to enforce use of const refe...
Definition ExtremaPC.hxx:147