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

OCCT-Light: sketch, curve, wire, and planar construction API. More...

#include "occtl_core.h"
#include "occtl_curves2d.h"
#include "occtl_geom.h"
#include "occtl_surfaces.h"
#include "occtl_topo.h"
Include dependency graph for occtl_prim_sketch.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  occtl_prim_polyline_info
 
struct  occtl_prim_regular_polygon_info
 
struct  occtl_prim_rectangle_info
 
struct  occtl_prim_circle_info
 
struct  occtl_prim_ellipse_info
 
struct  occtl_prim_planar_face_info
 
struct  occtl_prim_convex_hull_2d_info
 
struct  occtl_prim_trace_info
 
struct  occtl_prim_constrained_edge_info
 
struct  occtl_prim_arc_3pt_info
 
struct  occtl_prim_arc_center_info
 
struct  occtl_prim_spline_info
 
struct  occtl_prim_plane_info
 
struct  occtl_prim_disk_info
 
struct  occtl_prim_slot_info
 
struct  occtl_prim_tube_info
 
struct  occtl_prim_helix_info
 
struct  occtl_prim_fillet_2d_info
 
struct  occtl_prim_full_round_2d_info
 

Macros

#define OCCTL_PRIM_POLYLINE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_POLYLINE_INFO_INIT   {OCCTL_PRIM_POLYLINE_INFO_VERSION_1, NULL, NULL, 0, 0}
 
#define OCCTL_PRIM_REGULAR_POLYGON_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_REGULAR_POLYGON_INFO_INIT
 
#define OCCTL_PRIM_RECTANGLE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_RECTANGLE_INFO_INIT
 
#define OCCTL_PRIM_CIRCLE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_CIRCLE_INFO_INIT    {OCCTL_PRIM_CIRCLE_INFO_VERSION_1, NULL, {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, 0.0}
 
#define OCCTL_PRIM_ELLIPSE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_ELLIPSE_INFO_INIT
 
#define OCCTL_PRIM_PLANAR_FACE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_PLANAR_FACE_INFO_INIT    {OCCTL_PRIM_PLANAR_FACE_INFO_VERSION_1, NULL, OCCTL_NODE_ID_INVALID, NULL, 0}
 
#define OCCTL_PRIM_CONVEX_HULL_2D_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_CONVEX_HULL_2D_INFO_INIT
 
#define OCCTL_PRIM_TRACE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_TRACE_INFO_INIT
 
#define OCCTL_PRIM_CONSTRAINED_EDGE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_CONSTRAINED_EDGE_INFO_INIT
 
#define OCCTL_PRIM_ARC_3PT_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_ARC_3PT_INFO_INIT    {OCCTL_PRIM_ARC_3PT_INFO_VERSION_1, NULL, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}}
 
#define OCCTL_PRIM_ARC_CENTER_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_ARC_CENTER_INFO_INIT
 
#define OCCTL_PRIM_SPLINE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_SPLINE_INFO_INIT   {OCCTL_PRIM_SPLINE_INFO_VERSION_1, NULL, NULL, 0, 3, 8, 1.0e-3}
 
#define OCCTL_PRIM_PLANE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_PLANE_INFO_INIT
 
#define OCCTL_PRIM_DISK_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_DISK_INFO_INIT    {OCCTL_PRIM_DISK_INFO_VERSION_1, NULL, {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, 0.0}
 
#define OCCTL_PRIM_SLOT_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_SLOT_INFO_INIT
 
#define OCCTL_PRIM_TUBE_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_TUBE_INFO_INIT
 
#define OCCTL_PRIM_HELIX_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_HELIX_INFO_INIT
 
#define OCCTL_PRIM_FILLET_2D_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_FILLET_2D_INFO_INIT    {OCCTL_PRIM_FILLET_2D_INFO_VERSION_1, NULL, OCCTL_NODE_ID_INVALID, NULL, 0, 0.0}
 
#define OCCTL_PRIM_FULL_ROUND_2D_INFO_VERSION_1   1u
 
#define OCCTL_PRIM_FULL_ROUND_2D_INFO_INIT
 

Typedefs

typedef struct occtl_prim_polyline_info occtl_prim_polyline_info_t
 
typedef struct occtl_prim_regular_polygon_info occtl_prim_regular_polygon_info_t
 
typedef struct occtl_prim_rectangle_info occtl_prim_rectangle_info_t
 
typedef struct occtl_prim_circle_info occtl_prim_circle_info_t
 
typedef struct occtl_prim_ellipse_info occtl_prim_ellipse_info_t
 
typedef struct occtl_prim_planar_face_info occtl_prim_planar_face_info_t
 
typedef struct occtl_prim_convex_hull_2d_info occtl_prim_convex_hull_2d_info_t
 
typedef struct occtl_prim_trace_info occtl_prim_trace_info_t
 
typedef struct occtl_prim_constrained_edge_info occtl_prim_constrained_edge_info_t
 
typedef struct occtl_prim_arc_3pt_info occtl_prim_arc_3pt_info_t
 
typedef struct occtl_prim_arc_center_info occtl_prim_arc_center_info_t
 
typedef struct occtl_prim_spline_info occtl_prim_spline_info_t
 
typedef struct occtl_prim_plane_info occtl_prim_plane_info_t
 
typedef struct occtl_prim_disk_info occtl_prim_disk_info_t
 
typedef struct occtl_prim_slot_info occtl_prim_slot_info_t
 
typedef struct occtl_prim_tube_info occtl_prim_tube_info_t
 
typedef struct occtl_prim_helix_info occtl_prim_helix_info_t
 
typedef struct occtl_prim_fillet_2d_info occtl_prim_fillet_2d_info_t
 
typedef struct occtl_prim_full_round_2d_info occtl_prim_full_round_2d_info_t
 

Functions

void occtl_prim_polyline_info_init (occtl_prim_polyline_info_t *info)
 
occtl_status_t occtl_prim_make_polyline (occtl_graph_t *graph, const occtl_prim_polyline_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_regular_polygon_info_init (occtl_prim_regular_polygon_info_t *info)
 
occtl_status_t occtl_prim_make_regular_polygon (occtl_graph_t *graph, const occtl_prim_regular_polygon_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_rectangle_info_init (occtl_prim_rectangle_info_t *info)
 
occtl_status_t occtl_prim_make_rectangle (occtl_graph_t *graph, const occtl_prim_rectangle_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_circle_info_init (occtl_prim_circle_info_t *info)
 
occtl_status_t occtl_prim_make_circle (occtl_graph_t *graph, const occtl_prim_circle_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_ellipse_info_init (occtl_prim_ellipse_info_t *info)
 
occtl_status_t occtl_prim_make_ellipse (occtl_graph_t *graph, const occtl_prim_ellipse_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_planar_face_info_init (occtl_prim_planar_face_info_t *info)
 
occtl_status_t occtl_prim_make_planar_face (occtl_graph_t *graph, const occtl_prim_planar_face_info_t *info, occtl_node_id_t *out_face)
 
void occtl_prim_convex_hull_2d_info_init (occtl_prim_convex_hull_2d_info_t *info)
 
occtl_status_t occtl_prim_make_convex_hull_2d (occtl_graph_t *graph, const occtl_prim_convex_hull_2d_info_t *info, occtl_node_id_t *out_node)
 
void occtl_prim_trace_info_init (occtl_prim_trace_info_t *info)
 
occtl_status_t occtl_prim_make_trace (occtl_graph_t *graph, const occtl_prim_trace_info_t *info, occtl_node_id_t *out_face)
 
void occtl_prim_constrained_edge_info_init (occtl_prim_constrained_edge_info_t *info)
 
occtl_status_t occtl_prim_make_constrained_edge (occtl_graph_t *graph, const occtl_prim_constrained_edge_info_t *info, occtl_node_id_t *out_edge)
 
void occtl_prim_arc_3pt_info_init (occtl_prim_arc_3pt_info_t *info)
 
occtl_status_t occtl_prim_make_arc_3pt (occtl_graph_t *graph, const occtl_prim_arc_3pt_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_arc_center_info_init (occtl_prim_arc_center_info_t *info)
 
occtl_status_t occtl_prim_make_arc_center (occtl_graph_t *graph, const occtl_prim_arc_center_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_spline_info_init (occtl_prim_spline_info_t *info)
 
occtl_status_t occtl_prim_make_spline (occtl_graph_t *graph, const occtl_prim_spline_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_plane_info_init (occtl_prim_plane_info_t *info)
 
occtl_status_t occtl_prim_make_plane (occtl_graph_t *graph, const occtl_prim_plane_info_t *info, occtl_node_id_t *out_face)
 
void occtl_prim_disk_info_init (occtl_prim_disk_info_t *info)
 
occtl_status_t occtl_prim_make_disk (occtl_graph_t *graph, const occtl_prim_disk_info_t *info, occtl_node_id_t *out_face)
 
void occtl_prim_slot_info_init (occtl_prim_slot_info_t *info)
 
occtl_status_t occtl_prim_make_slot (occtl_graph_t *graph, const occtl_prim_slot_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_tube_info_init (occtl_prim_tube_info_t *info)
 
occtl_status_t occtl_prim_make_tube (occtl_graph_t *graph, const occtl_prim_tube_info_t *info, occtl_node_id_t *out_solid)
 
void occtl_prim_helix_info_init (occtl_prim_helix_info_t *info)
 
occtl_status_t occtl_prim_make_helix (occtl_graph_t *graph, const occtl_prim_helix_info_t *info, occtl_node_id_t *out_wire)
 
void occtl_prim_fillet_2d_info_init (occtl_prim_fillet_2d_info_t *info)
 
occtl_status_t occtl_prim_make_fillet_2d (occtl_graph_t *graph, const occtl_prim_fillet_2d_info_t *info, occtl_node_id_t *out_face)
 
void occtl_prim_full_round_2d_info_init (occtl_prim_full_round_2d_info_t *info)
 
occtl_status_t occtl_prim_make_full_round_2d (occtl_graph_t *graph, const occtl_prim_full_round_2d_info_t *info, occtl_node_id_t *out_face)
 

Detailed Description

OCCT-Light: sketch, curve, wire, and planar construction API.

Macro Definition Documentation

◆ OCCTL_PRIM_ARC_3PT_INFO_VERSION_1

#define OCCTL_PRIM_ARC_3PT_INFO_VERSION_1   1u

Trihedron mode for occtl_prim_make_pipe_shell.

Selects the rotation rule applied to the profile as it is swept along the spine.

◆ OCCTL_PRIM_ARC_CENTER_INFO_INIT

#define OCCTL_PRIM_ARC_CENTER_INFO_INIT
Value:
{OCCTL_PRIM_ARC_CENTER_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0.0, \
0.0, \
0.0}

◆ OCCTL_PRIM_CONSTRAINED_EDGE_INFO_INIT

#define OCCTL_PRIM_CONSTRAINED_EDGE_INFO_INIT
Value:
{OCCTL_PRIM_CONSTRAINED_EDGE_INFO_VERSION_1, \
NULL, \
OCCTL_REP_ID_INVALID, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0, \
0.0, \
0.0}

◆ OCCTL_PRIM_CONVEX_HULL_2D_INFO_INIT

#define OCCTL_PRIM_CONVEX_HULL_2D_INFO_INIT
Value:
{OCCTL_PRIM_CONVEX_HULL_2D_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
NULL, \
0u, \
NULL, \
0u, \
1.0e-7, \
0}

◆ OCCTL_PRIM_ELLIPSE_INFO_INIT

#define OCCTL_PRIM_ELLIPSE_INFO_INIT
Value:
{OCCTL_PRIM_ELLIPSE_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0.0, \
0.0}

◆ OCCTL_PRIM_FULL_ROUND_2D_INFO_INIT

#define OCCTL_PRIM_FULL_ROUND_2D_INFO_INIT
Value:
{OCCTL_PRIM_FULL_ROUND_2D_INFO_VERSION_1, \
NULL, \
0.0, \
32u}
#define OCCTL_NODE_ID_INVALID
Definition occtl_topo_types.h:138

◆ OCCTL_PRIM_HELIX_INFO_INIT

#define OCCTL_PRIM_HELIX_INFO_INIT
Value:
{OCCTL_PRIM_HELIX_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0.0, \
0.0, \
0.0, \
0}

◆ OCCTL_PRIM_PLANE_INFO_INIT

#define OCCTL_PRIM_PLANE_INFO_INIT
Value:
{OCCTL_PRIM_PLANE_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0.0, \
0.0}

◆ OCCTL_PRIM_RECTANGLE_INFO_INIT

#define OCCTL_PRIM_RECTANGLE_INFO_INIT
Value:
{OCCTL_PRIM_RECTANGLE_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0.0, \
0.0}

◆ OCCTL_PRIM_REGULAR_POLYGON_INFO_INIT

#define OCCTL_PRIM_REGULAR_POLYGON_INFO_INIT
Value:
{OCCTL_PRIM_REGULAR_POLYGON_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0.0, \
3, \
0.0}

◆ OCCTL_PRIM_SLOT_INFO_INIT

#define OCCTL_PRIM_SLOT_INFO_INIT
Value:
{OCCTL_PRIM_SLOT_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0.0, \
0.0}

◆ OCCTL_PRIM_TRACE_INFO_INIT

#define OCCTL_PRIM_TRACE_INFO_INIT
Value:
{OCCTL_PRIM_TRACE_INFO_VERSION_1, \
NULL, \
1.0, \
{0.0, 0.0, 1.0}, \
0}
@ OCCTL_TOPO_WIRE_OFFSET_2D_JOIN_ARC
Definition occtl_topo_build.h:194

◆ OCCTL_PRIM_TUBE_INFO_INIT

#define OCCTL_PRIM_TUBE_INFO_INIT
Value:
{OCCTL_PRIM_TUBE_INFO_VERSION_1, \
NULL, \
{{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
0.0, \
0.0, \
0.0}

Typedef Documentation

◆ occtl_prim_arc_3pt_info_t

Info for occtl_prim_make_arc_3pt.

Builds a single-edge wire on the arc of the unique circle passing through start, via, and end. via must lie strictly between the other two on the arc.

◆ occtl_prim_arc_center_info_t

Info for occtl_prim_make_arc_center.

Builds a single-edge wire on a circular arc defined by its supporting circle (placement + radius) and the start_angle / end_angle sweep (radians). end_angle > start_angle; the sweep direction follows the placement's Z axis (right-hand rule).

◆ occtl_prim_circle_info_t

Info for occtl_prim_make_circle.

Builds a one-edge closed wire for a full circle of radius radius lying in the XY plane of placement.

◆ occtl_prim_constrained_edge_info_t

Info for occtl_prim_make_constrained_edge.

Projects a 2D curve handle (for example a tangent/blend solution from occtl_curves2d.h) onto a 3D sketch plane and builds one Edge from it. OCCT performs the 2D-to-3D conversion; OCCT-Light only validates the ABI inputs and inserts the resulting Edge into the graph. Unbounded curves such as 2D lines need an explicit finite parameter range.

◆ occtl_prim_convex_hull_2d_info_t

Info for occtl_prim_make_convex_hull_2d.

Builds a closed convex hull from explicit points and/or existing graph Vertex nodes projected into placement. The result is either a Wire or a planar Face depending on make_face. OCCT constructs the resulting topology; the hull ordering is a deterministic 2D projected ordering in the requested sketch plane.

◆ occtl_prim_disk_info_t

Info for occtl_prim_make_disk.

Builds a circular planar Face on the XY plane of placement, with the boundary being a single-edge circular wire of radius.

◆ occtl_prim_ellipse_info_t

Info for occtl_prim_make_ellipse.

Builds a one-edge closed wire for a full ellipse of semi-axes major (along placement X) and minor (along placement Y), with the centre at placement.location.

◆ occtl_prim_fillet_2d_info_t

Info for occtl_prim_make_fillet_2d.

Rounds corners of face to radius. If vertices is NULL or vertex_count is 0, every Vertex of face is filleted; otherwise only the listed Vertex nodes.

◆ occtl_prim_full_round_2d_info_t

Info for occtl_prim_make_full_round_2d.

Replaces an end Edge of a planar Face with the largest same-radius pair of OCCT 2D fillets that can be applied at the Edge's two vertices. When radius is positive, that exact radius is used. When radius is 0, OCCT-Light searches for the largest radius up to half of the selected Edge length by repeatedly asking OCCT's 2D fillet builder to construct the result.

◆ occtl_prim_helix_info_t

Info for occtl_prim_make_helix.

Builds a Wire on a helical edge of radius, pitch (height gained per full turn), and total height. The helix winds around the Z axis of placement, centred at placement.location. Right-handedness is the default (counter-clockwise rotation as the helix advances along +Z).

◆ occtl_prim_planar_face_info_t

Info for occtl_prim_make_planar_face.

Builds a planar face from one closed outer_wire and zero or more inner_wires (holes). The face's supporting plane is inferred from outer_wire (OCCT auto-detects); inner wires must lie in the same plane.

◆ occtl_prim_plane_info_t

Info for occtl_prim_make_plane.

Builds a planar Face on the XY plane of placement, bounded by a rectangle of width by height centred on placement.location. Equivalent to building a rectangle wire and feeding it to occtl_prim_make_planar_face, but built directly for slightly less topology churn.

◆ occtl_prim_polyline_info_t

Info for occtl_prim_make_polyline.

Builds an open or closed wire from a sequence of straight-line edges threaded between points (a polygon wire).

◆ occtl_prim_rectangle_info_t

Info for occtl_prim_make_rectangle.

Builds a closed four-edge wire centred on placement.location, with width along the placement's X axis and height along its Y axis.

◆ occtl_prim_regular_polygon_info_t

Info for occtl_prim_make_regular_polygon.

Builds a closed sides-sided wire inscribed in a circle of radius circumradius lying in the XY plane of placement. rotation offsets the first vertex from the placement's X axis (radians).

◆ occtl_prim_slot_info_t

Info for occtl_prim_make_slot.

Builds a closed "stadium" (slot) wire: two straight edges along the X axis of placement connected by two semicircular arcs at the ends. The slot is centred on placement.location with overall length length along X and width width along Y. The two end caps each have radius width / 2; therefore length must be strictly greater than width (else there is no straight section).

◆ occtl_prim_spline_info_t

Info for occtl_prim_make_spline.

Builds a one-edge Wire on a B-spline curve approximating the supplied points.

◆ occtl_prim_trace_info_t

Info for occtl_prim_make_trace.

Builds a constant-width planar face around an Edge or open Wire path. OCCT constructs the offset contour; OCCT-Light only wraps the resulting closed contour as a planar Face and inserts it into the graph. For a single linear Edge, normal defines the sketch plane normal used to centre the rectangular trace around the edge.

◆ occtl_prim_tube_info_t

Info for occtl_prim_make_tube.

Builds a Solid hollow cylinder with outer radius outer_radius and inner radius inner_radius, centred on placement.location and extruded along placement's Z axis by height. Internally a rectangular cross-section is revolved a full turn around the placement Z axis. Both annular caps are present in the resulting Solid.

Function Documentation

◆ occtl_prim_arc_3pt_info_init()

void occtl_prim_arc_3pt_info_init ( occtl_prim_arc_3pt_info_t info)

Runtime initialiser for occtl_prim_arc_3pt_info_t.

Sets all fields to OCCTL_PRIM_ARC_3PT_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_arc_3pt

◆ occtl_prim_arc_center_info_init()

void occtl_prim_arc_center_info_init ( occtl_prim_arc_center_info_t info)

Runtime initialiser for occtl_prim_arc_center_info_t.

Sets all fields to OCCTL_PRIM_ARC_CENTER_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_arc_center

◆ occtl_prim_circle_info_init()

void occtl_prim_circle_info_init ( occtl_prim_circle_info_t info)

Runtime initialiser for occtl_prim_circle_info_t.

Sets all fields to OCCTL_PRIM_CIRCLE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_circle

◆ occtl_prim_constrained_edge_info_init()

void occtl_prim_constrained_edge_info_init ( occtl_prim_constrained_edge_info_t info)

Runtime initialiser for occtl_prim_constrained_edge_info_t.

Sets all fields to OCCTL_PRIM_CONSTRAINED_EDGE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_constrained_edge

◆ occtl_prim_convex_hull_2d_info_init()

void occtl_prim_convex_hull_2d_info_init ( occtl_prim_convex_hull_2d_info_t info)

Runtime initialiser for occtl_prim_convex_hull_2d_info_t.

Sets all fields to OCCTL_PRIM_CONVEX_HULL_2D_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_convex_hull_2d

◆ occtl_prim_disk_info_init()

void occtl_prim_disk_info_init ( occtl_prim_disk_info_t info)

Runtime initialiser for occtl_prim_disk_info_t.

Sets all fields to OCCTL_PRIM_DISK_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_disk

◆ occtl_prim_ellipse_info_init()

void occtl_prim_ellipse_info_init ( occtl_prim_ellipse_info_t info)

Runtime initialiser for occtl_prim_ellipse_info_t.

Sets all fields to OCCTL_PRIM_ELLIPSE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_ellipse

◆ occtl_prim_fillet_2d_info_init()

void occtl_prim_fillet_2d_info_init ( occtl_prim_fillet_2d_info_t info)

Runtime initialiser for occtl_prim_fillet_2d_info_t.

Sets all fields to OCCTL_PRIM_FILLET_2D_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_fillet_2d

◆ occtl_prim_full_round_2d_info_init()

void occtl_prim_full_round_2d_info_init ( occtl_prim_full_round_2d_info_t info)

Runtime initialiser for occtl_prim_full_round_2d_info_t.

Sets all fields to OCCTL_PRIM_FULL_ROUND_2D_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_full_round_2d

◆ occtl_prim_helix_info_init()

void occtl_prim_helix_info_init ( occtl_prim_helix_info_t info)

Runtime initialiser for occtl_prim_helix_info_t.

Sets all fields to OCCTL_PRIM_HELIX_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_helix

◆ occtl_prim_make_arc_3pt()

occtl_status_t occtl_prim_make_arc_3pt ( occtl_graph_t graph,
const occtl_prim_arc_3pt_info_t info,
occtl_node_id_t out_wire 
)

Builds a single-edge wire for the circular arc through three points.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDThe three points are collinear / coincident.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_arc_3pt_info_init

◆ occtl_prim_make_arc_center()

occtl_status_t occtl_prim_make_arc_center ( occtl_graph_t graph,
const occtl_prim_arc_center_info_t info,
occtl_node_id_t out_wire 
)

Builds a single-edge wire for a circular arc swept around a placement's Z axis.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDradius is non-positive or end_angle <= start_angle.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_arc_center_info_init

◆ occtl_prim_make_circle()

occtl_status_t occtl_prim_make_circle ( occtl_graph_t graph,
const occtl_prim_circle_info_t info,
occtl_node_id_t out_wire 
)

Builds a one-edge closed Wire on a full circle.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDradius is non-positive.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_circle_info_init

◆ occtl_prim_make_constrained_edge()

occtl_status_t occtl_prim_make_constrained_edge ( occtl_graph_t graph,
const occtl_prim_constrained_edge_info_t info,
occtl_node_id_t out_edge 
)

Builds one Edge from a 2D curve placed on a 3D sketch plane.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_edgeBorrows it. Must be non-NULL. On success receives the new Edge NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL, p_next is non-NULL, the placement is degenerate, use_parameter_range is not 0/1, or the explicit range is non-finite / reversed.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDOCCT could not build an Edge from the placed curve.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_constrained_edge_info_init, occtl_curve2d_create_blend_arc

◆ occtl_prim_make_convex_hull_2d()

occtl_status_t occtl_prim_make_convex_hull_2d ( occtl_graph_t graph,
const occtl_prim_convex_hull_2d_info_t info,
occtl_node_id_t out_node 
)

Builds a convex-hull Wire or planar Face from points and/or Vertex nodes.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_nodeBorrows it. Must be non-NULL. On success receives the new Wire or Face NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL, p_next is non-NULL, both input arrays are empty, an array pointer is NULL while its count is non-zero, tolerance is non-positive/non-finite, or make_face is not 0/1.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_NOT_FOUNDA Vertex node is removed / absent.
OCCTL_WRONG_KINDA node in vertices is not a Vertex.
OCCTL_GEOMETRY_INVALIDFewer than three non-collinear projected points remain, or OCCT cannot build the requested topology.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_convex_hull_2d_info_init, occtl_prim_make_polyline

◆ occtl_prim_make_disk()

occtl_status_t occtl_prim_make_disk ( occtl_graph_t graph,
const occtl_prim_disk_info_t info,
occtl_node_id_t out_face 
)

Builds a circular planar Face (disk).

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_faceBorrows it. Must be non-NULL. On success receives the new Face NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDradius is non-positive.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_disk_info_init

◆ occtl_prim_make_ellipse()

occtl_status_t occtl_prim_make_ellipse ( occtl_graph_t graph,
const occtl_prim_ellipse_info_t info,
occtl_node_id_t out_wire 
)

Builds a one-edge closed Wire on a full ellipse.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDmajor < minor or either non-positive.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_ellipse_info_init

◆ occtl_prim_make_fillet_2d()

occtl_status_t occtl_prim_make_fillet_2d ( occtl_graph_t graph,
const occtl_prim_fillet_2d_info_t info,
occtl_node_id_t out_face 
)

Fillets the corners of a planar Face with a single uniform radius.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_faceBorrows it. Must be non-NULL. On success receives the new Face NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL, or vertices is NULL while vertex_count is greater than 0.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_NOT_FOUNDface refers to a removed / absent node, or a vertex does.
OCCTL_WRONG_KINDface is not of kind OCCTL_KIND_FACE, or a listed node is not a Vertex.
OCCTL_GEOMETRY_INVALIDradius is non-positive, or construction failed (e.g. radius too large for corner).
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_fillet_2d_info_init

◆ occtl_prim_make_full_round_2d()

occtl_status_t occtl_prim_make_full_round_2d ( occtl_graph_t graph,
const occtl_prim_full_round_2d_info_t info,
occtl_node_id_t out_face 
)

Builds a planar Face with a selected Edge replaced by a full-round arc.

The topology construction delegates to OCCT BRepFilletAPI_MakeFillet2d. The result is inserted into graph as a new bare Face root; the input Face is left unchanged.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_faceBorrows it. Must be non-NULL. On success receives the new Face NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL, p_next is non-NULL, radius is negative/non-finite, or search_steps is too large.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_NOT_FOUNDface or edge refers to a removed / absent node.
OCCTL_WRONG_KINDface is not a Face, or edge is not an Edge.
OCCTL_GEOMETRY_INVALIDOCCT cannot construct the full round.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_full_round_2d_info_init, occtl_prim_make_fillet_2d

◆ occtl_prim_make_helix()

occtl_status_t occtl_prim_make_helix ( occtl_graph_t graph,
const occtl_prim_helix_info_t info,
occtl_node_id_t out_wire 
)

Builds a helical Wire (one edge).

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDAny of radius / pitch / height is non-positive.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_helix_info_init

◆ occtl_prim_make_planar_face()

occtl_status_t occtl_prim_make_planar_face ( occtl_graph_t graph,
const occtl_prim_planar_face_info_t info,
occtl_node_id_t out_face 
)

Builds a planar Face from a closed planar wire and optional hole wires.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_faceBorrows it. Must be non-NULL. On success receives the new Face NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL, or inner_wires is NULL while inner_wire_count > 0.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_NOT_FOUNDA wire NodeId refers to a removed / absent node.
OCCTL_WRONG_KINDA wire NodeId is not of kind OCCTL_KIND_WIRE.
OCCTL_GEOMETRY_INVALIDThe wire is not planar / not closed / inconsistent with the inferred plane.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_planar_face_info_init

◆ occtl_prim_make_plane()

occtl_status_t occtl_prim_make_plane ( occtl_graph_t graph,
const occtl_prim_plane_info_t info,
occtl_node_id_t out_face 
)

Builds a rectangular planar Face.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_faceBorrows it. Must be non-NULL. On success receives the new Face NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDwidth or height is non-positive.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_plane_info_init

◆ occtl_prim_make_polyline()

occtl_status_t occtl_prim_make_polyline ( occtl_graph_t graph,
const occtl_prim_polyline_info_t info,
occtl_node_id_t out_wire 
)

Builds a Wire from a sequence of straight-line edges.

Convenience entry point for sketch construction; avoids the verbose make_vertex / make_edge / make_wire trio when the segments are purely linear.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL or point_count < 2.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDTwo consecutive points coincide.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_polyline_info_init

◆ occtl_prim_make_rectangle()

occtl_status_t occtl_prim_make_rectangle ( occtl_graph_t graph,
const occtl_prim_rectangle_info_t info,
occtl_node_id_t out_wire 
)

Builds a closed Wire for an axis-aligned rectangle.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDwidth or height is non-positive.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_rectangle_info_init

◆ occtl_prim_make_regular_polygon()

occtl_status_t occtl_prim_make_regular_polygon ( occtl_graph_t graph,
const occtl_prim_regular_polygon_info_t info,
occtl_node_id_t out_wire 
)

Builds a closed Wire for a regular n-gon.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL or sides < 3 or circumradius <= 0.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_regular_polygon_info_init

◆ occtl_prim_make_slot()

occtl_status_t occtl_prim_make_slot ( occtl_graph_t graph,
const occtl_prim_slot_info_t info,
occtl_node_id_t out_wire 
)

Builds a closed slot (stadium) Wire.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDwidth is non-positive or length <= width.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_slot_info_init

◆ occtl_prim_make_spline()

occtl_status_t occtl_prim_make_spline ( occtl_graph_t graph,
const occtl_prim_spline_info_t info,
occtl_node_id_t out_wire 
)

Builds a B-spline Wire approximating a sequence of points.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_wireBorrows it. Must be non-NULL. On success receives the new Wire NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL, point_count < 2, or the degree range is invalid (degree_min < 1 or degree_max < degree_min).
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDConstruction failed (coincident / collinear points beyond tolerance, etc.).
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_spline_info_init

◆ occtl_prim_make_trace()

occtl_status_t occtl_prim_make_trace ( occtl_graph_t graph,
const occtl_prim_trace_info_t info,
occtl_node_id_t out_face 
)

Builds a constant-width planar Face around an Edge or open Wire path.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_faceBorrows it. Must be non-NULL. On success receives the new Face NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL, p_next is non-NULL, width is non-positive / non-finite, or normal / join / approximate is invalid.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_NOT_FOUNDpath refers to a removed / absent node.
OCCTL_WRONG_KINDpath is neither Edge nor Wire.
OCCTL_GEOMETRY_INVALIDOCCT could not construct a closed planar offset contour or planar face.
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_trace_info_init, occtl_topo_wire_offset_2d

◆ occtl_prim_make_tube()

occtl_status_t occtl_prim_make_tube ( occtl_graph_t graph,
const occtl_prim_tube_info_t info,
occtl_node_id_t out_solid 
)

Builds a hollow-cylinder (tube) Solid.

Parameters
[in,out]graphBorrows it. Must be non-NULL.
[in]infoBorrows it. Must be non-NULL with a recognised struct_version.
[out]out_solidBorrows it. Must be non-NULL. On success receives the new Solid NodeId; on failure set to OCCTL_NODE_ID_INVALID.
Return values
OCCTL_OKOn success.
OCCTL_INVALID_ARGUMENTAny pointer is NULL.
OCCTL_VERSION_MISMATCHstruct_version is unrecognised.
OCCTL_GEOMETRY_INVALIDinner_radius / outer_radius / height are degenerate (non-positive, or outer_radius <= inner_radius).
OCCTL_TOPOLOGY_INVALIDThe resulting topology was rejected.
OCCTL_INTERNALAn unexpected internal error occurred.

\par Thread Safety No.

See also
occtl_prim_make_cylinder, occtl_prim_make_thick_solid

◆ occtl_prim_planar_face_info_init()

void occtl_prim_planar_face_info_init ( occtl_prim_planar_face_info_t info)

Runtime initialiser for occtl_prim_planar_face_info_t.

Sets all fields to OCCTL_PRIM_PLANAR_FACE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_planar_face

◆ occtl_prim_plane_info_init()

void occtl_prim_plane_info_init ( occtl_prim_plane_info_t info)

Runtime initialiser for occtl_prim_plane_info_t.

Sets all fields to OCCTL_PRIM_PLANE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_plane

◆ occtl_prim_polyline_info_init()

void occtl_prim_polyline_info_init ( occtl_prim_polyline_info_t info)

Runtime initialiser for occtl_prim_polyline_info_t.

Sets all fields to OCCTL_PRIM_POLYLINE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_polyline

◆ occtl_prim_rectangle_info_init()

void occtl_prim_rectangle_info_init ( occtl_prim_rectangle_info_t info)

Runtime initialiser for occtl_prim_rectangle_info_t.

Sets all fields to OCCTL_PRIM_RECTANGLE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_rectangle

◆ occtl_prim_regular_polygon_info_init()

void occtl_prim_regular_polygon_info_init ( occtl_prim_regular_polygon_info_t info)

Runtime initialiser for occtl_prim_regular_polygon_info_t.

Sets all fields to OCCTL_PRIM_REGULAR_POLYGON_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_regular_polygon

◆ occtl_prim_slot_info_init()

void occtl_prim_slot_info_init ( occtl_prim_slot_info_t info)

Runtime initialiser for occtl_prim_slot_info_t.

Sets all fields to OCCTL_PRIM_SLOT_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_slot

◆ occtl_prim_spline_info_init()

void occtl_prim_spline_info_init ( occtl_prim_spline_info_t info)

Runtime initialiser for occtl_prim_spline_info_t.

Sets all fields to OCCTL_PRIM_SPLINE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_spline

◆ occtl_prim_trace_info_init()

void occtl_prim_trace_info_init ( occtl_prim_trace_info_t info)

Runtime initialiser for occtl_prim_trace_info_t.

Sets all fields to OCCTL_PRIM_TRACE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_trace

◆ occtl_prim_tube_info_init()

void occtl_prim_tube_info_init ( occtl_prim_tube_info_t info)

Runtime initialiser for occtl_prim_tube_info_t.

Sets all fields to OCCTL_PRIM_TUBE_INFO_INIT.

Parameters
[out]infoBorrows it. NULL-tolerant; no-op when NULL.

\par Thread Safety Yes.

See also
occtl_prim_make_tube