21#ifndef OCCTL_PRIM_SWEEP_H
22#define OCCTL_PRIM_SWEEP_H
35#define OCCTL_PRIM_PRISM_INFO_VERSION_1 1u
55#define OCCTL_PRIM_PRISM_INFO_INIT \
56 {OCCTL_PRIM_PRISM_INFO_VERSION_1, NULL, OCCTL_NODE_ID_INVALID, {0.0, 0.0, 0.0}, 0, 1}
103#define OCCTL_PRIM_TWIST_EXTRUSION_INFO_VERSION_1 1u
126#define OCCTL_PRIM_TWIST_EXTRUSION_INFO_INIT \
127 {OCCTL_PRIM_TWIST_EXTRUSION_INFO_VERSION_1, \
129 OCCTL_NODE_ID_INVALID, \
130 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}}, \
186#define OCCTL_PRIM_EXTRUDE_TWIST_INFO_VERSION_1 1u
208#define OCCTL_PRIM_EXTRUDE_TWIST_INFO_INIT \
209 {OCCTL_PRIM_EXTRUDE_TWIST_INFO_VERSION_1, \
211 OCCTL_NODE_ID_INVALID, \
212 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}}, \
263#define OCCTL_PRIM_REVOL_INFO_VERSION_1 1u
282#define OCCTL_PRIM_REVOL_INFO_INIT \
283 {OCCTL_PRIM_REVOL_INFO_VERSION_1, \
285 OCCTL_NODE_ID_INVALID, \
286 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}}, \
331#define OCCTL_PRIM_PIPE_INFO_VERSION_1 1u
348#define OCCTL_PRIM_PIPE_INFO_INIT \
349 {OCCTL_PRIM_PIPE_INFO_VERSION_1, NULL, OCCTL_NODE_ID_INVALID, OCCTL_NODE_ID_INVALID}
393#define OCCTL_PRIM_LOFT_INFO_VERSION_1 1u
415#define OCCTL_PRIM_LOFT_INFO_INIT {OCCTL_PRIM_LOFT_INFO_VERSION_1, NULL, NULL, 0, 0, 0, 1.0e-6}
470 OCCTL_PIPE_MODE_RESERVED_FUTURE = 0x7fffffff
471} occtl_prim_pipe_mode_t;
483 OCCTL_PIPE_TRANSITION_RESERVED_FUTURE = 0x7fffffff
486#define OCCTL_PRIM_PIPE_SHELL_INFO_VERSION_1 1u
512#define OCCTL_PRIM_PIPE_SHELL_INFO_INIT \
513 {OCCTL_PRIM_PIPE_SHELL_INFO_VERSION_1, \
515 OCCTL_NODE_ID_INVALID, \
518 OCCTL_PIPE_MODE_CORRECTED_FRENET, \
519 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
521 OCCTL_PIPE_TRANSITION_MODIFIED, \
574#define OCCTL_PRIM_PIPE_SHELL_LINEAR_LAW_INFO_VERSION_1 1u
601#define OCCTL_PRIM_PIPE_SHELL_LINEAR_LAW_INFO_INIT \
602 {OCCTL_PRIM_PIPE_SHELL_LINEAR_LAW_INFO_VERSION_1, \
604 OCCTL_NODE_ID_INVALID, \
605 OCCTL_NODE_ID_INVALID, \
608 OCCTL_PIPE_MODE_CORRECTED_FRENET, \
609 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
611 OCCTL_PIPE_TRANSITION_MODIFIED, \
667#define OCCTL_PRIM_PIPE_SHELL_INTERPOLATED_LAW_INFO_VERSION_1 1u
700#define OCCTL_PRIM_PIPE_SHELL_INTERPOLATED_LAW_INFO_INIT \
701 {OCCTL_PRIM_PIPE_SHELL_INTERPOLATED_LAW_INFO_VERSION_1, \
703 OCCTL_NODE_ID_INVALID, \
704 OCCTL_NODE_ID_INVALID, \
708 OCCTL_PIPE_MODE_CORRECTED_FRENET, \
709 {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}}, \
711 OCCTL_PIPE_TRANSITION_MODIFIED, \
777 OCCTL_OFFSET_MODE_RESERVED_FUTURE = 0x7fffffff
780#define OCCTL_PRIM_OFFSET_SHAPE_INFO_VERSION_1 1u
805#define OCCTL_PRIM_OFFSET_SHAPE_INFO_INIT \
806 {OCCTL_PRIM_OFFSET_SHAPE_INFO_VERSION_1, \
808 OCCTL_NODE_ID_INVALID, \
811 OCCTL_OFFSET_MODE_SKIN, \
812 OCCTL_OFFSET_JOIN_ARC, \
857#define OCCTL_PRIM_THICK_SOLID_INFO_VERSION_1 1u
883#define OCCTL_PRIM_THICK_SOLID_INFO_INIT \
884 {OCCTL_PRIM_THICK_SOLID_INFO_VERSION_1, \
886 OCCTL_NODE_ID_INVALID, \
891 OCCTL_OFFSET_MODE_SKIN, \
892 OCCTL_OFFSET_JOIN_ARC, \
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.
occtl_prim_pipe_transition
Definition occtl_prim_sweep.h:479
@ OCCTL_PIPE_TRANSITION_MODIFIED
Definition occtl_prim_sweep.h:480
@ OCCTL_PIPE_TRANSITION_RIGHT_CORNER
Definition occtl_prim_sweep.h:481
@ OCCTL_PIPE_TRANSITION_ROUND_CORNER
Definition occtl_prim_sweep.h:482
void occtl_prim_pipe_shell_interpolated_law_info_init(occtl_prim_pipe_shell_interpolated_law_info_t *info)
struct occtl_prim_offset_shape_info occtl_prim_offset_shape_info_t
void occtl_prim_pipe_info_init(occtl_prim_pipe_info_t *info)
occtl_status_t occtl_prim_make_offset_shape(occtl_graph_t *graph, const occtl_prim_offset_shape_info_t *info, occtl_node_id_t *out_shape)
void occtl_prim_revol_info_init(occtl_prim_revol_info_t *info)
struct occtl_prim_loft_info occtl_prim_loft_info_t
struct occtl_prim_twist_extrusion_info occtl_prim_twist_extrusion_info_t
struct occtl_prim_prism_info occtl_prim_prism_info_t
occtl_status_t occtl_prim_make_pipe_shell_interpolated_law(occtl_graph_t *graph, const occtl_prim_pipe_shell_interpolated_law_info_t *info, occtl_node_id_t *out_shape)
struct occtl_prim_pipe_shell_linear_law_info occtl_prim_pipe_shell_linear_law_info_t
occtl_status_t occtl_prim_make_pipe(occtl_graph_t *graph, const occtl_prim_pipe_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_loft(occtl_graph_t *graph, const occtl_prim_loft_info_t *info, occtl_node_id_t *out_shape)
struct occtl_prim_thick_solid_info occtl_prim_thick_solid_info_t
occtl_status_t occtl_prim_make_extrude_twist(occtl_graph_t *graph, const occtl_prim_extrude_twist_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_pipe_shell_linear_law(occtl_graph_t *graph, const occtl_prim_pipe_shell_linear_law_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_prism(occtl_graph_t *graph, const occtl_prim_prism_info_t *info, occtl_node_id_t *out_shape)
struct occtl_prim_pipe_shell_info occtl_prim_pipe_shell_info_t
void occtl_prim_loft_info_init(occtl_prim_loft_info_t *info)
void occtl_prim_prism_info_init(occtl_prim_prism_info_t *info)
void occtl_prim_thick_solid_info_init(occtl_prim_thick_solid_info_t *info)
struct occtl_prim_pipe_shell_interpolated_law_info occtl_prim_pipe_shell_interpolated_law_info_t
enum occtl_prim_pipe_transition occtl_prim_pipe_transition_t
occtl_prim_offset_mode
Definition occtl_prim_sweep.h:773
@ OCCTL_OFFSET_MODE_PIPE
Definition occtl_prim_sweep.h:775
@ OCCTL_OFFSET_MODE_SKIN
Definition occtl_prim_sweep.h:774
@ OCCTL_OFFSET_MODE_RECTO_VERSO
Definition occtl_prim_sweep.h:776
struct occtl_prim_extrude_twist_info occtl_prim_extrude_twist_info_t
enum occtl_prim_offset_mode occtl_prim_offset_mode_t
void occtl_prim_offset_shape_info_init(occtl_prim_offset_shape_info_t *info)
occtl_status_t occtl_prim_make_twist_extrusion(occtl_graph_t *graph, const occtl_prim_twist_extrusion_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_revol(occtl_graph_t *graph, const occtl_prim_revol_info_t *info, occtl_node_id_t *out_shape)
struct occtl_prim_revol_info occtl_prim_revol_info_t
occtl_prim_pipe_mode
Definition occtl_prim_sweep.h:462
@ OCCTL_PIPE_MODE_DISCRETE
Definition occtl_prim_sweep.h:465
@ OCCTL_PIPE_MODE_CORRECTED_FRENET
Definition occtl_prim_sweep.h:463
@ OCCTL_PIPE_MODE_FRENET
Definition occtl_prim_sweep.h:464
@ OCCTL_PIPE_MODE_CONSTANT_AXIS
Definition occtl_prim_sweep.h:466
@ OCCTL_PIPE_MODE_CONSTANT_BINORMAL
Definition occtl_prim_sweep.h:468
struct occtl_prim_pipe_info occtl_prim_pipe_info_t
void occtl_prim_pipe_shell_info_init(occtl_prim_pipe_shell_info_t *info)
void occtl_prim_extrude_twist_info_init(occtl_prim_extrude_twist_info_t *info)
void occtl_prim_pipe_shell_linear_law_info_init(occtl_prim_pipe_shell_linear_law_info_t *info)
occtl_status_t occtl_prim_make_pipe_shell(occtl_graph_t *graph, const occtl_prim_pipe_shell_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_thick_solid(occtl_graph_t *graph, const occtl_prim_thick_solid_info_t *info, occtl_node_id_t *out_solid)
void occtl_prim_twist_extrusion_info_init(occtl_prim_twist_extrusion_info_t *info)
OCCT-Light: surface geometry via graph + rep_id.
OCCT-Light: topology module public API.
enum occtl_offset_join_type occtl_offset_join_type_t
struct occtl_graph occtl_graph_t
Definition occtl_topo_types.h:152
Definition occtl_geom.h:111
Definition occtl_geom.h:128
Definition occtl_geom.h:98
Definition occtl_topo_types.h:50
Definition occtl_prim_sweep.h:195
double height
Definition occtl_prim_sweep.h:200
int32_t ruled
Definition occtl_prim_sweep.h:204
const void * p_next
Definition occtl_prim_sweep.h:197
occtl_axis1_placement_t axis
Definition occtl_prim_sweep.h:199
uint32_t struct_version
Definition occtl_prim_sweep.h:196
double pres3d
Definition occtl_prim_sweep.h:205
int32_t section_count
Definition occtl_prim_sweep.h:202
double angle
Definition occtl_prim_sweep.h:201
int32_t make_solid
Definition occtl_prim_sweep.h:203
occtl_node_id_t profile_wire
Definition occtl_prim_sweep.h:198
Definition occtl_prim_sweep.h:405
size_t section_count
Definition occtl_prim_sweep.h:409
const void * p_next
Definition occtl_prim_sweep.h:407
int32_t is_solid
Definition occtl_prim_sweep.h:410
uint32_t struct_version
Definition occtl_prim_sweep.h:406
double pres3d
Definition occtl_prim_sweep.h:412
int32_t ruled
Definition occtl_prim_sweep.h:411
const occtl_node_id_t * sections
Definition occtl_prim_sweep.h:408
Definition occtl_prim_sweep.h:790
int32_t self_intersection
Definition occtl_prim_sweep.h:800
occtl_offset_join_type_t join
Definition occtl_prim_sweep.h:797
int32_t intersection
Definition occtl_prim_sweep.h:799
uint32_t struct_version
Definition occtl_prim_sweep.h:791
occtl_node_id_t shape
Definition occtl_prim_sweep.h:793
int32_t remove_internal_edges
Definition occtl_prim_sweep.h:802
double offset
Definition occtl_prim_sweep.h:794
double tolerance
Definition occtl_prim_sweep.h:795
const void * p_next
Definition occtl_prim_sweep.h:792
occtl_prim_offset_mode_t mode
Definition occtl_prim_sweep.h:796
Definition occtl_prim_sweep.h:341
const void * p_next
Definition occtl_prim_sweep.h:343
occtl_node_id_t profile
Definition occtl_prim_sweep.h:344
occtl_node_id_t spine_wire
Definition occtl_prim_sweep.h:345
uint32_t struct_version
Definition occtl_prim_sweep.h:342
Definition occtl_prim_sweep.h:497
int32_t with_contact
Definition occtl_prim_sweep.h:507
occtl_prim_pipe_mode_t mode
Definition occtl_prim_sweep.h:503
size_t profile_count
Definition occtl_prim_sweep.h:502
occtl_axis2_placement_t mode_axis
Definition occtl_prim_sweep.h:504
int32_t with_correction
Definition occtl_prim_sweep.h:508
uint32_t struct_version
Definition occtl_prim_sweep.h:498
int32_t make_solid
Definition occtl_prim_sweep.h:509
occtl_prim_pipe_transition_t transition
Definition occtl_prim_sweep.h:506
occtl_direction3_t mode_binormal
Definition occtl_prim_sweep.h:505
occtl_node_id_t spine_wire
Definition occtl_prim_sweep.h:500
const occtl_node_id_t * profiles
Definition occtl_prim_sweep.h:501
const void * p_next
Definition occtl_prim_sweep.h:499
Definition occtl_prim_sweep.h:682
int32_t make_solid
Definition occtl_prim_sweep.h:697
occtl_node_id_t spine_wire
Definition occtl_prim_sweep.h:685
const void * p_next
Definition occtl_prim_sweep.h:684
const double * parameters
Definition occtl_prim_sweep.h:688
int32_t with_contact
Definition occtl_prim_sweep.h:695
occtl_prim_pipe_mode_t mode
Definition occtl_prim_sweep.h:691
const double * scales
Definition occtl_prim_sweep.h:689
size_t sample_count
Definition occtl_prim_sweep.h:690
occtl_axis2_placement_t mode_axis
Definition occtl_prim_sweep.h:692
occtl_direction3_t mode_binormal
Definition occtl_prim_sweep.h:693
occtl_node_id_t profile
Definition occtl_prim_sweep.h:686
uint32_t struct_version
Definition occtl_prim_sweep.h:683
int32_t with_correction
Definition occtl_prim_sweep.h:696
occtl_prim_pipe_transition_t transition
Definition occtl_prim_sweep.h:694
Definition occtl_prim_sweep.h:585
double scale_last
Definition occtl_prim_sweep.h:591
uint32_t struct_version
Definition occtl_prim_sweep.h:586
occtl_node_id_t spine_wire
Definition occtl_prim_sweep.h:588
occtl_node_id_t profile
Definition occtl_prim_sweep.h:589
double scale_first
Definition occtl_prim_sweep.h:590
int32_t make_solid
Definition occtl_prim_sweep.h:598
int32_t with_contact
Definition occtl_prim_sweep.h:596
occtl_prim_pipe_transition_t transition
Definition occtl_prim_sweep.h:595
const void * p_next
Definition occtl_prim_sweep.h:587
occtl_axis2_placement_t mode_axis
Definition occtl_prim_sweep.h:593
occtl_direction3_t mode_binormal
Definition occtl_prim_sweep.h:594
int32_t with_correction
Definition occtl_prim_sweep.h:597
occtl_prim_pipe_mode_t mode
Definition occtl_prim_sweep.h:592
Definition occtl_prim_sweep.h:46
occtl_node_id_t profile
Definition occtl_prim_sweep.h:49
occtl_vector3_t direction
Definition occtl_prim_sweep.h:50
uint32_t struct_version
Definition occtl_prim_sweep.h:47
const void * p_next
Definition occtl_prim_sweep.h:48
int32_t canonize
Definition occtl_prim_sweep.h:52
int32_t copy
Definition occtl_prim_sweep.h:51
Definition occtl_prim_sweep.h:273
const void * p_next
Definition occtl_prim_sweep.h:275
uint32_t struct_version
Definition occtl_prim_sweep.h:274
double angle
Definition occtl_prim_sweep.h:278
occtl_axis1_placement_t axis
Definition occtl_prim_sweep.h:277
occtl_node_id_t profile
Definition occtl_prim_sweep.h:276
int32_t copy
Definition occtl_prim_sweep.h:279
Definition occtl_prim_sweep.h:867
const void * p_next
Definition occtl_prim_sweep.h:869
occtl_node_id_t solid
Definition occtl_prim_sweep.h:870
double offset
Definition occtl_prim_sweep.h:874
int32_t intersection
Definition occtl_prim_sweep.h:878
occtl_prim_offset_mode_t mode
Definition occtl_prim_sweep.h:876
int32_t self_intersection
Definition occtl_prim_sweep.h:879
int32_t remove_internal_edges
Definition occtl_prim_sweep.h:880
size_t closing_face_count
Definition occtl_prim_sweep.h:873
const occtl_node_id_t * closing_faces
Definition occtl_prim_sweep.h:872
double tolerance
Definition occtl_prim_sweep.h:875
occtl_offset_join_type_t join
Definition occtl_prim_sweep.h:877
uint32_t struct_version
Definition occtl_prim_sweep.h:868
Definition occtl_prim_sweep.h:113
const void * p_next
Definition occtl_prim_sweep.h:115
int32_t ruled
Definition occtl_prim_sweep.h:122
double pres3d
Definition occtl_prim_sweep.h:123
int32_t make_solid
Definition occtl_prim_sweep.h:121
occtl_node_id_t profile_wire
Definition occtl_prim_sweep.h:116
double height
Definition occtl_prim_sweep.h:118
uint32_t struct_version
Definition occtl_prim_sweep.h:114
occtl_axis1_placement_t axis
Definition occtl_prim_sweep.h:117
int32_t section_count
Definition occtl_prim_sweep.h:120
double angle
Definition occtl_prim_sweep.h:119
Definition occtl_geom.h:84