Entities

entities/spline

#include "dxfio/entities/spline.hpp"

In DxfIO::Entities

struct Curve

The AcDbSpline subclass a SPLINE and a HELIX share: a NURBS curve, by its knots and control points or by the points it fits.

FieldType and defaultMeaning
Normalstd::optional<Vector>The normal of the plane of a planar spline; none for one that is not planar. Groups 210, 220, 230.
Flagsint1 closed, 2 periodic, 4 rational, 8 planar, 16 linear, which is planar too. Group 70.
Degreeint{3}The degree of the curve, 3 for a new one. Group 71.
Knotteddouble{Knotting}The knot tolerance. Group 42.
Frameddouble{Framing}The control point tolerance. Group 43.
Fittedstd::optional<double>The fit tolerance, when the spline is given by fit points. Group 44.
Startstd::optional<Vector>The tangent at the start, when one is given. Groups 12, 22, 32.
Endstd::optional<Vector>The tangent at the end, when one is given. Groups 13, 23, 33.
Knotsstd::vector<double>The knot values; group 72 counts them. Group 40.
Polesstd::vector<Vector>The control points, in world coordinates; group 73 counts them. Groups 10, 20, 30.
Weightsstd::vector<double>The weight of each control point, when the spline is rational. Group 41.
Fitsstd::vector<Vector>The points the curve passes through, in world coordinates; group 74 counts them. Groups 11, 21, 31.

struct SplineSPLINE

A SPLINE: a smooth curve through or near a set of points.

FieldTypeMeaning
RecordEntities::RecordThe layer, linetype, color and the rest every entity carries.
CurveBoxed<Entities::Curve>The knots, control points and fit points, from the AcDbSpline subclass.

Constants

Knottingdouble = 1e-9The knot tolerance a new spline takes.
Framingdouble = 1e-10The control point tolerance a new spline takes.