OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
Loading...
Searching...
No Matches
occtl_curves_common.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_CURVES_COMMON_H
27#define OCCTL_CURVES_COMMON_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
58
76
77#define OCCTL_CURVE_TRIMMED_CREATE_INFO_VERSION_1 1u
78
94
95#define OCCTL_CURVE_TRIMMED_CREATE_INFO_INIT \
96 {OCCTL_CURVE_TRIMMED_CREATE_INFO_VERSION_1, NULL, {0}, 0.0, 1.0, 1}
97
107OCCTL_API void OCCTL_CALL
109
110#define OCCTL_CURVE_BEZIER_SEGMENTS_OPTIONS_VERSION_1 1u
111
127
128#define OCCTL_CURVE_BEZIER_SEGMENTS_OPTIONS_INIT \
129 {OCCTL_CURVE_BEZIER_SEGMENTS_OPTIONS_VERSION_1, NULL, 0, 0.0, 0.0, 1.0e-9}
130
140OCCTL_API void OCCTL_CALL
142
143#ifdef __cplusplus
144} /* extern "C" */
145#endif
146
147#endif /* OCCTL_CURVES_COMMON_H */
OCCT-Light: core public API.
#define OCCTL_API
Definition occtl_core.h:111
occtl_curve2d_tangency_qualifier
Definition occtl_curves_common.h:68
@ OCCTL_GEOM_TANGENCY_ENCLOSING
Definition occtl_curves_common.h:70
@ OCCTL_GEOM_TANGENCY_ENCLOSED
Definition occtl_curves_common.h:71
@ OCCTL_GEOM_TANGENCY_UNQUALIFIED
Definition occtl_curves_common.h:69
@ OCCTL_GEOM_TANGENCY_NO_QUALIFIER
Definition occtl_curves_common.h:73
@ OCCTL_GEOM_TANGENCY_OUTSIDE
Definition occtl_curves_common.h:72
struct occtl_curve_trimmed_create_info occtl_curve_trimmed_create_info_t
occtl_curve_kind
Definition occtl_curves_common.h:45
@ OCCTL_CURVE_KIND_ELLIPSE
Definition occtl_curves_common.h:48
@ OCCTL_CURVE_KIND_OFFSET
Definition occtl_curves_common.h:54
@ OCCTL_CURVE_KIND_PARABOLA
Definition occtl_curves_common.h:50
@ OCCTL_CURVE_KIND_UNDEFINED
Definition occtl_curves_common.h:55
@ OCCTL_CURVE_KIND_BSPLINE
Definition occtl_curves_common.h:51
@ OCCTL_CURVE_KIND_LINE
Definition occtl_curves_common.h:46
@ OCCTL_CURVE_KIND_CIRCLE
Definition occtl_curves_common.h:47
@ OCCTL_CURVE_KIND_TRIMMED
Definition occtl_curves_common.h:53
@ OCCTL_CURVE_KIND_BEZIER
Definition occtl_curves_common.h:52
@ OCCTL_CURVE_KIND_HYPERBOLA
Definition occtl_curves_common.h:49
enum occtl_curve2d_tangency_qualifier occtl_curve2d_tangency_qualifier_t
void occtl_curve_bezier_segments_options_init(occtl_curve_bezier_segments_options_t *options)
enum occtl_curve_kind occtl_curve_kind_t
struct occtl_curve_bezier_segments_options occtl_curve_bezier_segments_options_t
void occtl_curve_trimmed_create_info_init(occtl_curve_trimmed_create_info_t *info)
Definition occtl_curves_common.h:119
const void * p_next
Definition occtl_curves_common.h:121
double u_first
Definition occtl_curves_common.h:123
double parametric_tolerance
Definition occtl_curves_common.h:125
int32_t use_range
Definition occtl_curves_common.h:122
uint32_t struct_version
Definition occtl_curves_common.h:120
double u_last
Definition occtl_curves_common.h:124
Definition occtl_curves_common.h:86
double u_last
Definition occtl_curves_common.h:91
occtl_rep_id_t basis
Definition occtl_curves_common.h:89
const void * p_next
Definition occtl_curves_common.h:88
double u_first
Definition occtl_curves_common.h:90
int32_t sense
Definition occtl_curves_common.h:92
uint32_t struct_version
Definition occtl_curves_common.h:87
Definition occtl_core.h:251