OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
Loading...
Searching...
No Matches
occtl_topo_types.h
Go to the documentation of this file.
1// Copyright (c) 2026 Capgemini Engineering Research and Development.
2//
3// This file is part of OCCT-Light software library.
4//
5// This library is free software; you can redistribute it and/or modify it under
6// the terms of the GNU Affero General Public License version 3 as published
7// by the Free Software Foundation, with an option to use any later version.
8// Consult the file LICENSE_AGPL_30.txt included in OCCT-Light distribution
9// for complete text of the license and disclaimer of any warranty.
10//
11// Alternatively, this file may be used under the terms of a commercial
12// license or contractual agreement.
13//
14// SPDX-License-Identifier: AGPL-3.0-or-later
15
26#ifndef OCCTL_TOPO_TYPES_H
27#define OCCTL_TOPO_TYPES_H
28
29#include <stddef.h>
30#include <stdint.h>
31
32#include "occtl_core.h"
33
34#ifdef __cplusplus
35extern "C"
36{
37#endif
38
49typedef struct occtl_node_id
50{
51 uint64_t bits;
53
60typedef struct occtl_ref_id
61{
62 uint64_t bits;
64
75typedef struct occtl_ref_uid
76{
77 uint64_t bits;
79
90typedef struct occtl_rep_uid
91{
92 uint64_t bits;
94
102#define OCCTL_REF_UID_WIRE_SIZE OCCTL_UID_WIRE_SIZE
103
111#define OCCTL_REP_UID_WIRE_SIZE OCCTL_UID_WIRE_SIZE
112
119typedef struct occtl_joint_id
120{
121 uint64_t bits;
123
131#ifdef __cplusplus
132 #define OCCTL_NODE_ID_INVALID (occtl_node_id_t{0})
133 #define OCCTL_REF_ID_INVALID (occtl_ref_id_t{0})
134 #define OCCTL_REF_UID_INVALID (occtl_ref_uid_t{0})
135 #define OCCTL_REP_UID_INVALID (occtl_rep_uid_t{0})
136 #define OCCTL_JOINT_ID_INVALID (occtl_joint_id_t{0})
137#else
138 #define OCCTL_NODE_ID_INVALID ((occtl_node_id_t){0})
139 #define OCCTL_REF_ID_INVALID ((occtl_ref_id_t){0})
140 #define OCCTL_REF_UID_INVALID ((occtl_ref_uid_t){0})
141 #define OCCTL_REP_UID_INVALID ((occtl_rep_uid_t){0})
142 #define OCCTL_JOINT_ID_INVALID ((occtl_joint_id_t){0})
143#endif
144
152typedef struct occtl_graph occtl_graph_t;
153
154#ifdef __cplusplus
155} /* extern "C" */
156#endif
157
158#endif /* OCCTL_TOPO_TYPES_H */
OCCT-Light: core public API.
struct occtl_ref_uid occtl_ref_uid_t
struct occtl_rep_uid occtl_rep_uid_t
struct occtl_ref_id occtl_ref_id_t
struct occtl_node_id occtl_node_id_t
struct occtl_graph occtl_graph_t
Definition occtl_topo_types.h:152
struct occtl_joint_id occtl_joint_id_t
Definition occtl_topo_types.h:120
uint64_t bits
Definition occtl_topo_types.h:121
Definition occtl_topo_types.h:50
uint64_t bits
Definition occtl_topo_types.h:51
Definition occtl_topo_types.h:61
uint64_t bits
Definition occtl_topo_types.h:62
Definition occtl_topo_types.h:76
uint64_t bits
Definition occtl_topo_types.h:77
Definition occtl_topo_types.h:91
uint64_t bits
Definition occtl_topo_types.h:92