OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
Loading...
Searching...
No Matches
occtl_curves.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
28#ifndef OCCTL_CURVES_H
29#define OCCTL_CURVES_H
30
31#include <stddef.h>
32#include <stdint.h>
33
34#include "occtl_core.h"
35#include "occtl_curves_common.h"
36#include "occtl_geom.h"
37
38#ifdef __cplusplus
39extern "C"
40{
41#endif
42
44typedef struct occtl_graph occtl_graph_t;
45
65 occtl_rep_id_t* out_id);
66
85 occtl_rep_id_t* out_id);
86
104 occtl_geom_ellipse_t ellipse,
105 occtl_rep_id_t* out_id);
106
124 occtl_geom_hyperbola_t hyperbola,
125 occtl_rep_id_t* out_id);
126
144 occtl_geom_parabola_t parabola,
145 occtl_rep_id_t* out_id);
146
159{
160 uint32_t struct_version;
161 const void* p_next;
163 size_t pole_count;
164 const double* weights;
166 const double* knots;
167 const int32_t* multiplicities;
168 size_t knot_count;
169 int32_t degree;
170 int32_t is_periodic;
172
173#define OCCTL_CURVE_BSPLINE_CREATE_INFO_VERSION_1 1u
174
175#define OCCTL_CURVE_BSPLINE_CREATE_INFO_INIT \
176 {OCCTL_CURVE_BSPLINE_CREATE_INFO_VERSION_1, NULL, NULL, 0, NULL, NULL, NULL, 0, 0, 0}
177
190OCCTL_API void OCCTL_CALL
192
212OCCTL_API occtl_status_t OCCTL_CALL
215 occtl_rep_id_t* out_id);
216
229
230#define OCCTL_CURVE_BEZIER_CREATE_INFO_VERSION_1 1u
231
232#define OCCTL_CURVE_BEZIER_CREATE_INFO_INIT \
233 {OCCTL_CURVE_BEZIER_CREATE_INFO_VERSION_1, NULL, NULL, 0, NULL}
234
244OCCTL_API void OCCTL_CALL
246
262OCCTL_API occtl_status_t OCCTL_CALL
265 occtl_rep_id_t* out_id);
266
283OCCTL_API occtl_status_t OCCTL_CALL
286 occtl_rep_id_t* out_id);
287
301
302#define OCCTL_CURVE_OFFSET_CREATE_INFO_VERSION_1 1u
303
304#define OCCTL_CURVE_OFFSET_CREATE_INFO_INIT \
305 {OCCTL_CURVE_OFFSET_CREATE_INFO_VERSION_1, NULL, {0}, {0.0, 0.0, 1.0}, 0.0}
306
316OCCTL_API void OCCTL_CALL
318
335OCCTL_API occtl_status_t OCCTL_CALL
338 occtl_rep_id_t* out_id);
339
359 occtl_rep_id_t curve_id,
360 occtl_rep_id_t* out_id);
361
381 occtl_rep_id_t curve_id,
382 occtl_transform_t transform,
383 occtl_rep_id_t* out_id);
384
404 occtl_rep_id_t curve_id,
405 occtl_vector3_t delta,
406 occtl_rep_id_t* out_id);
407
428 occtl_rep_id_t curve_id,
430 double angle,
431 occtl_rep_id_t* out_id);
432
454 occtl_rep_id_t curve_id,
455 occtl_point3_t origin,
456 double factor,
457 occtl_rep_id_t* out_id);
458
477 occtl_rep_id_t curve_id,
478 double* out_length);
479
501 occtl_rep_id_t curve_id,
502 occtl_point3_t point,
503 double* out_param,
504 double* out_distance);
505
525 occtl_rep_id_t curve_id,
526 occtl_point3_t point,
527 double* out_param);
528
544 occtl_rep_id_t curve_id,
545 occtl_curve_kind_t* out_kind);
546
562 occtl_rep_id_t curve_id,
563 int32_t* out_is_periodic);
564
584 occtl_rep_id_t curve_id,
585 int32_t* out_is_closed);
586
602 occtl_rep_id_t curve_id,
603 occtl_geom_continuity_t* out_continuity);
604
626 occtl_rep_id_t curve_id,
627 double* out_u_min,
628 double* out_u_max);
629
646 occtl_rep_id_t curve_id,
647 occtl_geom_line_t* out_line);
648
665 occtl_rep_id_t curve_id,
666 occtl_geom_circle_t* out_circle);
667
684 occtl_rep_id_t curve_id,
685 occtl_geom_ellipse_t* out_ellipse);
686
703 occtl_rep_id_t curve_id,
704 occtl_geom_hyperbola_t* out_hyperbola);
705
722 occtl_rep_id_t curve_id,
723 occtl_geom_parabola_t* out_parabola);
724
747 occtl_rep_id_t curve_id,
748 double* out_u_first,
749 double* out_u_last);
750
768 occtl_rep_id_t curve_id,
769 double* out_offset,
770 occtl_vector3_t* out_offset_dir);
771
788 occtl_rep_id_t curve_id,
789 int32_t* out_degree);
790
807 occtl_rep_id_t curve_id,
808 size_t* out_count);
809
826 occtl_rep_id_t curve_id,
827 size_t* out_count);
828
845 occtl_rep_id_t curve_id,
846 int32_t* out_is_rational);
847
867 occtl_rep_id_t curve_id,
868 int32_t* out_degree);
869
886 occtl_rep_id_t curve_id,
887 size_t* out_count);
888
905 occtl_rep_id_t curve_id,
906 int32_t* out_is_rational);
907
930 occtl_rep_id_t curve_id,
931 occtl_point3_t* out_buf,
932 size_t capacity,
933 size_t* out_count);
934
956 occtl_rep_id_t curve_id,
957 double* out_buf,
958 size_t capacity,
959 size_t* out_count);
960
982 occtl_rep_id_t curve_id,
983 int32_t* out_buf,
984 size_t capacity,
985 size_t* out_count);
986
1012 occtl_rep_id_t curve_id,
1013 double* out_buf,
1014 size_t capacity,
1015 size_t* out_count);
1016
1037 occtl_rep_id_t curve_id,
1038 const occtl_point3_t** out_data,
1039 size_t* out_count);
1040
1066 occtl_rep_id_t curve_id,
1067 double* out_buf,
1068 size_t capacity,
1069 size_t* out_count);
1070
1088{
1090 const void* p_next;
1092 int32_t degree;
1093 int32_t is_rational;
1094 int32_t is_periodic;
1095 int32_t is_closed;
1096 int32_t continuity;
1097 size_t pole_count;
1098 size_t knot_count;
1106 const double* weights;
1108 const double* knots;
1109 const int32_t* multiplicities;
1110 const double* flat_knots;
1112
1113#define OCCTL_CURVE_BSPLINE_VERSION_1 1u
1114
1115#define OCCTL_CURVE_BSPLINE_INIT \
1116 {OCCTL_CURVE_BSPLINE_VERSION_1, NULL, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL}
1117
1131
1157 occtl_rep_id_t curve_id,
1159
1177 occtl_rep_id_t curve_id,
1178 double u,
1179 occtl_point3_t* out_point);
1180
1199 occtl_rep_id_t curve_id,
1200 double u,
1201 occtl_point3_t* out_point,
1202 occtl_vector3_t* out_d1);
1203
1223 occtl_rep_id_t curve_id,
1224 double u,
1225 occtl_point3_t* out_point,
1226 occtl_vector3_t* out_d1,
1227 occtl_vector3_t* out_d2);
1228
1249 occtl_rep_id_t curve_id,
1250 double u,
1251 occtl_point3_t* out_point,
1252 occtl_vector3_t* out_d1,
1253 occtl_vector3_t* out_d2,
1254 occtl_vector3_t* out_d3);
1255
1276 occtl_rep_id_t curve_id,
1277 double u,
1278 int32_t n,
1279 occtl_vector3_t* out_derivative);
1280
1303
1304#define OCCTL_CURVE_AIRFOIL_NACA4_INFO_VERSION_1 1u
1305
1306#define OCCTL_CURVE_AIRFOIL_NACA4_INFO_INIT \
1307 {OCCTL_CURVE_AIRFOIL_NACA4_INFO_VERSION_1, NULL, 0.0, 0.0, 0.12, 1.0, 50, 0, 3, 8, 1.0e-5}
1308
1318OCCTL_API void OCCTL_CALL
1320
1345OCCTL_API occtl_status_t OCCTL_CALL
1348 occtl_rep_id_t* out_id);
1349
1372 occtl_point3_t p1,
1373 occtl_point3_t p2,
1374 occtl_point3_t p3,
1375 occtl_rep_id_t* out_id);
1376
1393
1394#define OCCTL_CURVE_INTERPOLATED_INFO_VERSION_1 1u
1395#define OCCTL_CURVE_INTERPOLATED_INFO_INIT \
1396 {OCCTL_CURVE_INTERPOLATED_INFO_VERSION_1, NULL, NULL, 0, 0, 0.0}
1397
1408
1431OCCTL_API occtl_status_t OCCTL_CALL
1434 occtl_rep_id_t* out_id);
1435
1454
1455#define OCCTL_CURVE_APPROXIMATED_INFO_VERSION_1 1u
1456#define OCCTL_CURVE_APPROXIMATED_INFO_INIT \
1457 {OCCTL_CURVE_APPROXIMATED_INFO_VERSION_1, NULL, NULL, 0, 1, 3, 1e-3, 0}
1458
1469
1491OCCTL_API occtl_status_t OCCTL_CALL
1494 occtl_rep_id_t* out_id);
1495
1524OCCTL_API occtl_status_t OCCTL_CALL
1526 occtl_rep_id_t curve_id,
1528 occtl_rep_id_t** out_ids,
1529 size_t* out_count);
1530
1543
1553
1582OCCTL_API occtl_status_t OCCTL_CALL
1584 occtl_rep_id_t curve_id_a,
1585 occtl_rep_id_t curve_id_b,
1586 const occtl_curve_intersection_point_t** out_results,
1587 size_t* out_count);
1588
1600OCCTL_API void OCCTL_CALL
1602
1603#ifdef __cplusplus
1604} /* extern "C" */
1605#endif
1606
1607#endif /* OCCTL_CURVES_H */
OCCT-Light: core public API.
#define OCCTL_API
Definition occtl_core.h:111
enum occtl_status occtl_status_t
struct occtl_curve_bspline occtl_curve_bspline_t
occtl_status_t occtl_curve_reverse(occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_bspline_pole_count(const occtl_graph_t *graph, occtl_rep_id_t curve_id, size_t *out_count)
occtl_status_t occtl_curve_create_ellipse(occtl_graph_t *graph, occtl_geom_ellipse_t ellipse, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_length(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double *out_length)
void occtl_curve_bezier_create_info_init(occtl_curve_bezier_create_info_t *info)
occtl_status_t occtl_curve_create_trimmed(occtl_graph_t *graph, const occtl_curve_trimmed_create_info_t *info, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_rotated(occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_axis1_placement_t axis, double angle, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_as_offset(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double *out_offset, occtl_vector3_t *out_offset_dir)
occtl_status_t occtl_curve_as_trimmed(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double *out_u_first, double *out_u_last)
occtl_status_t occtl_curve_translated(occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_vector3_t delta, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_bspline_poles(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_point3_t *out_buf, size_t capacity, size_t *out_count)
occtl_status_t occtl_curve_project_point(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_point3_t point, double *out_param, double *out_distance)
occtl_status_t occtl_curve_to_bezier_segments(occtl_graph_t *graph, occtl_rep_id_t curve_id, const occtl_curve_bezier_segments_options_t *options, occtl_rep_id_t **out_ids, size_t *out_count)
occtl_status_t occtl_curve_bspline_degree(const occtl_graph_t *graph, occtl_rep_id_t curve_id, int32_t *out_degree)
occtl_status_t occtl_curve_bspline_is_rational(const occtl_graph_t *graph, occtl_rep_id_t curve_id, int32_t *out_is_rational)
occtl_status_t occtl_curve_is_periodic(const occtl_graph_t *graph, occtl_rep_id_t curve_id, int32_t *out_is_periodic)
void occtl_curve_free_intersection_points(occtl_curve_intersection_point_t *results)
occtl_status_t occtl_curve_as_parabola(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_geom_parabola_t *out_parabola)
occtl_status_t occtl_curve_eval_d0(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double u, occtl_point3_t *out_point)
struct occtl_curve_bspline_create_info occtl_curve_bspline_create_info_t
void occtl_curve_interpolated_info_init(occtl_curve_interpolated_info_t *info)
struct occtl_curve_bezier_create_info occtl_curve_bezier_create_info_t
occtl_status_t occtl_curve_continuity(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_geom_continuity_t *out_continuity)
occtl_status_t occtl_curve_bspline_knots(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double *out_buf, size_t capacity, size_t *out_count)
void occtl_curve_bspline_init(occtl_curve_bspline_t *out)
void occtl_curve_offset_create_info_init(occtl_curve_offset_create_info_t *info)
void occtl_curve_airfoil_naca4_info_init(occtl_curve_airfoil_naca4_info_t *info)
occtl_status_t occtl_curve_parameter_of_point(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_point3_t point, double *out_param)
occtl_status_t occtl_curve_create_hyperbola(occtl_graph_t *graph, occtl_geom_hyperbola_t hyperbola, occtl_rep_id_t *out_id)
struct occtl_curve_interpolated_info occtl_curve_interpolated_info_t
struct occtl_curve_intersection_point occtl_curve_intersection_point_t
occtl_status_t occtl_curve_create_approximated(occtl_graph_t *graph, const occtl_curve_approximated_info_t *info, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_bezier_degree(const occtl_graph_t *graph, occtl_rep_id_t curve_id, int32_t *out_degree)
occtl_status_t occtl_curve_as_line(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_geom_line_t *out_line)
occtl_status_t occtl_curve_eval_d2(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double u, occtl_point3_t *out_point, occtl_vector3_t *out_d1, occtl_vector3_t *out_d2)
occtl_status_t occtl_curve_create_bezier(occtl_graph_t *graph, const occtl_curve_bezier_create_info_t *info, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_eval_d1(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double u, occtl_point3_t *out_point, occtl_vector3_t *out_d1)
struct occtl_curve_airfoil_naca4_info occtl_curve_airfoil_naca4_info_t
occtl_status_t occtl_curve_create_airfoil_naca4(occtl_graph_t *graph, const occtl_curve_airfoil_naca4_info_t *info, occtl_rep_id_t *out_id)
struct occtl_curve_offset_create_info occtl_curve_offset_create_info_t
occtl_status_t occtl_curve_as_circle(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_geom_circle_t *out_circle)
occtl_status_t occtl_curve_eval_dn(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double u, int32_t n, occtl_vector3_t *out_derivative)
occtl_status_t occtl_curve_parameter_range(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double *out_u_min, double *out_u_max)
occtl_status_t occtl_curve_bspline_multiplicities(const occtl_graph_t *graph, occtl_rep_id_t curve_id, int32_t *out_buf, size_t capacity, size_t *out_count)
occtl_status_t occtl_curve_eval_d3(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double u, occtl_point3_t *out_point, occtl_vector3_t *out_d1, occtl_vector3_t *out_d2, occtl_vector3_t *out_d3)
occtl_status_t occtl_curve_create_interpolated(occtl_graph_t *graph, const occtl_curve_interpolated_info_t *info, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_as_hyperbola(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_geom_hyperbola_t *out_hyperbola)
void occtl_curve_approximated_info_init(occtl_curve_approximated_info_t *info)
occtl_status_t occtl_curve_bspline_flat_knots(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double *out_buf, size_t capacity, size_t *out_count)
void occtl_curve_bspline_create_info_init(occtl_curve_bspline_create_info_t *info)
occtl_status_t occtl_curve_transformed(occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_transform_t transform, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_scaled(occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_point3_t origin, double factor, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_is_closed(const occtl_graph_t *graph, occtl_rep_id_t curve_id, int32_t *out_is_closed)
occtl_status_t occtl_curve_bspline_weights(const occtl_graph_t *graph, occtl_rep_id_t curve_id, double *out_buf, size_t capacity, size_t *out_count)
occtl_status_t occtl_curve_bezier_pole_count(const occtl_graph_t *graph, occtl_rep_id_t curve_id, size_t *out_count)
occtl_status_t occtl_curve_intersect(occtl_graph_t *graph, occtl_rep_id_t curve_id_a, occtl_rep_id_t curve_id_b, const occtl_curve_intersection_point_t **out_results, size_t *out_count)
void occtl_curve_free_bezier_segments(occtl_rep_id_t *ids)
occtl_status_t occtl_curve_bezier_is_rational(const occtl_graph_t *graph, occtl_rep_id_t curve_id, int32_t *out_is_rational)
struct occtl_curve_approximated_info occtl_curve_approximated_info_t
occtl_status_t occtl_curve_create_arc_of_circle_3pt(occtl_graph_t *graph, occtl_point3_t p1, occtl_point3_t p2, occtl_point3_t p3, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_create_bspline(occtl_graph_t *graph, const occtl_curve_bspline_create_info_t *info, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_bspline_knot_count(const occtl_graph_t *graph, occtl_rep_id_t curve_id, size_t *out_count)
occtl_status_t occtl_curve_as_bspline(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_curve_bspline_t *out)
occtl_status_t occtl_curve_bspline_poles_view(const occtl_graph_t *graph, occtl_rep_id_t curve_id, const occtl_point3_t **out_data, size_t *out_count)
occtl_status_t occtl_curve_as_ellipse(const occtl_graph_t *graph, occtl_rep_id_t curve_id, occtl_geom_ellipse_t *out_ellipse)
occtl_status_t occtl_curve_create_circle(occtl_graph_t *graph, occtl_geom_circle_t circle, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_create_parabola(occtl_graph_t *graph, occtl_geom_parabola_t parabola, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_create_line(occtl_graph_t *graph, occtl_geom_line_t line, occtl_rep_id_t *out_id)
occtl_status_t occtl_curve_create_offset(occtl_graph_t *graph, const occtl_curve_offset_create_info_t *info, occtl_rep_id_t *out_id)
OCCT-Light: Types shared by 3D and 2D curve APIs.
occtl_curve_kind
Definition occtl_curves_common.h:45
enum occtl_curve_kind occtl_curve_kind_t
OCCT-Light: geometry primitive types and math utilities.
enum occtl_geom_continuity occtl_geom_continuity_t
struct occtl_graph occtl_graph_t
Definition occtl_topo_types.h:152
Definition occtl_geom.h:111
Definition occtl_curves.h:1289
const void * p_next
Definition occtl_curves.h:1291
double thickness
Definition occtl_curves.h:1294
double chord_length
Definition occtl_curves.h:1295
size_t point_count
Definition occtl_curves.h:1296
double tolerance
Definition occtl_curves.h:1301
double camber_position
Definition occtl_curves.h:1293
int32_t degree_min
Definition occtl_curves.h:1299
int32_t degree_max
Definition occtl_curves.h:1300
double max_camber
Definition occtl_curves.h:1292
int32_t finite_trailing_edge
Definition occtl_curves.h:1298
uint32_t struct_version
Definition occtl_curves.h:1290
Definition occtl_curves.h:1444
const void * p_next
Definition occtl_curves.h:1446
size_t point_count
Definition occtl_curves.h:1448
const occtl_point3_t * points
Definition occtl_curves.h:1447
int32_t degree_min
Definition occtl_curves.h:1449
int32_t is_periodic
Definition occtl_curves.h:1452
uint32_t struct_version
Definition occtl_curves.h:1445
int32_t degree_max
Definition occtl_curves.h:1450
double tolerance
Definition occtl_curves.h:1451
Definition occtl_curves.h:221
size_t pole_count
Definition occtl_curves.h:225
const double * weights
Definition occtl_curves.h:226
const void * p_next
Definition occtl_curves.h:223
const occtl_point3_t * poles
Definition occtl_curves.h:224
uint32_t struct_version
Definition occtl_curves.h:222
Definition occtl_curves_common.h:119
Definition occtl_curves.h:159
const occtl_point3_t * poles
Definition occtl_curves.h:162
int32_t degree
Definition occtl_curves.h:169
const int32_t * multiplicities
Definition occtl_curves.h:167
size_t knot_count
Definition occtl_curves.h:168
const double * weights
Definition occtl_curves.h:164
size_t pole_count
Definition occtl_curves.h:163
uint32_t struct_version
Definition occtl_curves.h:160
const void * p_next
Definition occtl_curves.h:161
const double * knots
Definition occtl_curves.h:166
int32_t is_periodic
Definition occtl_curves.h:170
Definition occtl_curves.h:1088
int32_t is_rational
Definition occtl_curves.h:1093
const int32_t * multiplicities
Definition occtl_curves.h:1109
size_t pole_count
Definition occtl_curves.h:1097
size_t knot_count
Definition occtl_curves.h:1098
const double * weights
Definition occtl_curves.h:1106
const double * knots
Definition occtl_curves.h:1108
int32_t is_periodic
Definition occtl_curves.h:1094
const double * flat_knots
Definition occtl_curves.h:1110
size_t flat_knot_count
Definition occtl_curves.h:1099
int32_t degree
Definition occtl_curves.h:1092
uint32_t struct_version
Definition occtl_curves.h:1089
int32_t continuity
Definition occtl_curves.h:1096
int32_t is_closed
Definition occtl_curves.h:1095
const occtl_point3_t * poles
Definition occtl_curves.h:1105
const void * p_next
Definition occtl_curves.h:1090
Definition occtl_curves.h:1385
const void * p_next
Definition occtl_curves.h:1387
double tolerance
Definition occtl_curves.h:1391
int32_t is_periodic
Definition occtl_curves.h:1390
size_t point_count
Definition occtl_curves.h:1389
const occtl_point3_t * points
Definition occtl_curves.h:1388
uint32_t struct_version
Definition occtl_curves.h:1386
Definition occtl_curves.h:1548
double param_a
Definition occtl_curves.h:1550
occtl_point3_t point
Definition occtl_curves.h:1549
double param_b
Definition occtl_curves.h:1551
Definition occtl_curves.h:294
uint32_t struct_version
Definition occtl_curves.h:295
double offset
Definition occtl_curves.h:299
occtl_vector3_t offset_dir
Definition occtl_curves.h:298
const void * p_next
Definition occtl_curves.h:296
occtl_rep_id_t basis
Definition occtl_curves.h:297
Definition occtl_curves_common.h:86
Definition occtl_geom.h:820
Definition occtl_geom.h:832
Definition occtl_geom.h:845
Definition occtl_geom.h:857
Definition occtl_geom.h:76
Definition occtl_core.h:251
Definition occtl_geom.h:171
Definition occtl_geom.h:84