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.
| Field | Type and default | Meaning |
|---|---|---|
Normal | std::optional<Vector> | The normal of the plane of a planar spline; none for one that is not planar. Groups 210, 220, 230. |
Flags | int | 1 closed, 2 periodic, 4 rational, 8 planar, 16 linear, which is planar too. Group 70. |
Degree | int{3} | The degree of the curve, 3 for a new one. Group 71. |
Knotted | double{Knotting} | The knot tolerance. Group 42. |
Framed | double{Framing} | The control point tolerance. Group 43. |
Fitted | std::optional<double> | The fit tolerance, when the spline is given by fit points. Group 44. |
Start | std::optional<Vector> | The tangent at the start, when one is given. Groups 12, 22, 32. |
End | std::optional<Vector> | The tangent at the end, when one is given. Groups 13, 23, 33. |
Knots | std::vector<double> | The knot values; group 72 counts them. Group 40. |
Poles | std::vector<Vector> | The control points, in world coordinates; group 73 counts them. Groups 10, 20, 30. |
Weights | std::vector<double> | The weight of each control point, when the spline is rational. Group 41. |
Fits | std::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.
| Field | Type | Meaning |
|---|---|---|
Record | Entities::Record | The layer, linetype, color and the rest every entity carries. |
Curve | Boxed<Entities::Curve> | The knots, control points and fit points, from the AcDbSpline subclass. |
Constants
Knotting | double = 1e-9 | The knot tolerance a new spline takes. |
Framing | double = 1e-10 | The control point tolerance a new spline takes. |