Host API functions
Every function the host hands a plugin in Yu3dHostApi — 372 in 12 groups, ABI version 2u. Generated from sdk/include/yu3d_plugin.h.
Registration
Called once from yu3d_plugin_register to declare the node types and commands the plugin contributes.
| Function | Returns | Purpose |
|---|---|---|
register_command | void | registration (call during yu3d_plugin_register) |
register_node_type | void | ---- registration (call during yu3d_plugin_register) ---- |
Module manifest
Declares the plugin as a module the host can list, enable and disable.
| Function | Returns | Purpose |
|---|---|---|
align_set_bond | int | Bond an existing alignment to its parent(s) — turns a plain alignment into a LIVE derived one (offset / curb return / connected). kind_code as in align_kind;… |
align_set_geometry_ex | int | 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; p… |
corridor_add_baseline | int | Add an extra baseline to a multi-baseline corridor, following alignment_uuid (its design profile; flat 0 if none) with one region bound to assembly_uuid … |
Commands
Rich command registration and the parameter values a generated form hands back.
| Function | Returns | Purpose |
|---|---|---|
args_get | double | Read a resolved form value by param name inside a run_args callback. Returns fallback if the name is absent. Bool = 0/1; Choice = index. |
register_command_ex | void | ---- rich command registration (see Yu3dCommandDesc) ---- |
Properties
Editable fields and read-only summaries a node type publishes to the Properties dock.
| Function | Returns | Purpose |
|---|---|---|
plan_set_pick_id | void | ---- sub-entity tagging for picking. Call before emitting a part's pickable segments in a plan_render callback; a click then resolves to (node, sub_id) and t… |
register_property | void | ---- register a node type's editable properties (call during yu3d_plugin_register, after register_node_type). props points to an array of n_props descrip… |
Document query
Read the document tree during a command. Node handles live only for the duration of the callback.
| Function | Returns | Purpose |
|---|---|---|
doc_current_selection | int | ---- current selection: writes the selected node's uuid into out (NUL-terminated, truncated to out_len). Returns 1 if something is selected, 0 otherwise (o… |
doc_find_node | Yu3dNode* | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
doc_root | Yu3dNode* | ---- document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid … |
node_child | Yu3dNode* | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
node_child_count | uint32_t | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
node_get_property | int | Read a node's current property value (resolves the registered provider). sub_id < 0 = a node-level property; >= 0 = a sub-entity property. Returns 1 on succe… |
node_name | const char* | type id |
node_parent | Yu3dNode* | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
node_payload | void* | The opaque payload for ANY plugin-backed node (an ExternNode), null for a core node type. NOTE: the host has no caller identity, so this returns the payload … |
node_type | const char* | null at the root |
node_uuid | const char* | document QUERY. Node handles are valid ONLY for the duration of the command callback; never store them. The const char* returned by node_type/name/uuid point… |
Document mutation
Change the document. Every mutation is one undoable edit — the host owns undo, the plugin never does.
| Function | Returns | Purpose |
|---|---|---|
advertise_module | void | ---- module manifest / activation ("sell module combinations") ---- A plugin advertises itself, marks itself active once it has registered its seams, and can… |
align_bond | int | The DERIVED-alignment bond. Returns 1 and fills the outs when kind != Centerline (a bonded offset / curb-return / connected), else 0. Parent uuids go into th… |
align_category | const char* | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_create | int | Alignment authoring. category: "Road" (default), "Rail", "Tunnel", "Bridge", "Misc". align_set_geometry replaces the horizontal with a chained segment list… |
align_create_offset | int | A true Offset Alignment: per-element parallel of parent_uuid at the signed offset, bonded to it (kind = Offset) so the host can recompute it when the paren… |
align_elevation_at | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_evaluate | int | Sample an alignment (node uuid) at station station_m (metres). Writes any non-null out (position, bearing degrees, curvature 1/R). Returns 1 on success, 0 … |
align_h_element | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_h_element_count | uint32_t | Horizontal geometry as a chained element list. align_h_element writes 9 doubles into out9 (which must hold 9): {type, length, start_x, start_y, start_beari… |
align_kind | const char* | Alignment ROLE + world, as the .yu3dx "kind"/"category" codes ("Centerline"/"Offset"/"Curb Return"/"Connected"/"Misc" and "Road"/"Rail"/"Tunnel"/"Bridge"/"Mi… |
align_set_geometry | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_set_profile | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_station_range | int | The alignment's [start, end] station in metres. Returns 1 on success. |
align_v_pvi | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
align_v_pvi_count | uint32_t | Design-profile VPIs. align_v_pvi writes 3 doubles: {station_m, elev_m, curve_len_m}. align_elevation_at gives the design elevation at a station (0 if there i… |
assembly_create_preset | int | Project assembly from a program flow preset label (the Assemblies library names, e.g. "Two-Lane Road", "Rail - Ballasted Single Track"). |
corridor_baseline_count | uint32_t | Corridor structure. baseline 0 = the primary; 1..N = bundled extras (e.g. an intersection's curb-return baselines). |
corridor_bind_assembly | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
corridor_create | int | Corridor on an alignment (uses its design profile; a road with no profile gets a flat one at 0). Bind a project assembly per region (region_idx 0-based; a fr… |
corridor_region_assembly | int | The assembly bound to (baseline, region); writes its uuid, "" if unbound. |
corridor_region_count | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
doc_add_node | void | ---- document mutation (use from a command). Wraps payload in a node of type_id and adds it under the document root as one undoable edit. The host takes … |
doc_add_node_under | void | ---- document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical string… |
doc_crs_definition | const char* | Project CRS as a PROJ string ("EPSG:5254"); "" if not georeferenced. |
doc_design_speed_kmh | double | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
doc_design_standard | const char* | Road design rule set code ("AASHTO"/"RAL"/"VSS"/"KGM") + design speed. |
doc_ensure_group | void | Find a direct Group child of parent_uuid named group_name, creating it if absent (NOT a duplicate undo each call — created once). parent null/empty => un… |
doc_ground_elevation | int | Ground elevation sampled from the document's surfaces at (x,y). Returns 1 and writes *out_z, or 0 if no surface covers the point. |
doc_is_metric | int | Document display units: 1 = metric, 0 = imperial. (The model is always SI metres; this is only how the UI formats — useful for a module's own labels.) |
doc_load_exchange | int | Merge a .yu3dx exchange file INTO the document: its alignments and surfaces are added under root-level "Alignments" / "Surfaces" groups. The existing content… |
doc_remove_node | void | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
doc_rename_node | void | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
doc_save | int | Save the document as a normal .yu3d file. |
doc_save_exchange | int | Write the document's civil content (alignments + surfaces) as a .yu3dx JSON exchange file — the format the Civil 3D bridge plugin reads and writes. |
doc_set_property | void | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
is_module_active | int | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
plan_add_triangle | void | Plan render: a filled triangle (world coords) with RGBA; alpha < 1 blends overlaps so clashes show. Tessellate footprints (pipe bands, discs, pavement) into … |
plan_real_width | int | Nonzero when the canvas wants TRUE 2D footprints (real-width mode) instead of thin sketch symbols — branch your plan renderer on it. |
reader_version | uint32_t | Inside a node type's READ callback: the host document-format version the payload was written with, so a plugin can migrate an older payload (it still reads i… |
register_plan_grips | void | Register draggable plan grips for a node type (see Yu3dPlanGripFn). Commits ride the sub-entity pos_x/pos_y/rotation properties, so register those too. |
register_property_ex | void | Register a node type's editable fields with category / CHOICE options / unit quantity (see Yu3dPropertyDescEx). Supersedes register_property. |
register_subentity_property | void | Register a node type's per-sub-entity property page (see Yu3dSubPropListFn). |
run_command | int | Run a registered command (module or core, e.g. "road.junction.create") headlessly. keys/values are n parallel argument arrays; a value that parses as a numbe… |
scene_set_pick_id | void | 3D render: tag subsequently-emitted geometry with a sub-entity id, so a click in 3D selects exactly that part (mirrors plan_set_pick_id). |
set_module_active | void | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_add_breakline | int | Surface breaklines — the TIN-forced edges (ridges / toes / pavement edges). add appends one polyline (>= 2 points, n_pts x/y/z triples) and re-enforces it on… |
surface_breakline_count | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_create | int | Surface from a point cloud (n_points x/y/z triples, triangulated). |
surface_get_breakline | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_get_points | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_get_triangles | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
surface_point_count | uint32_t | Surface point cloud + triangulation (USER points; the internal super-triangle is stripped and indices are 0-based into the point array). get_* copy up to `ma… |
surface_triangle_count | uint32_t | document MUTATION. All route through the host's undo stack (each call = one undoable edit), exactly like the Properties dock. uuids are canonical strings. Th… |
COGO points
Create and read survey point groups.
| Function | Returns | Purpose |
|---|---|---|
align_append_elements | int | yucad3d#433 -- EXTEND an existing alignment. APPEND-ONLY, probe with YU3D_HOST_HAS. align_set_elements rewrites a chain from its anchor, so adding one more e… |
align_build_from_pis | int | The Alignment Layout Tools commit — a PI polyline turned into tangents with per-PI fillets (plain arc, or spiral-arc-spiral when there is room), the SAME geo… |
align_connect | int | Derived alignments (the Alignment menu's headless faces). align_connect: the tangent-arc-tangent fillet joining the END of a to the START of b (radius 0 … |
align_create_best_fit | int | align_create_best_fit — least-squares line-or-arc alignment through n_pts (x, y) pairs (the better RMS wins; the choice and RMS are logged). name NULL/empty … |
align_create_best_fit_ex | int | COGO point groups (M8 cont.) |
align_create_curve_from_picks | int | The Curve / Spiral draw tools (yucad3d#276 / web#74) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Three picks (Start, PI, End) plus R -- or R and the symmetric … |
align_create_offset_ex | int | Offset alignment WITH the cross-fall that derives its profile. align_create_offset above builds the plan geometry and (since it routes through the same engin… |
align_create_spiral_from_picks | int | COGO point groups (M8 cont.) |
align_duplicate | int | COGO point groups (M8 cont.) |
align_end_state | int | COGO point groups (M8 cont.) |
align_extract_feature_lines | int | COGO point groups (M8 cont.) |
align_from_corridor_feature | int | COGO point groups (M8 cont.) |
align_get_profile | int | align_get_profile (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Reads the design profile's VPIs back -- the read counterpart align_set_profile / _e… |
align_mirror | int | COGO point groups (M8 cont.) |
align_move_endpoint | int | Endpoint grip drag (geom::refit_alignment_endpoint): move the START (move_start != 0) or END vertex to (x, y). A free move / tangent end re-fits a straight; … |
align_rotate | int | COGO point groups (M8 cont.) |
align_set_arc_radius_by_point | int | Arc-radius grip (geom::set_arc_radius_by_point): seg_index must be a tangent-arc-tangent fillet; the dragged point scales R about the PI (tangency preserved)… |
align_set_elements | int | Replace an alignment's horizontal from a semantic ELEMENT list — the AlignmentBuilder reflow (tangent lock ON): positions chain at the previous real end, par… |
align_set_profile_ex | int | align_set_profile with per-VPI curve types (0 parabolic, 1 circular — exact arc; see the v105 kernel). types may be null = all parabolic; unknown values fail… |
align_set_station_equations | int | COGO point groups (M8 cont.) |
align_station_equations_json | int | COGO point groups (M8 cont.) |
align_tie_profile_to_crossing | int | COGO point groups (M8 cont.) |
align_translate | int | Alignment transforms (yucad3d-web#35) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The desktop Modify menu's Move/Rotate/Mirror over the shared geom transforms,… |
alignment_report | int | alignment_report (yucad3d#64) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The deliverable geometry report for one alignment: element table (type / stations / l… |
alignment_styles_json | int | Alignment style table (yucad3d#181 / web#30 E4): the document's named styles (the desktop Alignment Styles dialog). get is size-then-fetch JSON ({"styles":[{… |
alignment_styles_set_json | int | COGO point groups (M8 cont.) |
assembly_add_input | int | COGO point groups (M8 cont.) |
assembly_add_link | int | COGO point groups (M8 cont.) |
assembly_add_point | int | COGO point groups (M8 cont.) |
assembly_add_seeded | int | Containers + path addressing (yucad3d#109 phase 2b). Every node in assembly_flow_json carries a path ("<i>" root index, then ".s<K>.<I>" child-sequence ste… |
assembly_add_shape | int | COGO point groups (M8 cont.) |
assembly_cant_set | int | Rail cant preview (the desktop Cant tab): pivot -1 left rail / 0 centerline / +1 right rail; rail pivot POINT names; preview delta elevations; gauge (<= 0 = … |
assembly_create_empty | int | ---- assembly FlowGraph authoring (yucad3d#87 batch 5) ------------ APPEND-ONLY -- probe with YU3D_HOST_HAS. The programmatic subset for building an assembly… |
assembly_export_pkt | int | COGO point groups (M8 cont.) |
assembly_flow_json | int | ---- web Assembly Designer read faces (yucad3d#109) --------------- APPEND-ONLY -- probe with YU3D_HOST_HAS. assembly_flow_json writes the assembly's flow ST… |
assembly_import_pkt | int | Civil 3D Subassembly Composer package (.pkt) interchange. assembly_import_pkt converts the package into an Assembly node under parent_uuid (NULL/empty = do… |
assembly_input_count | uint32_t | Input introspection + instance parameters. assembly_input_info's strings point at the host scratch ring -- copy them immediately; out_type is the FlowParam… |
assembly_input_info | int | COGO point groups (M8 cont.) |
assembly_input_remove | int | COGO point groups (M8 cont.) |
assembly_input_update | int | Full input-parameter row edit (the desktop Input Parameters table: Name | Type | Default | Description). type = the FlowParam type (0 Real, 1 Integer, 2 Bool… |
assembly_insert_part | int | Compose a library part (label resolution = assembly_create_preset: the on-disk library first, then the built-in preset catalog) into the assembly at `attach_… |
assembly_library_load | int | COGO point groups (M8 cont.) |
assembly_library_publish | int | Publish the assembly's flow into the SHARED program library ("<library dir>/<node name>.yu3dasm") so it appears in the catalogue (assembly_preset_count / par… |
assembly_library_save | int | .yu3dasm library-file round trip -- the desktop's assembly library format, so a web-designed assembly drops straight into <exe>/assemblies. save exports the … |
assembly_move_box | int | Store a flowchart-canvas position on the node at path (the box drag commit; assembly_flow_json echoes it as canvas_x/canvas_y — (0,0) is the auto-layout se… |
assembly_preset_count | uint32_t | ---- assembly catalogue enumeration ------------------------------- The labels assembly_create_preset accepts, so a client can offer the catalogue instead of… |
assembly_preset_info | int | COGO point groups (M8 cont.) |
assembly_preview_json | int | COGO point groups (M8 cont.) |
assembly_preview_json_ex | int | Superelevation preview (yucad3d#109 phase 2d-2). assembly_preview_json_ex = assembly_preview_json with a superelevation context: the signed cross-fall the ba… |
assembly_remove_at | int | COGO point groups (M8 cont.) |
assembly_remove_node | int | COGO point groups (M8 cont.) |
assembly_reparent | int | COGO point groups (M8 cont.) |
assembly_set_input | int | COGO point groups (M8 cont.) |
assembly_set_node_field | int | COGO point groups (M8 cont.) |
assembly_sketch_link | int | COGO point groups (M8 cont.) |
assembly_sketch_move | int | COGO point groups (M8 cont.) |
assembly_sketch_point | int | Sketch gestures -- the desktop FlowSketchCanvas contract over the ABI, so a canvas (web or plugin) draws and the GRAPH rules mint the nodes. ref names the … |
assembly_sketch_shape | int | COGO point groups (M8 cont.) |
assembly_super_set | int | COGO point groups (M8 cont.) |
assembly_switch_case_add | int | COGO point groups (M8 cont.) |
assembly_switch_case_remove | int | COGO point groups (M8 cont.) |
assembly_target_remove | int | COGO point groups (M8 cont.) |
assembly_target_set | int | Targets + Switch cases + reparent (yucad3d#109 phase 2c). assembly_target_set declares-or-updates a target parameter by name (kind 0 Surface / 1 Offset / 2 E… |
assembly_update_link | int | COGO point groups (M8 cont.) |
assembly_update_point | int | Node update / delete (yucad3d#109 phase 2a) -- by-NAME addressing (container bodies are searched too). The update faces take the FULL editable field set the … |
assembly_update_shape | int | COGO point groups (M8 cont.) |
audit_issue | int | COGO point groups (M8 cont.) |
audit_run | uint32_t | Design audit at the document's active standard + design speed. audit_run recomputes and caches the issue list for this document; audit_issue reads the cached… |
cogo_dir_dir_point | int | COGO point groups (M8 cont.) |
cogo_dist_dist_points | int | COGO point groups (M8 cont.) |
cogo_interpolate_points | int | COGO point groups (M8 cont.) |
cogo_slope_distance_point | int | COGO point groups (M8 cont.) |
cogo_station_offset_point | int | COGO point tools (yucad3d-web#36) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The desktop Points menu over the algo/Cogo math: each creates a point group (grou… |
commands_json | int | Command discovery (yucad3d#206 / web#62 slice 2): the whole module-command registry as JSON -- {"commands":[{id, label, group, page, icon, apiOnly, params:[{… |
corridor_apply_properties_json | int | yucad3d#404 (parite#4 G4c) -- the Corridor Properties dialog's APPLY button, headless. The body fills an engine CorridorRegionUpdate, so the region layout, t… |
corridor_build_surface | int | COGO point groups (M8 cont.) |
corridor_code_survey_json | int | yucad3d#403 (parite#4 G4b) -- Corridor Properties tabs 3-5. corridor_code_survey_json: the Codes + Surfaces tabs in one read -- {"pointCodes":[{"code","count… |
corridor_feature_codes_json | int | Draw generators for a headless host (yucad3d#227 / web#72) -- APPEND-ONLY, probe with YU3D_HOST_HAS. corridor_feature_codes_json: the distinct assembly point… |
corridor_get_region_blend | int | Corridor Region Blend faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The length over which adjacent regions' cross-sections taper into each ot… |
corridor_mesh | int | Tessellate a corridor into its display/earthwork TIN — the SAME builder the desktop Corridor Surface command uses (algo::build_corridor_surface, sections eve… |
corridor_plan_json | int | corridor_plan_json (yucad3d-web#20) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The plan-view corridor footprint the desktop canvas draws (signed pavement exte… |
corridor_properties_json | int | yucad3d#402 (parite#4 G4a) -- the Corridor Properties dialog's read side (desktop CorridorPropertiesDialog.cpp): the Information tab's counts and the Paramet… |
corridor_region_defaults | int | COGO point groups (M8 cont.) |
corridor_remove_baseline | int | yucad3d#406 (parite#4 G4e) -- the Parameters tab's two remaining writes. corridor_remove_baseline drops the LAST extra baseline (the primary is the corridor … |
corridor_set_aor_pivot_method | int | corridor_set_aor_pivot_method (SupportAOR slice 2) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Sets how the superelevation banking pivot is chosen for this cor… |
corridor_set_boundary_extents | int | COGO point groups (M8 cont.) |
corridor_set_named_target | int | corridor_set_named_target (yucad3d#162) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Binds a FlowTarget NAME on the corridor to an AlignmentNode: kind 0 = Offse… |
corridor_set_region_blend | int | COGO point groups (M8 cont.) |
corridor_set_regions | int | corridor_set_regions — rebuild one baseline's region layout at ends (n_ends region end stations, m) with PRESERVE-UNLESS- OVERRIDDEN bindings: assemblies =… |
corridor_set_super_override | int | COGO point groups (M8 cont.) |
corridor_set_surface_codes | int | COGO point groups (M8 cont.) |
corridor_set_widening_override | int | COGO point groups (M8 cont.) |
corridor_super_json | int | Superelevation Editor faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. corridor_super_json seeds the editor table (override rows when set, else … |
corridor_targets_json | int | yucad3d#405 (parite#4 G4d) -- the Pipe Targets / Targets tabs. corridor_targets_json reports what the corridor's assemblies DECLARE (names collected off ever… |
corridor_widening_json | int | Curve Widening Editor faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS; the widening mirror of the superelevation trio. corridor_widening_json re… |
crs_search_json | int | crs_search_json (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The PROJ catalogue behind the Coordinate System dialog: {"total":N,"items":[[auth_cod… |
design_standard_json | int | COGO point groups (M8 cont.) |
distance_inquiry_json | int | distance_inquiry_json (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Grid vs ground distance between two projected points (setting-out): geodesy fro… |
doc_can_redo | int | COGO point groups (M8 cont.) |
doc_can_undo | int | COGO point groups (M8 cont.) |
doc_diff_row | int | COGO point groups (M8 cont.) |
doc_diff_run | int | ---- version diff (yucad3d-web#3) --------------------------------- APPEND-ONLY vtable -- probe with YU3D_HOST_HAS. doc_diff_run compares THIS document (the … |
doc_import_dxf | int | doc_import_dxf (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The import counterpart doc_save_dxf never had: algo::import_dxf on path, every produ… |
doc_import_exchange | int | yucad3d#365 -- .yu3dx import that REPORTS what it could not bring in. doc_load_exchange merges the same way but only whispers its losses into the Event Log, … |
doc_import_landxml | int | doc_import_landxml (yucad3d#340 / web#81-D) -- APPEND-ONLY, probe with YU3D_HOST_HAS. doc_save_landxml's inverse and the desktop's Import LandXML (#318): rea… |
doc_project_description | const char* | COGO point groups (M8 cont.) |
doc_project_name | const char* | Project identity (yucad3d#180 / web#30 E2): the human project name + free-text description the desktop Project Settings dialog edits. Independent of the file… |
doc_project_set | int | COGO point groups (M8 cont.) |
doc_rebuild_stale | uint32_t | COGO point groups (M8 cont.) |
doc_redo | int | COGO point groups (M8 cont.) |
doc_refresh_staleness | uint32_t | Derived objects and their staleness (yucad3d#341 / web#81-E) -- APPEND-ONLY, probe with YU3D_HOST_HAS. A derived node (clearance envelope, fouling points, le… |
doc_save_dxf | int | COGO point groups (M8 cont.) |
doc_save_glb | int | COGO point groups (M8 cont.) |
doc_save_landxml | int | Document-level exports: LandXML 1.2, glTF binary (.glb), DXF R2000. Return 1 on success. |
doc_set_crs | int | COGO point groups (M8 cont.) |
doc_set_design_speed | int | COGO point groups (M8 cont.) |
doc_set_design_standard | int | ---- project configuration + design/analysis faces (#87 batch 3) -- APPEND-ONLY -- probe with YU3D_HOST_HAS. The document-level settings the analysis face RE… |
doc_set_road_class | int | COGO point groups (M8 cont.) |
doc_set_road_type | int | Design Standard dialog faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. doc_set_road_type completes the write set (standard/speed/class existed;… |
doc_set_selection | int | doc_set_selection (yucad3d#347) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The setter twin of doc_current_selection: many module commands (rail.line.create, r… |
doc_undo | int | Undo face (appended — guard with YU3D_HOST_HAS). Every mutation above is one undoable edit on the host's stack; these step it. Return 1 if a step happened (0… |
doc_units_get | int | Drawing Units, full form (yucad3d#177 / web#30 E1). doc_is_metric stays the quick flag; these two carry the whole per-document UnitSettings the desktop Setti… |
doc_units_set | int | COGO point groups (M8 cont.) |
earthworks_json | int | COGO point groups (M8 cont.) |
grading_create | int | grading_create — grade from a footprint alignment to a target: method 0 = to surface (target_surface NULL/empty = the first surface), 1 = to elevation, 2 = t… |
grid_list_json | int | Grid System faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. grid_list_json reads every grid system with its full state (JSON, size-then-fetch).… |
grid_system_apply | int | COGO point groups (M8 cont.) |
ifc_export | int | COGO point groups (M8 cont.) |
ifc_import | int | ---- IFC face (yucad3d#12) ---------------------------------------- APPEND-ONLY vtable -- probe every field with YU3D_HOST_HAS. These are NULL in hosts built… |
ifc_model_batch_count | uint32_t | COGO point groups (M8 cont.) |
ifc_model_batch_info | int | COGO point groups (M8 cont.) |
ifc_model_get_mesh | int | COGO point groups (M8 cont.) |
ifc_model_mesh_counts | int | COGO point groups (M8 cont.) |
ifc_model_object_count | uint32_t | COGO point groups (M8 cont.) |
ifc_model_object_info | int | COGO point groups (M8 cont.) |
ifc_model_object_prop | int | COGO point groups (M8 cont.) |
junction_create | int | ---- road-design creation faces (yucad3d#87 batch 2) -------------- APPEND-ONLY -- probe with YU3D_HOST_HAS. Every function maps 1:1 onto the engine entry po… |
junction_create_ex | int | yucad3d#226 -- junction_create with the curb radius it ACTUALLY used. A non-positive curb_radius falls back to the kernel's 8 m default (engine::kDefaultCu… |
junction_create_multileg | int | COGO point groups (M8 cont.) |
junction_curb_return | int | yucad3d#376 (parite#4 G1) -- the desktop's Alignment Tools pair (MainWindow_Alignment.cpp on_create_curb_return / on_tie_profile_to_crossing). junction_curb_… |
log_clear | void | log_clear (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Empties the process EventLog (the Event Viewer's Clear button); log_count reads 0 afterwards. |
log_count | uint32_t | The process EventLog -- run_command outcomes (warnings, sweep summaries) land here. severity: 0 info, 1 warning, 2 error. |
log_entry | int | COGO point groups (M8 cont.) |
material_qto_json | int | material_qto_json (yucad3d-web#37): per-corridor Composer Shape volumes (ring areas + average end area, the QTO service) — corridor "" = every corridor. Empt… |
node_exchange_json | int | Module-node JSON read (yucad3d#191 / web#50 slice 3): serialise one node through the .yu3dx exchange registry -- each module owns its schema (utilities.netwo… |
node_plan_json | int | node_plan_json (yucad3d#338 / web#81) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The node's OWN plan drawing, captured: the module's registered plan renderer … |
node_property_count | uint32_t | Property ENUMERATION for a generic consumer UI — the same field list the desktop Properties dock renders (data::PropertyApi providers). Query ONE index at a … |
node_property_info | int | COGO point groups (M8 cont.) |
node_rebuild | int | COGO point groups (M8 cont.) |
node_report_json | int | node_report_json (yucad3d#364) -- APPEND-ONLY, probe with YU3D_HOST_HAS. node_plan_json's sibling: what a module node REPORTS -- the data behind the desktop'… |
node_staleness | int | COGO point groups (M8 cont.) |
node_subproperty_count | uint32_t | node_subproperty_count / node_subproperty_info (#503) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The node-level enumeration pair's twin for a SUB-ENTITY: the … |
node_subproperty_info | int | COGO point groups (M8 cont.) |
parts_bake | int | Bake a family into a triangle mesh. param_names/param_values are n_params overrides by parameter identifier (NULL/0 = family defaults); deflection <= 0 = 0.0… |
parts_bake_get | uint32_t | COGO point groups (M8 cont.) |
parts_catalog_bytes | uint64_t | parts_catalog_bytes (yucad3d#274) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The catalog's on-disk footprint: every file under its dir (family files, imported… |
parts_catalog_close | void | COGO point groups (M8 cont.) |
parts_catalog_open | Yu3dPartCatalog* | Part catalogs per owner (yucad3d#270, the C plan) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The parts_* faces above are name-based over ONE catalog: the proc… |
parts_catalog_owns | int | COGO point groups (M8 cont.) |
parts_catalog_select | int | COGO point groups (M8 cont.) |
parts_export_step | int | Export the baked B-rep solid as STEP AP214 -- the real OCCT solid, not the triangulated mesh, so it round-trips into other CAD. Same override semantics as pa… |
parts_export_stl | int | parts_export_stl (yucad3d#119, batch 6) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Same contract as parts_export_step, but the output is a binary STL of the b… |
parts_family_count | uint32_t | ---- Part Builder families (yucad3d#87 batch 4) ------------------- APPEND-ONLY -- probe with YU3D_HOST_HAS. Families are PROCESS state (a name-keyed registr… |
parts_family_create | int | COGO point groups (M8 cont.) |
parts_family_delete | int | COGO point groups (M8 cont.) |
parts_family_duplicate | int | COGO point groups (M8 cont.) |
parts_family_import_base | int | COGO point groups (M8 cont.) |
parts_family_info | int | COGO point groups (M8 cont.) |
parts_family_json | int | Part Builder AUTHORING (yucad3d#117) -- the desktop window's edits as faces over the process registry. parts_family_json writes the family structure (params … |
parts_family_load | int | .yu3dpart file round trip. load parses the file and registers the family (name-keyed -- an existing family of the same name is replaced) and returns its name… |
parts_family_publish | int | COGO point groups (M8 cont.) |
parts_family_rename | int | COGO point groups (M8 cont.) |
parts_family_save | int | COGO point groups (M8 cont.) |
parts_family_set_category | int | Part Builder catalog management, batch 3 (yucad3d#119) -- APPEND-ONLY, probe with YU3D_HOST_HAS. These manage the family's CATALOG entry (registry + its .yu3… |
parts_family_set_fillet | int | COGO point groups (M8 cont.) |
parts_family_validate | int | COGO point groups (M8 cont.) |
parts_param_add | int | Part Builder parameter editing + expression validation, batch 4 (yucad3d#119) -- APPEND-ONLY, probe with YU3D_HOST_HAS. parts_param_add appends a parameter (… |
parts_param_info | int | COGO point groups (M8 cont.) |
parts_param_remove | int | COGO point groups (M8 cont.) |
parts_param_set_value | int | COGO point groups (M8 cont.) |
parts_param_update | int | COGO point groups (M8 cont.) |
parts_ref_mesh_get | uint32_t | COGO point groups (M8 cont.) |
parts_ref_mesh_load | int | Display-reference mesh (yucad3d#119, batch 7) -- APPEND-ONLY, probe with YU3D_HOST_HAS. parts_ref_mesh_load reads an STL (binary or ASCII) or OBJ file with t… |
parts_step_add | int | COGO point groups (M8 cont.) |
parts_step_apply_grip | int | COGO point groups (M8 cont.) |
parts_step_bounds | int | Part Builder grip editing + base-solid import, batch 5 (yucad3d#119) -- APPEND-ONLY, probe with YU3D_HOST_HAS. parts_step_bounds bakes step index in isolat… |
parts_step_move | int | Part Builder authoring, batch 2 (yucad3d#119) -- APPEND-ONLY, probe with YU3D_HOST_HAS. parts_step_move reorders the step program (removes from, reinserts … |
parts_step_remove | int | COGO point groups (M8 cont.) |
parts_step_set_enabled | int | COGO point groups (M8 cont.) |
parts_step_update | int | COGO point groups (M8 cont.) |
pointcloud_classify_ground | int | PCL progressive-morphological ground classification. Writes ASPRS class 2 (ground) / 1 (unclassified) onto the cloud as one edit; out_ground (nullable) gets … |
pointcloud_create_from_las | int | Import a LAS/LAZ file (path form — desktop / server-local files). stride keeps every Nth point (0/1 = all). Returns 1 and fills out_uuid (+ optional out_ke… |
pointcloud_create_from_las_bytes | int | Same import from an in-memory file image (daemon uploads). |
pointcloud_get_classification | uint32_t | Per-point ASPRS classification bytes (same stride semantics). Returns 0 when the cloud is unclassified. |
pointcloud_get_points | uint32_t | Copies up to max_pts xyz triples starting at every strideth point (0/1 = all) and returns the count written — the display path asks with a stride that land… |
pointcloud_get_rgb | uint32_t | Per-point RGB, 3 bytes each (same stride semantics). Returns 0 when the source carried no colour. |
pointcloud_point_count | uint32_t | COGO point groups (M8 cont.) |
pointcloud_remove_outliers | int | PCL statistical outlier removal (mean_k neighbours, stddev_mult). The desktop dialog's ranges are enforced (yucad3d#776): mean_k 2..100, stddev_mult 0.1..10;… |
pointcloud_to_surface | int | Ground points -> a new SurfaceNode (algo::surface_from_cloud: classification (running the ground filter if absent), voxel thinning at thin_leaf_m, then the s… |
pointcloud_voxel_thin | int | Voxel thinning: keeps one point per leaf_m cell (attributes follow). One undoable edit; out_kept (nullable) gets the surviving count. leaf_m must be finite a… |
pointgroup_create | int | Create a point group (n x/y/z triples). Per-point name (COGO description) + feature code are sparse — set them with pointgroup_set_point_meta (null/empty lea… |
pointgroup_get_points | uint32_t | COGO point groups (M8 cont.) |
pointgroup_point_code | const char* | COGO point groups (M8 cont.) |
pointgroup_point_count | uint32_t | COGO point groups (M8 cont.) |
pointgroup_point_name | const char* | COGO point groups (M8 cont.) |
pointgroup_set_point_meta | int | COGO point groups (M8 cont.) |
pointgroup_style_get | int | Point group style (yucad3d#181): the marker the desktop Point Group Style dialog edits — colour (rgb 0..1; alpha is not exposed, matching the dialog), marker… |
pointgroup_style_set | int | COGO point groups (M8 cont.) |
points_along_alignment | int | COGO point groups (M8 cont.) |
points_connect_by_code | int | points_connect_by_code (yucad3d-web#38): feature lines from a point group's coded points — the desktop Connect by Feature Code verbatim: per code (>= 2 point… |
points_create_from_text | int | points_create_from_text (yucad3d#228 / web#73) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The point-group twin of surface_create_from_text: the same parser an… |
points_on_grid | int | COGO point groups (M8 cont.) |
points_subgroup | int | Sub-group by criteria (yucad3d#181): filter a point group by 1-based point-number range and elevation range into a new "<name> subset" group under Points, in… |
profile_band_data_json | int | COGO point groups (M8 cont.) |
profile_band_set_apply_json | int | COGO point groups (M8 cont.) |
profile_band_set_json | int | yucad3d#399 (parite#4 G3b) -- the profile BAND SET (Civil 3D "Band Set"; desktop ProfileBandSetDialog.cpp) and the data its strips are built from (ProfileCan… |
profile_report | int | profile_report (yucad3d#64 slice 2): the design-profile PVI table (station / elevation / grades / A% / curve L / K / Crest-Sag / VPC-VPT / high-low point) fo… |
roundabout_create | int | roundabout_create — the standards-seeded roundabout (VSS 40 263): icd / ring_width / entry_r / exit_r 0 = seed from the standard's rb.* data. flags = YU3D_RB… |
samplelines_add_manual | int | yucad3d#390 (parite#4 G3a) -- the desktop's Add Sample Line at Station (MainWindow_Surface.cpp on_add_sample_line): one MANUAL sample line on group at `sta… |
samplelines_create | int | samplelines_create — a SampleLineGroup along an alignment (interval + half-widths). existing / design surface uuids are optional (NULL/empty) -- the QTO / se… |
samplelines_json | int | COGO point groups (M8 cont.) |
scale_report_json | int | scale_report_json (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The Scale Factor Report dataset for an alignment: header stats (grid/ground lengths… |
section_json | int | section_json (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The Cross Section dock's payload: ground swath + corridor template + design CL at `stati… |
section_view_json | int | Sections-tab faces (yucad3d-web#27) -- APPEND-ONLY, probe with YU3D_HOST_HAS. section_view_json is section_json's rich sibling (the desktop Sections tab's ex… |
sight_analyze | int | sight_analyze — run the sight-distance sweep along a road alignment against every surface in the document (plus the road's own baked corridor surfaces when i… |
sight_band | int | COGO point groups (M8 cont.) |
sight_band_count | uint32_t | The latest sight-distance sweep cached per alignment (filled by road.sight.analyze / the desktop dialog). |
speed_bands_derive | int | speed_bands_derive — derive the V_P design-speed bands from the alignment's geometry with the document's design standard and store them on the node. v_a_kmh … |
standards_count | uint32_t | ---- design-standard data management (yucad3d#87 batch 6) --------- APPEND-ONLY -- probe with YU3D_HOST_HAS. Standards data is PROCESS state (an id-keyed reg… |
standards_import_c3d | int | COGO point groups (M8 cont.) |
standards_info | int | COGO point groups (M8 cont.) |
standards_load_dir | int | COGO point groups (M8 cont.) |
standards_load_file | int | standards_load_file registers one yu3dDesignStandard XML (id-keyed -- a re-load of the same id replaces) and returns its id. standards_load_dir loads every *… |
standards_save_file | int | COGO point groups (M8 cont.) |
staoffset_report | int | staoffset_report (yucad3d#64 slice 4): the stakeout listing — rows at interval_m (0.5 m floor) plus every element joint and the exact end (key rows flagged… |
super_diagram_json | int | super_diagram_json (yucad3d-web#28): the Layout sheet's e(station) curve with the desktop rule whole — a corridor on this alignment answers with its ACTIVE s… |
super_report | int | super_report (yucad3d#64 slice 3): the superelevation deliverable for one corridor — the applied (station, rate) diagram plus one zone row per circular curve… |
super_runoff_json | int | COGO point groups (M8 cont.) |
superelevation_design | int | superelevation_design — standard-aware runoff for the corridor's alignment (e_max <= 0 = the loaded standard's value for the document's speed / road class), … |
surface_add_breakline_ex | int | COGO point groups (M8 cont.) |
surface_add_breakline_from_alignment | int | COGO point groups (M8 cont.) |
surface_add_point_group | int | COGO point groups (M8 cont.) |
surface_add_points | int | COGO point groups (M8 cont.) |
surface_clear_boundaries | int | COGO point groups (M8 cont.) |
surface_contours | uint32_t | surface_contours (#502) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The contour segments of a surface's TIN at interval_m, the third Surface Style display mo… |
surface_create_empty | int | yucad3d#368 (#342 F3) -- surface DATA SOURCES as definition operations (Civil 3D Definition items; desktop MainWindow_SurfaceSources.cpp / DocumentTab_Surfac… |
surface_create_from_point_group | int | surface_create_from_point_group (yucad3d#777) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The desktop's "Create Surface" on a point group, entirely host-side: … |
surface_create_from_text | int | Surface from raw point-file TEXT (CSV/XYZ/PTS/ASC — the desktop import rules: '#'/';' comments, commas/tabs as whitespace). order picks the column layout: … |
surface_cut_fill | int | Cut/fill volumes between two surface NODES (midpoint grid at cell_m; <= 0 falls back to 1 m). Returns 0 when either uuid is not a surface with data. |
surface_definition_json | int | yucad3d#366 (#342 F1+F2) -- the SURFACE DEFINITION (Civil 3D Surface Properties > Definition; desktop MainWindow_SurfaceProps.cpp). surface_definition_json: … |
surface_delete_line | int | COGO point groups (M8 cont.) |
surface_delete_point | int | COGO point groups (M8 cont.) |
surface_elevation_at | int | surface_elevation_at (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. Samples ONE surface's TIN at (x,y) — the per-surface counterpart of doc_ground_e… |
surface_history_json | int | Surface History / Style faces (yucad3d#125) -- APPEND-ONLY, probe with YU3D_HOST_HAS. surface_history_json lists the definition operations (oldest first); su… |
surface_merge | int | surface_merge triangulates the union of two surfaces' points into a NEW surface node (the inputs stay). points_along_alignment samples an alignment into a po… |
surface_modify_point_elevation | int | COGO point groups (M8 cont.) |
surface_move_op | int | COGO point groups (M8 cont.) |
surface_move_point | int | COGO point groups (M8 cont.) |
surface_nearest_edge | int | COGO point groups (M8 cont.) |
surface_nearest_point | int | yucad3d#373 (#342 F4) -- Civil 3D surface EDITS as definition operations (desktop DocumentTab_SurfaceTools.cpp start_surface_edit / MainWindow_SurfaceSources… |
surface_paste | int | COGO point groups (M8 cont.) |
surface_raise_lower | int | COGO point groups (M8 cont.) |
surface_rebuild | int | COGO point groups (M8 cont.) |
surface_remove_op | int | COGO point groups (M8 cont.) |
surface_revert_history | int | COGO point groups (M8 cont.) |
surface_set_boundary | int | ---- surface clipping boundaries + Civil 3D .pkt (yucad3d#87) ----- APPEND-ONLY -- probe with YU3D_HOST_HAS. surface_set_boundary sets the OUTER clipping rin… |
surface_set_boundary_ex | int | COGO point groups (M8 cont.) |
surface_set_op_enabled | int | COGO point groups (M8 cont.) |
surface_set_style | int | COGO point groups (M8 cont.) |
surface_smooth | int | COGO point groups (M8 cont.) |
surface_style_json | int | COGO point groups (M8 cont.) |
surface_style_save_shared | int | COGO point groups (M8 cont.) |
surface_swap_edge | int | COGO point groups (M8 cont.) |
surface_z_range | int | surface_z_range (#520) -- APPEND-ONLY, probe with YU3D_HOST_HAS. The surface's elevation range from its USER points, {min, max} in metres. Returns 1 and fill… |
utilities_create_network | int | Create a utility network (yucad3d#185 / web#50): the desktop Create Network dialog's headless path. kind = UtilityKind value (0 Water, 1 FoulSewer, 2 Storm, … |
utilities_network_add_catchment | int | Add a polygon subcatchment (yucad3d#196 / web#50 slice 7): xy = npts x/y boundary pairs (>= 3), draining to the nearest structure (the desktop draw-catchment… |
utilities_network_add_structure | int | Network editing (yucad3d#193 / web#50 slice 4): the desktop's four undoable interactive edits, headless. add_structure appends at (x,y) -- rim from the topmo… |
utilities_network_connect_pipe | int | COGO point groups (M8 cont.) |
utilities_network_delete_part | int | COGO point groups (M8 cont.) |
utilities_network_from_path | int | Freehand network (yucad3d#186 / web#50 slice 2): the desktop draw-in-Plan commit -- xy = npts x/y pairs (>= 2), one structure per pick, pipes chaining them, … |
utilities_network_split_pipe | int | COGO point groups (M8 cont.) |
view_frames_create | int | View frames (yucad3d#58 slice 1) -- APPEND-ONLY, probe with YU3D_HOST_HAS. view_frames_create places a ViewFrameGroup node under the Sheets group: frames of … |
view_frames_json | int | COGO point groups (M8 cont.) |
widening_transition_json | int | COGO point groups (M8 cont.) |
Payload writer
Append a node's own bytes to its payload frame during save. The host frames and versions the container.
| Function | Returns | Purpose |
|---|---|---|
w_f64 | void | writer: append to the node's payload frame |
w_str | void | writer: append to the node's payload frame |
w_u32 | void | writer: append to the node's payload frame |
w_u8 | void | ---- writer: append to the node's payload frame ---- |
Payload reader
Read those bytes back during load. Every reader returns success/failure — a short read must fail the node, not guess.
| Function | Returns | Purpose |
|---|---|---|
r_f64 | int | reader: return 1 on success, 0 on failure. r_str returns a pointer to host-owned memory valid only until the NEXT reader call — copy out what you need immedi… |
r_str | const char* | reader: return 1 on success, 0 on failure. r_str returns a pointer to host-owned memory valid only until the NEXT reader call — copy out what you need immedi… |
r_u32 | int | reader: return 1 on success, 0 on failure. r_str returns a pointer to host-owned memory valid only until the NEXT reader call — copy out what you need immedi… |
r_u8 | int | ---- reader: return 1 on success, 0 on failure. r_str returns a pointer to host-owned memory valid only until the NEXT reader call — copy out what you need i… |
Plan rendering
Emit plan-view geometry in world metres; the canvas owns zoom, styling and picking.
| Function | Returns | Purpose |
|---|---|---|
plan_add_marker | void | plan-view render sink (world metres; colours linear 0..1; *_px are device-independent screen pixels, zoom-invariant) |
plan_add_segment | void | ---- plan-view render sink (world metres; colours linear 0..1; _px are device-independent screen pixels, zoom-invariant) ---- |
plan_add_text | void | plan-view render sink (world metres; colours linear 0..1; *_px are device-independent screen pixels, zoom-invariant) |
plan_world_per_pixel | double | plan-view render sink (world metres; colours linear 0..1; *_px are device-independent screen pixels, zoom-invariant) |
3D rendering
Emit 3D geometry; the scene manager turns it into actors it tracks for selection and removal.
| Function | Returns | Purpose |
|---|---|---|
scene_add_lines | void | ---- 3D-view render sink. xyz is n_pts (x,y,z) triples; index arrays reference vertices by triple index. ---- |
scene_add_triangles | void | 3D-view render sink. xyz is n_pts (x,y,z) triples; index arrays reference vertices by triple index. |
Picking
Tag emitted geometry so a click resolves to a sub-entity of the node rather than the whole node.
| Function | Returns | Purpose |
|---|---|---|
register_summary | void | ---- register a read-only summary shown in the Properties dock for this node type. ---- |