|
OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
|
OCCT-Light: Core topology identity types. More...


Go to the source code of this file.
Classes | |
| struct | occtl_node_id |
| struct | occtl_ref_id |
| struct | occtl_ref_uid |
| struct | occtl_rep_uid |
| struct | occtl_joint_id |
Macros | |
| #define | OCCTL_REF_UID_WIRE_SIZE OCCTL_UID_WIRE_SIZE |
| #define | OCCTL_REP_UID_WIRE_SIZE OCCTL_UID_WIRE_SIZE |
| #define | OCCTL_NODE_ID_INVALID ((occtl_node_id_t){0}) |
| #define | OCCTL_REF_ID_INVALID ((occtl_ref_id_t){0}) |
| #define | OCCTL_REF_UID_INVALID ((occtl_ref_uid_t){0}) |
| #define | OCCTL_REP_UID_INVALID ((occtl_rep_uid_t){0}) |
| #define | OCCTL_JOINT_ID_INVALID ((occtl_joint_id_t){0}) |
Typedefs | |
| typedef struct occtl_node_id | occtl_node_id_t |
| typedef struct occtl_ref_id | occtl_ref_id_t |
| typedef struct occtl_ref_uid | occtl_ref_uid_t |
| typedef struct occtl_rep_uid | occtl_rep_uid_t |
| typedef struct occtl_joint_id | occtl_joint_id_t |
| typedef struct occtl_graph | occtl_graph_t |
OCCT-Light: Core topology identity types.
Defines the fundamental topology identity types used throughout the topo module and its sub-headers: occtl_node_id_t, occtl_ref_id_t, occtl_ref_uid_t, occtl_rep_uid_t, occtl_joint_id_t, occtl_graph_t, and their associated sentinel macros and wire-format constants.
| #define OCCTL_NODE_ID_INVALID ((occtl_node_id_t){0}) |
Invalid sentinels for the four ID types.
Defined as C99 compound literals in C and as C++ braced initialisers in C++; this keeps the macros usable on MSVC and pedantic C++ modes without changing their value.
| #define OCCTL_REF_UID_WIRE_SIZE OCCTL_UID_WIRE_SIZE |
Number of bytes in the wire-format encoding of an occtl_ref_uid_t.
The encoding has the same size and reserved-byte policy as OCCTL_UID_WIRE_SIZE: the top 8 bytes carry the current packed RefUID in big-endian order, and the bottom 8 bytes are reserved zero bytes.
| #define OCCTL_REP_UID_WIRE_SIZE OCCTL_UID_WIRE_SIZE |
Number of bytes in the wire-format encoding of an occtl_rep_uid_t.
The encoding has the same size and reserved-byte policy as OCCTL_UID_WIRE_SIZE: the top 8 bytes carry the current packed RepUID in big-endian order, and the bottom 8 bytes are reserved zero bytes.
| typedef struct occtl_graph occtl_graph_t |
Opaque handle to a topology graph.
Created by occtl_graph_create and released by occtl_graph_free. Not thread-safe for concurrent mutation; concurrent reads on distinct graphs are safe.
| typedef struct occtl_joint_id occtl_joint_id_t |
Session-local identity of an assembly joint record.
Joint IDs are scoped to one graph. The all-zero value (OCCTL_JOINT_ID_INVALID) is the invalid sentinel.
| typedef struct occtl_node_id occtl_node_id_t |
Session-local identity of a graph node.
Invalidated by graph compaction (introduced in a later phase). For persistent identity use occtl_uid_t. The all-zero value (OCCTL_NODE_ID_INVALID) is the invalid sentinel — check with id.bits == 0.
To query the kind of a node ID, call occtl_graph_node_kind.
| typedef struct occtl_ref_id occtl_ref_id_t |
Session-local identity of a reference entry in the graph.
Invalidated by graph compaction together with node IDs. The all-zero value (OCCTL_REF_ID_INVALID) is the invalid sentinel.
| typedef struct occtl_ref_uid occtl_ref_uid_t |
Persistent identity of a reference entry in the graph.
RefUIDs survive graph compaction and can be resolved back to the current occtl_ref_id_t while the reference is active. They identify reference entries such as shell/face/wire/coedge refs and assembly occurrence refs; for topology nodes use occtl_uid_t instead.
The all-zero value (OCCTL_REF_UID_INVALID) is the invalid sentinel.
| typedef struct occtl_rep_uid occtl_rep_uid_t |
Persistent identity of a representation entry in the graph.
RepUIDs survive graph compaction and can be resolved back to the current occtl_rep_id_t while the representation is active. They identify geometry and mesh representation entries such as surfaces, curves, triangulations, and polygons; for topology nodes use occtl_uid_t instead.
The all-zero value (OCCTL_REP_UID_INVALID) is the invalid sentinel.