OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
Loading...
Searching...
No Matches
occtl_heal.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
24#ifndef OCCTL_HEAL_H
25#define OCCTL_HEAL_H
26
27#include <stddef.h>
28#include <stdint.h>
29
30#include "occtl_core.h"
31#include "occtl_topo.h"
32
33#ifdef __cplusplus
34extern "C"
35{
36#endif
37
45typedef enum occtl_heal_mode
46{
50 OCCTL_HEAL_MODE_RESERVED_FUTURE = 0x7fffffff
52
72
73#define OCCTL_HEAL_OPTIONS_VERSION_1 1u
74
75#define OCCTL_HEAL_OPTIONS_INIT \
76 {OCCTL_HEAL_OPTIONS_VERSION_1, NULL, OCCTL_HEAL_MODE_STANDARD, 0.0, 1, 1, 1, 0}
77
88
109
110#define OCCTL_HEAL_UNIFY_SAME_DOMAIN_OPTIONS_VERSION_1 1u
111
112#define OCCTL_HEAL_UNIFY_SAME_DOMAIN_OPTIONS_INIT \
113 {OCCTL_HEAL_UNIFY_SAME_DOMAIN_OPTIONS_VERSION_1, NULL, 1, 1, 0, 0, 1, 0.0, 0.0}
114
124OCCTL_API void OCCTL_CALL
126
155 occtl_node_id_t node_id,
156 const occtl_heal_options_t* options);
157
183OCCTL_API occtl_status_t OCCTL_CALL
185 occtl_node_id_t node_id,
187 occtl_node_id_t* out_root);
188
189#ifdef __cplusplus
190}
191#endif
192
193#endif /* OCCTL_HEAL_H */
OCCT-Light: core public API.
#define OCCTL_API
Definition occtl_core.h:111
enum occtl_status occtl_status_t
struct occtl_heal_options occtl_heal_options_t
void occtl_heal_unify_same_domain_options_init(occtl_heal_unify_same_domain_options_t *options)
struct occtl_heal_unify_same_domain_options occtl_heal_unify_same_domain_options_t
void occtl_heal_options_init(occtl_heal_options_t *options)
occtl_heal_mode
Definition occtl_heal.h:46
@ OCCTL_HEAL_MODE_BASIC
Definition occtl_heal.h:47
@ OCCTL_HEAL_MODE_STANDARD
Definition occtl_heal.h:48
@ OCCTL_HEAL_MODE_FULL
Definition occtl_heal.h:49
enum occtl_heal_mode occtl_heal_mode_t
occtl_status_t occtl_heal_unify_same_domain(occtl_graph_t *graph, occtl_node_id_t node_id, const occtl_heal_unify_same_domain_options_t *options, occtl_node_id_t *out_root)
occtl_status_t occtl_heal_shape(occtl_graph_t *graph, occtl_node_id_t node_id, const occtl_heal_options_t *options)
OCCT-Light: topology module public API.
struct occtl_graph occtl_graph_t
Definition occtl_topo_types.h:152
Definition occtl_heal.h:62
const void * p_next
Definition occtl_heal.h:64
double tolerance
Definition occtl_heal.h:66
int32_t fix_same_parameter
Definition occtl_heal.h:67
occtl_heal_mode_t mode
Definition occtl_heal.h:65
uint32_t struct_version
Definition occtl_heal.h:63
int32_t fix_small_edges
Definition occtl_heal.h:68
int32_t fix_face_orient
Definition occtl_heal.h:69
int32_t fix_missing_seam
Definition occtl_heal.h:70
Definition occtl_heal.h:98
double angular_tolerance
Definition occtl_heal.h:107
int32_t unify_faces
Definition occtl_heal.h:102
int32_t allow_internal_edges
Definition occtl_heal.h:104
const void * p_next
Definition occtl_heal.h:100
uint32_t struct_version
Definition occtl_heal.h:99
int32_t concat_bspline
Definition occtl_heal.h:103
int32_t unify_edges
Definition occtl_heal.h:101
double linear_tolerance
Definition occtl_heal.h:106
int32_t safe_input
Definition occtl_heal.h:105
Definition occtl_topo_types.h:50