OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
Loading...
Searching...
No Matches
occtl_curve_bspline Struct Reference

#include <occtl_curves.h>

Collaboration diagram for occtl_curve_bspline:

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_tpoles
 
const double * weights
 
const double * knots
 
const int32_t * multiplicities
 
const double * flat_knots
 

Detailed Description

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.

Member Data Documentation

◆ continuity

int32_t occtl_curve_bspline::continuity

Geometric continuity (occtl_geom_continuity_t value).

◆ degree

int32_t occtl_curve_bspline::degree

Polynomial degree.

◆ flat_knot_count

size_t occtl_curve_bspline::flat_knot_count

Sum of multiplicities (length of flat_knots).

◆ flat_knots

const double* occtl_curve_bspline::flat_knots

[out] Borrows it; flat_knot_count elements.

◆ is_closed

int32_t occtl_curve_bspline::is_closed

0/1.

◆ is_periodic

int32_t occtl_curve_bspline::is_periodic

0/1.

◆ is_rational

int32_t occtl_curve_bspline::is_rational

0 = non-rational; 1 = rational (NURBS).

◆ knot_count

size_t occtl_curve_bspline::knot_count

Number of distinct knot values.

◆ knots

const double* occtl_curve_bspline::knots

[out] Borrows it; knot_count distinct knots.

◆ multiplicities

const int32_t* occtl_curve_bspline::multiplicities

[out] Borrows it; knot_count multiplicities.

◆ p_next

const void* occtl_curve_bspline::p_next

Reserved for extensions; must be NULL.

◆ pole_count

size_t occtl_curve_bspline::pole_count

Number of poles.

◆ 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.

◆ struct_version

uint32_t occtl_curve_bspline::struct_version

[in] Must be OCCTL_CURVE_BSPLINE_VERSION_1.

◆ weights

const double* occtl_curve_bspline::weights

[out] Borrows it; pole_count elements, or NULL when is_rational == 0.


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