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

#include <occtl_topo_build.h>

Collaboration diagram for occtl_select_options:

Public Attributes

uint32_t struct_version
 
const void * p_next
 
occtl_node_id_t root
 
uint64_t kind_mask
 
int32_t include_root
 
const char * name
 
size_t name_len
 
int32_t use_color
 
occtl_color_rgba_t color
 
float color_tolerance
 
int32_t use_bbox
 
occtl_select_bbox_t bbox
 
occtl_select_bbox_mode_t bbox_mode
 
int32_t use_curve_kind
 
occtl_curve_kind_t curve_kind
 
int32_t use_surface_kind
 
occtl_surface_kind_t surface_kind
 
int32_t use_axis_position
 
occtl_select_axis_t axis
 
occtl_select_axis_position_t axis_position
 
double axis_tolerance
 
int32_t use_normal
 
occtl_direction3_t normal
 
occtl_select_normal_mode_t normal_mode
 
double normal_angle_tolerance
 
int32_t use_measure
 
occtl_select_measure_kind_t measure_kind
 
double measure_min
 
double measure_max
 
occtl_select_sort_key_t sort_key
 
occtl_select_sort_direction_t sort_direction
 
occtl_select_axis_t sort_axis
 
occtl_select_measure_kind_t sort_measure_kind
 
occtl_point3_t sort_point
 

Detailed Description

Selection options for occtl_select_iter_create.

kind_mask uses (1ull << OCCTL_KIND_*) bits. A zero mask means all node kinds. When root is invalid, selection scans the whole graph; otherwise it walks descendants from root. Set include_root to 1 to test root itself before its descendants.

Metadata filters are supplied through occtl_select_metadata_filter_t chained from p_next.

Member Data Documentation

◆ axis

occtl_select_axis_t occtl_select_options::axis

Principal axis for use_axis_position.

◆ axis_position

occtl_select_axis_position_t occtl_select_options::axis_position

Axis-position predicate.

◆ axis_tolerance

double occtl_select_options::axis_tolerance

Absolute coordinate tolerance for axis-position matching.

◆ bbox

occtl_select_bbox_t occtl_select_options::bbox

Bounding box filter when use_bbox != 0.

◆ bbox_mode

occtl_select_bbox_mode_t occtl_select_options::bbox_mode

Bounding-box predicate.

◆ color

occtl_color_rgba_t occtl_select_options::color

Colour filter when use_color != 0.

◆ color_tolerance

float occtl_select_options::color_tolerance

Per-channel absolute tolerance.

◆ curve_kind

occtl_curve_kind_t occtl_select_options::curve_kind

Curve kind filter when use_curve_kind != 0.

◆ include_root

int32_t occtl_select_options::include_root

0/1; only used when root is valid.

◆ kind_mask

uint64_t occtl_select_options::kind_mask

Bit mask of occtl_node_kind_t values; 0 means all.

◆ measure_kind

occtl_select_measure_kind_t occtl_select_options::measure_kind

Measure predicate kind.

◆ measure_max

double occtl_select_options::measure_max

Inclusive maximum measure value.

◆ measure_min

double occtl_select_options::measure_min

Inclusive minimum measure value.

◆ name

const char* occtl_select_options::name

Optional exact UTF-8 name filter.

◆ name_len

size_t occtl_select_options::name_len

Length of name in bytes.

◆ normal

occtl_direction3_t occtl_select_options::normal

Normal direction filter when use_normal != 0.

◆ normal_angle_tolerance

double occtl_select_options::normal_angle_tolerance

Angular tolerance in radians.

◆ normal_mode

occtl_select_normal_mode_t occtl_select_options::normal_mode

Normal predicate.

◆ p_next

const void* occtl_select_options::p_next

◆ root

occtl_node_id_t occtl_select_options::root

Root node, or OCCTL_NODE_ID_INVALID for whole graph.

◆ sort_axis

occtl_select_axis_t occtl_select_options::sort_axis

Axis for OCCTL_SELECT_SORT_AXIS_COORDINATE.

◆ sort_direction

occtl_select_sort_direction_t occtl_select_options::sort_direction

Output sort direction.

◆ sort_key

occtl_select_sort_key_t occtl_select_options::sort_key

Output sort key; NONE preserves traversal order.

◆ sort_measure_kind

occtl_select_measure_kind_t occtl_select_options::sort_measure_kind

Measure for OCCTL_SELECT_SORT_MEASURE.

◆ sort_point

occtl_point3_t occtl_select_options::sort_point

Point for OCCTL_SELECT_SORT_DISTANCE_TO_POINT.

◆ struct_version

uint32_t occtl_select_options::struct_version

Must be OCCTL_SELECT_OPTIONS_VERSION_1.

◆ surface_kind

occtl_surface_kind_t occtl_select_options::surface_kind

Surface kind filter when use_surface_kind != 0.

◆ use_axis_position

int32_t occtl_select_options::use_axis_position

0/1; filter by bbox-centre position along axis.

◆ use_bbox

int32_t occtl_select_options::use_bbox

0/1; match by computed node AABB.

◆ use_color

int32_t occtl_select_options::use_color

0/1; match nodes with an explicit colour.

◆ use_curve_kind

int32_t occtl_select_options::use_curve_kind

0/1; match Edge nodes by 3D curve kind.

◆ use_measure

int32_t occtl_select_options::use_measure

0/1; match by OCCT mass property.

◆ use_normal

int32_t occtl_select_options::use_normal

0/1; match Face nodes by midpoint surface normal.

◆ use_surface_kind

int32_t occtl_select_options::use_surface_kind

0/1; match Face nodes by surface kind.


The documentation for this struct was generated from the following file: