|
|
| Curve2d (occtl_graph_t *theGraph=nullptr, occtl_rep_id_t theId=occtl_rep_id_t{0}) noexcept |
| | Constructs a null reference (no graph, invalid id).
|
| |
|
| operator bool () const noexcept |
| | Returns true when the reference points into a valid graph.
|
| |
|
occtl_graph_t * | graph () const noexcept |
| | Borrows it — returns the graph pointer.
|
| |
|
occtl_rep_id_t | id () const noexcept |
| | Returns the representation id.
|
| |
| Curve2d | reversed () const |
| | Returns a reversed copy of this curve stored in the same graph.
|
| |
| Curve2d | transformed (double theTranslateX, double theTranslateY, double theRotateAngle, double theScaleX, double theScaleY) const |
| | Returns a transformed copy of this curve stored in the same graph.
|
| |
| Curve2d | translated (const Vector2 &theDelta) const |
| | Returns a translated copy of this curve stored in the same graph.
|
| |
| Curve2d | rotated (double theAngle) const |
| | Returns a rotated copy of this curve stored in the same graph.
|
| |
| Curve2d | scaled (const Point2 &theOrigin, double theFactor) const |
| | Returns a scaled copy of this curve stored in the same graph.
|
| |
| double | length () const |
| | Returns the curve length over its full parameter range.
|
| |
| std::pair< double, double > | project_point (const Point2 &thePoint) const |
| | Projects a 2D point onto the curve.
|
| |
| double | parameter_of_point (const Point2 &thePoint) const |
| | Returns the parameter on the 2D curve nearest to a given point.
|
| |
| occtl_curve_kind_t | kind () const |
| | Returns the kind of geometry.
|
| |
| int32_t | is_periodic () const |
| | Returns 1 when the curve is periodic, 0 otherwise.
|
| |
| int32_t | is_closed () const |
| | Returns 1 when the curve is closed, 0 otherwise.
|
| |
| occtl_geom_continuity_t | continuity () const |
| | Returns the geometric continuity class.
|
| |
| void | parameter_range (double &theUMin, double &theUMax) const |
| | Returns the parameter range [u_min, u_max] via out-parameters.
|
| |
| occtl_geom2d_line_t | as_line () const |
| | Extracts the underlying line.
|
| |
| occtl_geom2d_circle_t | as_circle () const |
| | Extracts the underlying circle.
|
| |
| occtl_geom2d_ellipse_t | as_ellipse () const |
| | Extracts the underlying ellipse.
|
| |
| occtl_geom2d_hyperbola_t | as_hyperbola () const |
| | Extracts the underlying hyperbola.
|
| |
| occtl_geom2d_parabola_t | as_parabola () const |
| | Extracts the underlying parabola.
|
| |
| TrimmedView | as_trimmed () const |
| | Extracts the parameter bounds from a trimmed curve.
|
| |
| OffsetView | as_offset () const |
| | Extracts the scalar offset of an offset curve.
|
| |
| BSplineView | as_bspline () const |
| | Returns a §10.5 aggregate inspection view of a 2D B-spline curve.
|
| |
| int32_t | bspline_degree () const |
| | Returns the polynomial degree.
|
| |
| size_t | bspline_pole_count () const |
| | Returns the number of poles.
|
| |
| size_t | bspline_knot_count () const |
| | Returns the number of distinct knot values.
|
| |
| int32_t | bspline_is_rational () const |
| | Returns 1 when the B-spline is rational (NURBS), 0 otherwise.
|
| |
| int32_t | bezier_degree () const |
| | Returns the Bezier polynomial degree.
|
| |
| size_t | bezier_pole_count () const |
| | Returns the number of Bezier poles.
|
| |
| int32_t | bezier_is_rational () const |
| | Returns 1 when the Bezier curve is rational, 0 otherwise.
|
| |
| std::vector< occtl_point2_t > | bspline_poles () const |
| | Copies all poles into a std::vector<occtl_point2_t>.
|
| |
| std::vector< double > | bspline_knots () const |
| | Copies all distinct knot values into a std::vector<double>.
|
| |
| std::vector< int32_t > | bspline_multiplicities () const |
| | Copies all knot multiplicities into a std::vector<int32_t>.
|
| |
| std::vector< double > | bspline_weights () const |
| | Copies all weights into a std::vector<double>.
|
| |
| std::vector< double > | bspline_flat_knots () const |
| | Copies the expanded (flat) knot sequence into a vector.
|
| |
| const occtl_point2_t * | bspline_poles_view (size_t &theCount) const |
| | Returns a zero-copy view of the poles array.
|
| |
| std::vector< Curve2d > | to_bezier_segments (const occtl_curve_bezier_segments_options_t *theOptions=nullptr) const |
| | Decomposes this 2D curve into adjacent Bezier curve segments.
|
| |
| occtl_point2_t | eval_d0 (const double theU) const |
| | Evaluates the 2D curve point at parameter theU.
|
| |
| std::pair< occtl_point2_t, occtl_vector2_t > | eval_d1 (const double theU) const |
| | Evaluates point and first derivative at theU.
|
| |
| std::tuple< occtl_point2_t, occtl_vector2_t, occtl_vector2_t > | eval_d2 (const double theU) const |
| | Evaluates point, first, and second derivatives at theU.
|
| |
| std::tuple< occtl_point2_t, occtl_vector2_t, occtl_vector2_t, occtl_vector2_t > | eval_d3 (const double theU) const |
| | Evaluates point, first, second, and third derivatives at theU.
|
| |
| occtl_vector2_t | eval_dn (const double theU, const int32_t theN) const |
| | Returns the N-th derivative vector at theU.
|
| |
|
| static Curve2d | from_line (occtl_graph_t *graph, const occtl_geom2d_line_t &theLine) |
| | Constructs a 2D curve from a line.
|
| |
| static Curve2d | from_circle (occtl_graph_t *graph, const occtl_geom2d_circle_t &theCircle) |
| | Constructs a 2D curve from a circle.
|
| |
| static std::vector< occtl_geom2d_circle_t > | circles_tangent_to_two_radius (occtl_graph_t *graph, const occtl_curve2d_circle_tangent_to_two_radius_info_t &theInfo) |
| | Computes all fixed-radius circles tangent to two 2D curves.
|
| |
| static std::vector< Curve2d > | blend_arcs (occtl_graph_t *graph, const occtl_curve2d_blend_arc_info_t &theInfo) |
| | Computes all fixed-radius 2D blend arcs tangent to two 2D curves.
|
| |
| static std::vector< occtl_geom2d_line_t > | lines_tangent_to_two (occtl_graph_t *graph, const occtl_curve2d_line_tangent_to_two_info_t &theInfo) |
| | Computes all 2D lines tangent to two 2D curves.
|
| |
| static std::vector< occtl_geom2d_line_t > | lines_tangent_through_point (occtl_graph_t *graph, const occtl_curve2d_line_tangent_through_point_info_t &theInfo) |
| | Computes all 2D lines tangent to a 2D curve through a point.
|
| |
| static std::vector< occtl_geom2d_line_t > | lines_tangent_with_angle (occtl_graph_t *graph, const occtl_curve2d_line_tangent_with_angle_info_t *theInfo) |
| | Computes all 2D lines tangent to a curve at a fixed angle to a line.
|
| |
| static std::vector< occtl_geom2d_circle_t > | circles_tangent_to_three (occtl_graph_t *graph, const occtl_curve2d_circle_tangent_to_three_info_t &theInfo) |
| | Computes all 2D circles tangent to three 2D curves.
|
| |
| static std::vector< occtl_geom2d_circle_t > | circles_tangent_fixed_center (occtl_graph_t *graph, const occtl_curve2d_circle_tangent_fixed_center_info_t &theInfo) |
| | Computes all 2D circles tangent to a curve with a fixed center.
|
| |
| static std::vector< occtl_geom2d_circle_t > | circles_tangent_center_on_curve (occtl_graph_t *graph, const occtl_curve2d_circle_tangent_center_on_curve_info_t *theInfo) |
| | Computes all 2D circles tangent to two curves with center on a curve.
|
| |
| static std::vector< occtl_geom2d_circle_t > | circles_tangent_on_curve_radius (occtl_graph_t *graph, const occtl_curve2d_circle_tangent_on_curve_radius_info_t *theInfo) |
| | Computes fixed-radius 2D circles tangent to a curve with center on another curve.
|
| |
| static Curve2d | from_ellipse (occtl_graph_t *graph, const occtl_geom2d_ellipse_t &theEllipse) |
| | Constructs a 2D curve from an ellipse.
|
| |
| static Curve2d | from_hyperbola (occtl_graph_t *graph, const occtl_geom2d_hyperbola_t &theHyperbola) |
| | Constructs a 2D curve from a hyperbola.
|
| |
| static Curve2d | from_parabola (occtl_graph_t *graph, const occtl_geom2d_parabola_t &theParabola) |
| | Constructs a 2D curve from a parabola.
|
| |
| static Curve2d | from_bspline (occtl_graph_t *graph, const occtl_curve2d_bspline_create_info_t &theInfo) |
| | Constructs a 2D B-spline curve from the given create info.
|
| |
| static Curve2d | from_bezier (occtl_graph_t *graph, const occtl_curve2d_bezier_create_info_t &theInfo) |
| | Constructs a 2D Bezier curve from the given create info.
|
| |
| static Curve2d | from_trimmed (occtl_graph_t *graph, const occtl_curve_trimmed_create_info_t &theInfo) |
| | Constructs a trimmed 2D curve.
|
| |
| static Curve2d | from_offset (occtl_graph_t *graph, const occtl_curve2d_offset_create_info_t &theInfo) |
| | Constructs an offset 2D curve.
|
| |
Non-owning reference to a 2D geometric curve stored in a graph.
Wraps one occtl_rep_id_t inside an occtl_graph_t*. Copying is shallow — both copies refer to the same graph representation.