align_set_geometry_ex
Superset of align_set_geometry that also builds SPIRALS. Each record is 8 doubles {type, x, y, bearing_deg, p0, p1, p2, p3}: type 0 = tangent (p0 = length; p3 != 0 -> bearing_deg is honored as an ABSOLUTE re-anchor for this tangent while the position still chains at the previous end — the polyline-sketch bearing break the AlignmentBuilder allows. p3 == 0 = chained bearing.) type 1 = arc (p0 = signed radius, p1 = length) type 2 = spiral (p0 = start radius, p1 = end radius, p2 = length; 0 = straight) type 3 = transition (p0/p1 = start/end radius as in the spiral, p2 = length, p3 = law: 0 Bloss, 1 cosine, 2 sine, 3 Helmert) type 4 = cubic parabola (p0 = signed end radius, p1 = PROJECTED length X along the start tangent; arc length is derived) Types 3/4 need a host with the v104 kernel; older hosts return 0 for the whole call (unknown record type), so probe by trying. x/y/bearing anchor the FIRST segment; later segments chain at the prev end.
Prototype
int (*align_set_geometry_ex)(Yu3dDocument*, const char* uuid, const double* seg_records, uint32_t n_segs)
Parameters
| Declaration | Name |
|---|---|
Yu3dDocument* | — |
const char* uuid | uuid |
const double* seg_records | seg_records |
uint32_t n_segs | n_segs |
Returns
int
Same group (Module manifest)
align_set_bond · corridor_add_baseline
Declared in sdk/include/yu3d_plugin.h. Reached through the host table: host->align_set_geometry_ex(…). Guard with YU3D_HOST_HAS(host, align_set_geometry_ex) if your plugin must also load in an older host.