OCCT-Light 0.1
C ABI and C++ veneer for multi-language CAD workflows
Loading...
Searching...
No Matches
occtl_mesh.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
42#ifndef OCCTL_MESH_H
43#define OCCTL_MESH_H
44
45#include <stddef.h>
46#include <stdint.h>
47
48#include "occtl_core.h"
49#include "occtl_geom.h"
50#include "occtl_topo.h"
51
52#ifdef __cplusplus
53extern "C"
54{
55#endif
56
70
75#define OCCTL_MESH_OPTIONS_VERSION_1 1u
76
132
139#define OCCTL_MESH_OPTIONS_INIT \
140 {OCCTL_MESH_OPTIONS_VERSION_1, \
141 NULL, \
142 0.001, \
143 0.5, \
144 -1.0, \
145 -1.0, \
146 -1.0, \
147 0, \
148 0, \
149 1, \
150 1, \
151 0, \
152 1, \
153 0, \
154 0, \
155 0, \
156 0, \
157 {{0.0, 0.0, 0.0}, {0.0, 0.0, 0.0}}, \
158 0.001, \
159 OCCTL_ANGLE_20_DEG_RAD}
160
171
197 const char* key,
198 size_t keyLen,
199 const char* value,
200 size_t valueLen);
201
232 const char* key,
233 size_t keyLen,
234 char* buf,
235 size_t bufSize,
236 size_t* out_required);
237
261OCCTL_API occtl_status_t OCCTL_CALL
264 size_t cap,
265 size_t* out_count);
266
285 const char* key,
286 size_t keyLen);
287
288#define OCCTL_MESH_FROM_BUFFERS_OPTIONS_VERSION_1 1u
289
309
310#define OCCTL_MESH_FROM_BUFFERS_OPTIONS_INIT \
311 {OCCTL_MESH_FROM_BUFFERS_OPTIONS_VERSION_1, NULL, NULL, 0, NULL, 0, 0.0}
312
324OCCTL_API void OCCTL_CALL
326
359OCCTL_API occtl_status_t OCCTL_CALL
361 occtl_graph_t** out_graph,
362 occtl_node_id_t* out_root);
363
414 const occtl_node_id_t* nodes,
415 size_t n_nodes,
416 const occtl_mesh_options_t* options);
417
439{
440 const double* nodes;
441 size_t node_count;
442 const double*
444 const double* uvs;
445 const uint32_t* triangles;
447 double deflection;
451
474OCCTL_API occtl_status_t OCCTL_CALL
476 occtl_node_id_t face,
478
501 occtl_node_id_t face,
502 uint32_t* out_count);
503
525OCCTL_API occtl_status_t OCCTL_CALL
527 occtl_node_id_t face,
528 uint32_t index,
530
549
566 occtl_node_id_t edge,
567 occtl_polygon3d_view_t* out_view);
568
590
606OCCTL_API occtl_status_t OCCTL_CALL
608 occtl_node_id_t coedge,
610
634
635#define OCCTL_MESH_TRIANGLE_ADJACENCY_BOUNDARY UINT32_MAX
636
660
661#define OCCTL_MESH_TRIANGLE_COMPONENTS_OPTIONS_VERSION_1 1u
662
681
682#define OCCTL_MESH_TRIANGLE_COMPONENTS_OPTIONS_INIT \
683 {OCCTL_MESH_TRIANGLE_COMPONENTS_OPTIONS_VERSION_1, \
684 NULL, \
685 OCCTL_NODE_ID_INVALID, \
686 OCCTL_ANGLE_1_DEG_RAD, \
687 1}
688
708
725
743
758
773
789
810
830
847
865
866#define OCCTL_MESH_TRIANGLE_PLANE_COMPONENTS_OPTIONS_VERSION_1 1u
867
888
889#define OCCTL_MESH_TRIANGLE_PLANE_COMPONENTS_OPTIONS_INIT \
890 {OCCTL_MESH_TRIANGLE_PLANE_COMPONENTS_OPTIONS_VERSION_1, \
891 NULL, \
892 OCCTL_NODE_ID_INVALID, \
893 OCCTL_ANGLE_1_DEG_RAD, \
894 1, \
895 1.0e-6, \
896 0.0, \
897 1u}
898
916
931
932#define OCCTL_MESH_TRIANGLE_SPHERE_COMPONENTS_OPTIONS_VERSION_1 1u
933
955
956#define OCCTL_MESH_TRIANGLE_SPHERE_COMPONENTS_OPTIONS_INIT \
957 {OCCTL_MESH_TRIANGLE_SPHERE_COMPONENTS_OPTIONS_VERSION_1, \
958 NULL, \
959 OCCTL_NODE_ID_INVALID, \
960 OCCTL_ANGLE_30_DEG_RAD, \
961 1, \
962 1.0e-3, \
963 0.0, \
964 4u, \
965 1.0e-9}
966
984
999
1000#define OCCTL_MESH_TRIANGLE_CYLINDER_COMPONENTS_OPTIONS_VERSION_1 1u
1001
1025
1026#define OCCTL_MESH_TRIANGLE_CYLINDER_COMPONENTS_OPTIONS_INIT \
1027 {OCCTL_MESH_TRIANGLE_CYLINDER_COMPONENTS_OPTIONS_VERSION_1, \
1028 NULL, \
1029 OCCTL_NODE_ID_INVALID, \
1030 OCCTL_ANGLE_30_DEG_RAD, \
1031 1, \
1032 1.0e-3, \
1033 0.0, \
1034 4u, \
1035 1.0e-9}
1036
1059
1074
1098OCCTL_API occtl_status_t OCCTL_CALL
1100 occtl_node_id_t root,
1102
1128OCCTL_API occtl_status_t OCCTL_CALL
1130 occtl_node_id_t root,
1132
1144OCCTL_API void OCCTL_CALL
1146
1175OCCTL_API occtl_status_t OCCTL_CALL
1179
1209OCCTL_API occtl_status_t OCCTL_CALL
1212 uint32_t component_id,
1214
1246OCCTL_API occtl_status_t OCCTL_CALL
1249 uint32_t component_id,
1251
1283 const occtl_graph_t* graph,
1285 uint32_t component_id,
1287
1317OCCTL_API occtl_status_t OCCTL_CALL
1320 uint32_t component_id,
1322
1350OCCTL_API occtl_status_t OCCTL_CALL
1354
1368
1397 const occtl_graph_t* graph,
1400
1414
1444 const occtl_graph_t* graph,
1447
1461
1491 const occtl_graph_t* graph,
1494
1529 occtl_graph_t* graph,
1531 uint32_t component_id,
1532 occtl_node_id_t* out_solid);
1533
1568 occtl_graph_t* graph,
1570 uint32_t component_id,
1571 occtl_node_id_t* out_solid);
1572
1616 occtl_graph_t* graph,
1618 occtl_node_id_t* out_buf,
1619 size_t cap,
1620 size_t* out_count);
1621
1665 occtl_graph_t* graph,
1667 occtl_node_id_t* out_buf,
1668 size_t cap,
1669 size_t* out_count);
1670
1708 occtl_graph_t* graph,
1710 uint32_t component_id,
1711 occtl_node_id_t* out_face);
1712
1757 occtl_graph_t* graph,
1759 occtl_node_id_t* out_buf,
1760 size_t cap,
1761 size_t* out_count);
1762
1763#ifdef __cplusplus
1764} /* extern "C" */
1765#endif
1766
1767#endif /* OCCTL_MESH_H */
OCCT-Light: core public API.
#define OCCTL_API
Definition occtl_core.h:111
enum occtl_status occtl_status_t
OCCT-Light: geometry primitive types and math utilities.
occtl_status_t occtl_mesh_model_metadata_set(occtl_graph_t *graph, const char *key, size_t keyLen, const char *value, size_t valueLen)
struct occtl_mesh_triangle_sphere_component occtl_mesh_triangle_sphere_component_t
struct occtl_mesh_triangle_component_summaries_view occtl_mesh_triangle_component_summaries_view_t
occtl_status_t occtl_mesh_generate(occtl_graph_t *graph, const occtl_node_id_t *nodes, size_t n_nodes, const occtl_mesh_options_t *options)
struct occtl_mesh_triangle_buffers_view occtl_mesh_triangle_buffers_view_t
occtl_status_t occtl_mesh_triangle_sphere_components(const occtl_graph_t *graph, const occtl_mesh_triangle_sphere_components_options_t *options, occtl_mesh_triangle_sphere_components_view_t *out_view)
struct occtl_polygon_on_tri_view occtl_polygon_on_tri_view_t
struct occtl_triangulation_view occtl_triangulation_view_t
occtl_status_t occtl_mesh_coedge_polygon_on_tri(const occtl_graph_t *graph, occtl_node_id_t coedge, occtl_polygon_on_tri_view_t *out_view)
occtl_status_t occtl_mesh_from_buffers(const occtl_mesh_from_buffers_options_t *options, occtl_graph_t **out_graph, occtl_node_id_t *out_root)
struct occtl_mesh_triangle_cylinder_components_options occtl_mesh_triangle_cylinder_components_options_t
occtl_status_t occtl_mesh_triangle_component_boundary(const occtl_graph_t *graph, const occtl_mesh_triangle_components_options_t *options, uint32_t component_id, occtl_mesh_triangle_component_boundary_view_t *out_view)
occtl_status_t occtl_mesh_model_metadata_unset(occtl_graph_t *graph, const char *key, size_t keyLen)
struct occtl_mesh_triangle_plane_component occtl_mesh_triangle_plane_component_t
struct occtl_mesh_triangle_component_boundary_view occtl_mesh_triangle_component_boundary_view_t
occtl_status_t occtl_mesh_make_plane_component_face(occtl_graph_t *graph, const occtl_mesh_triangle_plane_components_options_t *options, uint32_t component_id, occtl_node_id_t *out_face)
struct occtl_mesh_component_boundary_polylines_view occtl_mesh_component_boundary_polylines_view_t
void occtl_mesh_triangle_components_options_init(occtl_mesh_triangle_components_options_t *options)
occtl_status_t occtl_mesh_make_sphere_component_solid(occtl_graph_t *graph, const occtl_mesh_triangle_sphere_components_options_t *options, uint32_t component_id, occtl_node_id_t *out_solid)
occtl_status_t occtl_mesh_triangle_analysis(const occtl_graph_t *graph, occtl_node_id_t root, occtl_mesh_triangle_analysis_view_t *out_view)
struct occtl_mesh_triangle_sphere_components_options occtl_mesh_triangle_sphere_components_options_t
void occtl_mesh_triangle_sphere_components_options_init(occtl_mesh_triangle_sphere_components_options_t *options)
struct occtl_mesh_triangle_component_boundary_edge occtl_mesh_triangle_component_boundary_edge_t
struct occtl_mesh_component_boundary_polyline occtl_mesh_component_boundary_polyline_t
struct occtl_mesh_triangle_sphere_components_view occtl_mesh_triangle_sphere_components_view_t
occtl_status_t occtl_mesh_make_cylinder_component_solid(occtl_graph_t *graph, const occtl_mesh_triangle_cylinder_components_options_t *options, uint32_t component_id, occtl_node_id_t *out_solid)
occtl_status_t occtl_mesh_face_triangulation_indexed(const occtl_graph_t *graph, occtl_node_id_t face, uint32_t index, occtl_triangulation_view_t *out_view)
void occtl_mesh_options_init(occtl_mesh_options_t *options)
occtl_status_t occtl_mesh_model_metadata_keys(const occtl_graph_t *graph, occtl_metadata_key_view_t *out_keys, size_t cap, size_t *out_count)
occtl_status_t occtl_mesh_edge_polygon3d(const occtl_graph_t *graph, occtl_node_id_t edge, occtl_polygon3d_view_t *out_view)
occtl_status_t occtl_mesh_triangle_buffers(const occtl_graph_t *graph, occtl_node_id_t root, occtl_mesh_triangle_buffers_view_t *out_view)
struct occtl_mesh_triangle_component_boundary_chains_view occtl_mesh_triangle_component_boundary_chains_view_t
void occtl_mesh_triangle_plane_components_options_init(occtl_mesh_triangle_plane_components_options_t *options)
occtl_status_t occtl_mesh_make_sphere_component_solids(occtl_graph_t *graph, const occtl_mesh_triangle_sphere_components_options_t *options, occtl_node_id_t *out_buf, size_t cap, size_t *out_count)
void occtl_mesh_from_buffers_options_init(occtl_mesh_from_buffers_options_t *options)
void occtl_mesh_triangle_cylinder_components_options_init(occtl_mesh_triangle_cylinder_components_options_t *options)
struct occtl_mesh_triangle_components_view occtl_mesh_triangle_components_view_t
occtl_status_t occtl_mesh_face_triangulation(const occtl_graph_t *graph, occtl_node_id_t face, occtl_triangulation_view_t *out_view)
occtl_status_t occtl_mesh_make_plane_component_faces(occtl_graph_t *graph, const occtl_mesh_triangle_plane_components_options_t *options, occtl_node_id_t *out_buf, size_t cap, size_t *out_count)
occtl_status_t occtl_mesh_face_triangulation_count(const occtl_graph_t *graph, occtl_node_id_t face, uint32_t *out_count)
struct occtl_mesh_triangle_cylinder_component occtl_mesh_triangle_cylinder_component_t
struct occtl_mesh_from_buffers_options occtl_mesh_from_buffers_options_t
struct occtl_mesh_triangle_cylinder_components_view occtl_mesh_triangle_cylinder_components_view_t
struct occtl_aabb3 occtl_aabb3_t
occtl_status_t occtl_mesh_model_metadata_get(const occtl_graph_t *graph, const char *key, size_t keyLen, char *buf, size_t bufSize, size_t *out_required)
struct occtl_mesh_triangle_components_options occtl_mesh_triangle_components_options_t
occtl_status_t occtl_mesh_make_cylinder_component_solids(occtl_graph_t *graph, const occtl_mesh_triangle_cylinder_components_options_t *options, occtl_node_id_t *out_buf, size_t cap, size_t *out_count)
occtl_status_t occtl_mesh_triangle_components(const occtl_graph_t *graph, const occtl_mesh_triangle_components_options_t *options, occtl_mesh_triangle_components_view_t *out_view)
struct occtl_mesh_options occtl_mesh_options_t
occtl_status_t occtl_mesh_triangle_component_boundary_chains(const occtl_graph_t *graph, const occtl_mesh_triangle_components_options_t *options, uint32_t component_id, occtl_mesh_triangle_component_boundary_chains_view_t *out_view)
struct occtl_mesh_triangle_plane_components_options occtl_mesh_triangle_plane_components_options_t
struct occtl_polygon3d_view occtl_polygon3d_view_t
struct occtl_mesh_triangle_analysis_view occtl_mesh_triangle_analysis_view_t
occtl_status_t occtl_mesh_triangle_cylinder_components(const occtl_graph_t *graph, const occtl_mesh_triangle_cylinder_components_options_t *options, occtl_mesh_triangle_cylinder_components_view_t *out_view)
struct occtl_mesh_triangle_component_triangles_view occtl_mesh_triangle_component_triangles_view_t
occtl_status_t occtl_mesh_triangle_plane_components(const occtl_graph_t *graph, const occtl_mesh_triangle_plane_components_options_t *options, occtl_mesh_triangle_plane_components_view_t *out_view)
struct occtl_mesh_triangle_component_summary occtl_mesh_triangle_component_summary_t
occtl_status_t occtl_mesh_component_boundary_polylines(const occtl_graph_t *graph, const occtl_mesh_triangle_components_options_t *options, uint32_t component_id, occtl_mesh_component_boundary_polylines_view_t *out_view)
struct occtl_mesh_triangle_component_boundary_chain occtl_mesh_triangle_component_boundary_chain_t
occtl_status_t occtl_mesh_triangle_component_triangles(const occtl_graph_t *graph, const occtl_mesh_triangle_components_options_t *options, uint32_t component_id, occtl_mesh_triangle_component_triangles_view_t *out_view)
struct occtl_mesh_triangle_plane_components_view occtl_mesh_triangle_plane_components_view_t
occtl_status_t occtl_mesh_triangle_component_summaries(const occtl_graph_t *graph, const occtl_mesh_triangle_components_options_t *options, occtl_mesh_triangle_component_summaries_view_t *out_view)
OCCT-Light: topology module public API.
struct occtl_graph occtl_graph_t
Definition occtl_topo_types.h:152
Definition occtl_mesh.h:66
occtl_point3_t min
Definition occtl_mesh.h:67
occtl_point3_t max
Definition occtl_mesh.h:68
Definition occtl_mesh.h:768
uint32_t point_count
Definition occtl_mesh.h:770
uint32_t first_point
Definition occtl_mesh.h:769
int32_t is_closed
Definition occtl_mesh.h:771
size_t polyline_count
Definition occtl_mesh.h:826
const occtl_point3_t * points
Definition occtl_mesh.h:822
occtl_node_id_t root
Definition occtl_mesh.h:828
size_t point_count
Definition occtl_mesh.h:823
const occtl_mesh_component_boundary_polyline_t * polylines
Definition occtl_mesh.h:825
uint32_t component_id
Definition occtl_mesh.h:827
Definition occtl_mesh.h:299
size_t triangle_count
Definition occtl_mesh.h:306
const uint32_t * triangles
Definition occtl_mesh.h:305
const void * p_next
Definition occtl_mesh.h:301
double deflection
Definition occtl_mesh.h:307
const double * nodes
Definition occtl_mesh.h:303
uint32_t struct_version
Definition occtl_mesh.h:300
size_t node_count
Definition occtl_mesh.h:304
Definition occtl_mesh.h:97
double min_size
Definition occtl_mesh.h:108
uint32_t struct_version
Definition occtl_mesh.h:98
int32_t in_parallel
Definition occtl_mesh.h:110
int32_t allow_quality_decrease
Definition occtl_mesh.h:122
int32_t clean_model
Definition occtl_mesh.h:117
double deflection_interior
Definition occtl_mesh.h:104
double angle_interior
Definition occtl_mesh.h:105
double angle
Definition occtl_mesh.h:102
int32_t control_surface_deflection
Definition occtl_mesh.h:114
const void * p_next
Definition occtl_mesh.h:99
int32_t force_face_deflection
Definition occtl_mesh.h:120
double deflection
Definition occtl_mesh.h:101
occtl_aabb3_t bbox
Definition occtl_mesh.h:128
double deviation_angle
Definition occtl_mesh.h:130
double deviation_coefficient
Definition occtl_mesh.h:129
int32_t internal_vertices_mode
Definition occtl_mesh.h:112
int32_t use_bbox
Definition occtl_mesh.h:125
int32_t relative
Definition occtl_mesh.h:111
int32_t adjust_min_size
Definition occtl_mesh.h:119
int32_t control_surface_deflection_all
Definition occtl_mesh.h:115
Definition occtl_mesh.h:652
const double * triangle_normals
Definition occtl_mesh.h:653
size_t triangle_count
Definition occtl_mesh.h:656
occtl_node_id_t root
Definition occtl_mesh.h:658
const uint32_t * triangle_adjacency
Definition occtl_mesh.h:655
size_t face_count
Definition occtl_mesh.h:657
Definition occtl_mesh.h:626
size_t node_count
Definition occtl_mesh.h:628
occtl_node_id_t root
Definition occtl_mesh.h:632
const uint32_t * triangles
Definition occtl_mesh.h:629
size_t face_count
Definition occtl_mesh.h:631
const double * nodes
Definition occtl_mesh.h:627
size_t triangle_count
Definition occtl_mesh.h:630
uint32_t edge_count
Definition occtl_mesh.h:755
int32_t is_closed
Definition occtl_mesh.h:756
uint32_t first_edge
Definition occtl_mesh.h:754
size_t chain_count
Definition occtl_mesh.h:806
size_t edge_count
Definition occtl_mesh.h:803
const occtl_mesh_triangle_component_boundary_chain_t * chains
Definition occtl_mesh.h:805
uint32_t component_id
Definition occtl_mesh.h:807
occtl_node_id_t root
Definition occtl_mesh.h:808
const occtl_mesh_triangle_component_boundary_edge_t * edges
Definition occtl_mesh.h:802
uint32_t node0
Definition occtl_mesh.h:739
uint32_t adjacent_triangle
Definition occtl_mesh.h:741
uint32_t triangle
Definition occtl_mesh.h:737
uint32_t local_edge
Definition occtl_mesh.h:738
uint32_t node1
Definition occtl_mesh.h:740
occtl_node_id_t root
Definition occtl_mesh.h:787
uint32_t component_id
Definition occtl_mesh.h:786
size_t edge_count
Definition occtl_mesh.h:785
const occtl_mesh_triangle_component_boundary_edge_t * edges
Definition occtl_mesh.h:784
size_t component_count
Definition occtl_mesh.h:861
size_t triangle_count
Definition occtl_mesh.h:862
occtl_node_id_t root
Definition occtl_mesh.h:863
const occtl_mesh_triangle_component_summary_t * summaries
Definition occtl_mesh.h:860
Definition occtl_mesh.h:839
double area
Definition occtl_mesh.h:842
occtl_point3_t centroid
Definition occtl_mesh.h:843
occtl_aabb3_t bounds
Definition occtl_mesh.h:845
occtl_vector3_t normal
Definition occtl_mesh.h:844
uint32_t triangle_count
Definition occtl_mesh.h:841
uint32_t component_id
Definition occtl_mesh.h:840
occtl_node_id_t root
Definition occtl_mesh.h:723
const uint32_t * triangles
Definition occtl_mesh.h:720
uint32_t component_id
Definition occtl_mesh.h:722
size_t triangle_count
Definition occtl_mesh.h:721
Definition occtl_mesh.h:673
uint32_t struct_version
Definition occtl_mesh.h:674
occtl_node_id_t root
Definition occtl_mesh.h:676
int32_t include_opposite_normals
Definition occtl_mesh.h:679
double max_normal_angle
Definition occtl_mesh.h:677
const void * p_next
Definition occtl_mesh.h:675
Definition occtl_mesh.h:700
const uint32_t * triangle_component_ids
Definition occtl_mesh.h:702
const uint32_t * component_sizes
Definition occtl_mesh.h:704
size_t triangle_count
Definition occtl_mesh.h:703
size_t component_count
Definition occtl_mesh.h:705
occtl_node_id_t root
Definition occtl_mesh.h:706
Definition occtl_mesh.h:1047
uint32_t triangle_count
Definition occtl_mesh.h:1049
uint32_t component_id
Definition occtl_mesh.h:1048
double max_distance
Definition occtl_mesh.h:1057
double height_min
Definition occtl_mesh.h:1054
double area
Definition occtl_mesh.h:1050
double height_max
Definition occtl_mesh.h:1055
occtl_vector3_t axis_direction
Definition occtl_mesh.h:1052
occtl_point3_t axis_origin
Definition occtl_mesh.h:1051
occtl_aabb3_t bounds
Definition occtl_mesh.h:1056
double radius
Definition occtl_mesh.h:1053
occtl_node_id_t root
Definition occtl_mesh.h:1016
double min_radius
Definition occtl_mesh.h:1023
uint32_t min_triangle_count
Definition occtl_mesh.h:1022
const void * p_next
Definition occtl_mesh.h:1015
double min_area
Definition occtl_mesh.h:1021
double max_distance
Definition occtl_mesh.h:1020
uint32_t struct_version
Definition occtl_mesh.h:1014
double max_normal_angle
Definition occtl_mesh.h:1017
int32_t include_opposite_normals
Definition occtl_mesh.h:1019
const occtl_mesh_triangle_cylinder_component_t * components
Definition occtl_mesh.h:1069
occtl_node_id_t root
Definition occtl_mesh.h:1072
size_t component_count
Definition occtl_mesh.h:1070
size_t triangle_count
Definition occtl_mesh.h:1071
Definition occtl_mesh.h:907
occtl_vector3_t normal
Definition occtl_mesh.h:912
double area
Definition occtl_mesh.h:910
uint32_t component_id
Definition occtl_mesh.h:908
double max_distance
Definition occtl_mesh.h:914
uint32_t triangle_count
Definition occtl_mesh.h:909
occtl_point3_t origin
Definition occtl_mesh.h:911
occtl_aabb3_t bounds
Definition occtl_mesh.h:913
occtl_node_id_t root
Definition occtl_mesh.h:880
double min_area
Definition occtl_mesh.h:885
uint32_t struct_version
Definition occtl_mesh.h:878
const void * p_next
Definition occtl_mesh.h:879
double max_distance
Definition occtl_mesh.h:884
double max_normal_angle
Definition occtl_mesh.h:881
uint32_t min_triangle_count
Definition occtl_mesh.h:886
int32_t include_opposite_normals
Definition occtl_mesh.h:883
const occtl_mesh_triangle_plane_component_t * components
Definition occtl_mesh.h:926
occtl_node_id_t root
Definition occtl_mesh.h:929
size_t triangle_count
Definition occtl_mesh.h:928
size_t component_count
Definition occtl_mesh.h:927
Definition occtl_mesh.h:975
uint32_t triangle_count
Definition occtl_mesh.h:977
uint32_t component_id
Definition occtl_mesh.h:976
double max_distance
Definition occtl_mesh.h:982
double radius
Definition occtl_mesh.h:980
occtl_point3_t center
Definition occtl_mesh.h:979
double area
Definition occtl_mesh.h:978
occtl_aabb3_t bounds
Definition occtl_mesh.h:981
int32_t include_opposite_normals
Definition occtl_mesh.h:949
double max_normal_angle
Definition occtl_mesh.h:947
double min_area
Definition occtl_mesh.h:951
uint32_t min_triangle_count
Definition occtl_mesh.h:952
double min_radius
Definition occtl_mesh.h:953
uint32_t struct_version
Definition occtl_mesh.h:944
const void * p_next
Definition occtl_mesh.h:945
double max_distance
Definition occtl_mesh.h:950
occtl_node_id_t root
Definition occtl_mesh.h:946
size_t component_count
Definition occtl_mesh.h:995
size_t triangle_count
Definition occtl_mesh.h:996
occtl_node_id_t root
Definition occtl_mesh.h:997
const occtl_mesh_triangle_sphere_component_t * components
Definition occtl_mesh.h:994
Definition occtl_topo_build.h:2204
Definition occtl_topo_types.h:50
Definition occtl_geom.h:76
Definition occtl_mesh.h:541
double deflection
Definition occtl_mesh.h:546
occtl_uid_t source_uid
Definition occtl_mesh.h:547
const double * nodes
Definition occtl_mesh.h:542
size_t node_count
Definition occtl_mesh.h:543
const double * parameters
Definition occtl_mesh.h:545
Definition occtl_mesh.h:581
double deflection
Definition occtl_mesh.h:587
occtl_uid_t source_uid
Definition occtl_mesh.h:588
const double * parameters
Definition occtl_mesh.h:586
const uint32_t * node_indices
Definition occtl_mesh.h:582
size_t node_count
Definition occtl_mesh.h:584
Definition occtl_mesh.h:439
size_t node_count
Definition occtl_mesh.h:441
occtl_uid_t source_uid
Definition occtl_mesh.h:448
const double * nodes
Definition occtl_mesh.h:440
const double * uvs
Definition occtl_mesh.h:444
const uint32_t * triangles
Definition occtl_mesh.h:445
const double * normals
Definition occtl_mesh.h:443
size_t triangle_count
Definition occtl_mesh.h:446
double deflection
Definition occtl_mesh.h:447
Definition occtl_core.h:272
Definition occtl_geom.h:84