|
OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
|
#include <occtl_curves.h>

Public Attributes | |
| uint32_t | struct_version |
| const void * | p_next |
| int32_t | degree |
| int32_t | is_rational |
| int32_t | is_periodic |
| int32_t | is_closed |
| int32_t | continuity |
| size_t | pole_count |
| size_t | knot_count |
| size_t | flat_knot_count |
| const occtl_point3_t * | poles |
| const double * | weights |
| const double * | knots |
| const int32_t * | multiplicities |
| const double * | flat_knots |
Aggregate inspection view of a B-spline curve.
Read-only snapshot of every field a caller typically needs in the same pass: scalars (degree, periodicity, continuity, counts) plus borrowed pointers into the underlying OCCT storage for poles, weights, distinct knots, multiplicities, and the expanded flat knot sequence. One call replaces ~10 atomized accessors; pair with occtl_curve_as_bspline.
Pointers in out borrow from the graph rep and are valid until the rep is removed from the graph.
The caller declares the layout version they understand in struct_version before the call; the library fills only fields up to that version. The weights pointer is set to NULL when is_rational is 0.
| int32_t occtl_curve_bspline::continuity |
Geometric continuity (occtl_geom_continuity_t value).
| int32_t occtl_curve_bspline::degree |
Polynomial degree.
| size_t occtl_curve_bspline::flat_knot_count |
Sum of multiplicities (length of flat_knots).
| const double* occtl_curve_bspline::flat_knots |
[out] Borrows it; flat_knot_count elements.
| int32_t occtl_curve_bspline::is_closed |
0/1.
| int32_t occtl_curve_bspline::is_periodic |
0/1.
| int32_t occtl_curve_bspline::is_rational |
0 = non-rational; 1 = rational (NURBS).
| size_t occtl_curve_bspline::knot_count |
Number of distinct knot values.
| const double* occtl_curve_bspline::knots |
[out] Borrows it; knot_count distinct knots.
| const int32_t* occtl_curve_bspline::multiplicities |
[out] Borrows it; knot_count multiplicities.
| const void* occtl_curve_bspline::p_next |
Reserved for extensions; must be NULL.
| size_t occtl_curve_bspline::pole_count |
Number of poles.
| const occtl_point3_t* occtl_curve_bspline::poles |
Borrowed view pointers. Lifetime is tied to the graph rep and ends when the rep is removed. [out] Borrows it; pole_count elements.
| uint32_t occtl_curve_bspline::struct_version |
[in] Must be OCCTL_CURVE_BSPLINE_VERSION_1.
| const double* occtl_curve_bspline::weights |
[out] Borrows it; pole_count elements, or NULL when is_rational == 0.