OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
Loading...
Searching...
No Matches
occtl_bool.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
39#ifndef OCCTL_BOOL_H
40#define OCCTL_BOOL_H
41
42#include <stddef.h>
43#include <stdint.h>
44
45#include "occtl_core.h"
46#include "occtl_topo.h"
47
48#ifdef __cplusplus
49extern "C"
50{
51#endif
52
57#define OCCTL_BOOL_OPTIONS_VERSION_1 1u
58
77
82#define OCCTL_BOOL_OPTIONS_INIT {OCCTL_BOOL_OPTIONS_VERSION_1, NULL, 0.0, 0, 0, 1.0e-2, 1}
83
96
133 const occtl_node_id_t* objects,
134 size_t n_objects,
135 const occtl_node_id_t* tools,
136 size_t n_tools,
137 const occtl_bool_options_t* opts,
138 occtl_node_id_t* out_root);
139
161 const occtl_node_id_t* objects,
162 size_t n_objects,
163 const occtl_node_id_t* tools,
164 size_t n_tools,
165 const occtl_bool_options_t* opts,
166 occtl_node_id_t* out_root);
167
189 const occtl_node_id_t* objects,
190 size_t n_objects,
191 const occtl_node_id_t* tools,
192 size_t n_tools,
193 const occtl_bool_options_t* opts,
194 occtl_node_id_t* out_root);
195
217 const occtl_node_id_t* objects,
218 size_t n_objects,
219 const occtl_node_id_t* tools,
220 size_t n_tools,
221 const occtl_bool_options_t* opts,
222 occtl_node_id_t* out_root);
223
246 const occtl_node_id_t* objects,
247 size_t n_objects,
248 const occtl_node_id_t* tools,
249 size_t n_tools,
250 const occtl_bool_options_t* opts,
251 occtl_node_id_t* out_root);
252
253#ifdef __cplusplus
254} /* extern "C" */
255#endif
256
257#endif /* OCCTL_BOOL_H */
occtl_status_t occtl_bool_common(occtl_graph_t *graph, const occtl_node_id_t *objects, size_t n_objects, const occtl_node_id_t *tools, size_t n_tools, const occtl_bool_options_t *opts, occtl_node_id_t *out_root)
struct occtl_bool_options occtl_bool_options_t
occtl_status_t occtl_bool_fuse(occtl_graph_t *graph, const occtl_node_id_t *objects, size_t n_objects, const occtl_node_id_t *tools, size_t n_tools, const occtl_bool_options_t *opts, occtl_node_id_t *out_root)
occtl_status_t occtl_bool_split(occtl_graph_t *graph, const occtl_node_id_t *objects, size_t n_objects, const occtl_node_id_t *tools, size_t n_tools, const occtl_bool_options_t *opts, occtl_node_id_t *out_root)
occtl_status_t occtl_bool_cut(occtl_graph_t *graph, const occtl_node_id_t *objects, size_t n_objects, const occtl_node_id_t *tools, size_t n_tools, const occtl_bool_options_t *opts, occtl_node_id_t *out_root)
occtl_status_t occtl_bool_section(occtl_graph_t *graph, const occtl_node_id_t *objects, size_t n_objects, const occtl_node_id_t *tools, size_t n_tools, const occtl_bool_options_t *opts, occtl_node_id_t *out_root)
void occtl_bool_options_init(occtl_bool_options_t *options)
OCCT-Light: core public API.
#define OCCTL_API
Definition occtl_core.h:111
enum occtl_status occtl_status_t
OCCT-Light: topology module public API.
struct occtl_graph occtl_graph_t
Definition occtl_topo_types.h:152
Definition occtl_bool.h:67
const void * p_next
Definition occtl_bool.h:69
uint32_t struct_version
Definition occtl_bool.h:68
int32_t simplify_result
Definition occtl_bool.h:72
double simplify_angular_tolerance
Definition occtl_bool.h:73
int32_t run_parallel
Definition occtl_bool.h:71
int32_t build_history
Definition occtl_bool.h:75
double fuzzy_value
Definition occtl_bool.h:70
Definition occtl_topo_types.h:50