21#ifndef OCCTL_PRIM_SOLID_H
22#define OCCTL_PRIM_SOLID_H
35#define OCCTL_PRIM_BOX_INFO_VERSION_1 1u
57#define OCCTL_PRIM_BOX_INFO_INIT \
58 {OCCTL_PRIM_BOX_INFO_VERSION_1, \
60 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
107#define OCCTL_PRIM_SPHERE_INFO_VERSION_1 1u
128#define OCCTL_PRIM_SPHERE_INFO_INIT \
129 {OCCTL_PRIM_SPHERE_INFO_VERSION_1, \
131 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
133 -OCCTL_PI_OVER_TWO, \
174#define OCCTL_PRIM_CYLINDER_INFO_VERSION_1 1u
193#define OCCTL_PRIM_CYLINDER_INFO_INIT \
194 {OCCTL_PRIM_CYLINDER_INFO_VERSION_1, \
196 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
239#define OCCTL_PRIM_CONE_INFO_VERSION_1 1u
261#define OCCTL_PRIM_CONE_INFO_INIT \
262 {OCCTL_PRIM_CONE_INFO_VERSION_1, \
264 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
309#define OCCTL_PRIM_TORUS_INFO_VERSION_1 1u
331#define OCCTL_PRIM_TORUS_INFO_INIT \
332 {OCCTL_PRIM_TORUS_INFO_VERSION_1, \
334 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
380#define OCCTL_PRIM_WEDGE_INFO_VERSION_1 1u
400#define OCCTL_PRIM_WEDGE_INFO_INIT \
401 {OCCTL_PRIM_WEDGE_INFO_VERSION_1, \
403 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
448#define OCCTL_PRIM_HALFSPACE_INFO_VERSION_1 1u
466#define OCCTL_PRIM_HALFSPACE_INFO_INIT \
467 {OCCTL_PRIM_HALFSPACE_INFO_VERSION_1, NULL, OCCTL_NODE_ID_INVALID, {0.0, 0.0, 0.0}}
OCCT-Light: core public API.
#define OCCTL_API
Definition occtl_core.h:111
enum occtl_status occtl_status_t
OCCT-Light: 2D curve (pcurve) API on BRepGraph.
OCCT-Light: geometry primitive types and math utilities.
struct occtl_prim_cylinder_info occtl_prim_cylinder_info_t
void occtl_prim_halfspace_info_init(occtl_prim_halfspace_info_t *info)
occtl_status_t occtl_prim_make_wedge(occtl_graph_t *graph, const occtl_prim_wedge_info_t *info, occtl_node_id_t *out_solid)
struct occtl_prim_wedge_info occtl_prim_wedge_info_t
occtl_status_t occtl_prim_make_cone(occtl_graph_t *graph, const occtl_prim_cone_info_t *info, occtl_node_id_t *out_solid)
struct occtl_prim_sphere_info occtl_prim_sphere_info_t
struct occtl_prim_torus_info occtl_prim_torus_info_t
void occtl_prim_cylinder_info_init(occtl_prim_cylinder_info_t *info)
void occtl_prim_cone_info_init(occtl_prim_cone_info_t *info)
occtl_status_t occtl_prim_make_torus(occtl_graph_t *graph, const occtl_prim_torus_info_t *info, occtl_node_id_t *out_solid)
void occtl_prim_wedge_info_init(occtl_prim_wedge_info_t *info)
struct occtl_prim_halfspace_info occtl_prim_halfspace_info_t
occtl_status_t occtl_prim_make_cylinder(occtl_graph_t *graph, const occtl_prim_cylinder_info_t *info, occtl_node_id_t *out_solid)
void occtl_prim_box_info_init(occtl_prim_box_info_t *info)
void occtl_prim_torus_info_init(occtl_prim_torus_info_t *info)
struct occtl_prim_box_info occtl_prim_box_info_t
struct occtl_prim_cone_info occtl_prim_cone_info_t
occtl_status_t occtl_prim_make_sphere(occtl_graph_t *graph, const occtl_prim_sphere_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_box(occtl_graph_t *graph, const occtl_prim_box_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_halfspace(occtl_graph_t *graph, const occtl_prim_halfspace_info_t *info, occtl_node_id_t *out_solid)
void occtl_prim_sphere_info_init(occtl_prim_sphere_info_t *info)
OCCT-Light: surface geometry via graph + rep_id.
OCCT-Light: topology module public API.
struct occtl_graph occtl_graph_t
Definition occtl_topo_types.h:152
Definition occtl_geom.h:128
Definition occtl_topo_types.h:50
Definition occtl_geom.h:76
Definition occtl_prim_solid.h:48
double dz
Definition occtl_prim_solid.h:54
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:51
uint32_t struct_version
Definition occtl_prim_solid.h:49
const void * p_next
Definition occtl_prim_solid.h:50
double dx
Definition occtl_prim_solid.h:52
double dy
Definition occtl_prim_solid.h:53
Definition occtl_prim_solid.h:251
double height
Definition occtl_prim_solid.h:257
uint32_t struct_version
Definition occtl_prim_solid.h:252
double angle
Definition occtl_prim_solid.h:258
const void * p_next
Definition occtl_prim_solid.h:253
double r2
Definition occtl_prim_solid.h:256
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:254
double r1
Definition occtl_prim_solid.h:255
Definition occtl_prim_solid.h:184
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:187
double height
Definition occtl_prim_solid.h:189
double angle
Definition occtl_prim_solid.h:190
uint32_t struct_version
Definition occtl_prim_solid.h:185
double radius
Definition occtl_prim_solid.h:188
const void * p_next
Definition occtl_prim_solid.h:186
Definition occtl_prim_solid.h:459
uint32_t struct_version
Definition occtl_prim_solid.h:460
occtl_node_id_t face
Definition occtl_prim_solid.h:462
occtl_point3_t reference_point
Definition occtl_prim_solid.h:463
const void * p_next
Definition occtl_prim_solid.h:461
Definition occtl_prim_solid.h:118
double radius
Definition occtl_prim_solid.h:122
const void * p_next
Definition occtl_prim_solid.h:120
double angle2
Definition occtl_prim_solid.h:124
uint32_t struct_version
Definition occtl_prim_solid.h:119
double angle1
Definition occtl_prim_solid.h:123
double angle
Definition occtl_prim_solid.h:125
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:121
Definition occtl_prim_solid.h:320
double angle
Definition occtl_prim_solid.h:328
double r1
Definition occtl_prim_solid.h:324
double r2
Definition occtl_prim_solid.h:325
const void * p_next
Definition occtl_prim_solid.h:322
double angle1
Definition occtl_prim_solid.h:326
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:323
uint32_t struct_version
Definition occtl_prim_solid.h:321
double angle2
Definition occtl_prim_solid.h:327
Definition occtl_prim_solid.h:390
double dy
Definition occtl_prim_solid.h:395
double ltx
Definition occtl_prim_solid.h:397
uint32_t struct_version
Definition occtl_prim_solid.h:391
double dz
Definition occtl_prim_solid.h:396
double dx
Definition occtl_prim_solid.h:394
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:393
const void * p_next
Definition occtl_prim_solid.h:392