MeshLib C Docs
Loading...
Searching...
No Matches
MRAABBTreePolyline.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRBox.h>
4#include <MRCMesh/MRId.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
7
8#include <stddef.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
18typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
19typedef struct MR_NodeBitSet MR_NodeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
20typedef struct MR_Polyline2 MR_Polyline2; // Defined in `#include <MRCMesh/MRPolyline.h>`.
21typedef struct MR_Polyline3 MR_Polyline3; // Defined in `#include <MRCMesh/MRPolyline.h>`.
22typedef struct MR_UndirectedEdgeBMap MR_UndirectedEdgeBMap; // Defined in `#include <MRCMesh/MRBuffer.h>`.
23typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
26typedef struct MR_std_vector_MR_NodeId MR_std_vector_MR_NodeId; // Defined in `#include <MRCMisc/std_vector_MR_NodeId.h>`.
27
28
36
44
48
52
56
61
65
69
74
78
83
90
93
96
104
110
116
120
125
129MRC_API MR_uint64_t MR_AABBTreePolyline2_heapBytes(const MR_AABBTreePolyline2 *_this);
130
134MRC_API MR_uint64_t MR_AABBTreePolyline2_numLeaves(const MR_AABBTreePolyline2 *_this);
135
141
147
154
161
168
172
177
181
185
190
194
199
206
215
218
221
229
235
241
245
250
254MRC_API MR_uint64_t MR_AABBTreePolyline3_heapBytes(const MR_AABBTreePolyline3 *_this);
255
259MRC_API MR_uint64_t MR_AABBTreePolyline3_numLeaves(const MR_AABBTreePolyline3 *_this);
260
266
272
279
286
293
297
302
306
310
316
319
322
330
334
339
343
347
353
356
359
367
368#ifdef __cplusplus
369} // extern "C"
370#endif
struct MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f
Definition MRAABBTreeBase.h:16
struct MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f
Definition MRAABBTreeBase.h:17
struct MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f
Definition MRAABBTreeBase.h:66
struct MR_AABBTreePolyline2 MR_AABBTreePolyline2
Definition MRAABBTreeBase.h:20
struct MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f_MR_NodeId MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f_MR_NodeId
Definition MRAABBTreeBase.h:31
struct MR_UndirectedEdgeBMap MR_UndirectedEdgeBMap
Definition MRAABBTreeBase.h:27
struct MR_AABBTreePolyline3 MR_AABBTreePolyline3
Definition MRAABBTreeBase.h:21
struct MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f_MR_NodeId MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f_MR_NodeId
Definition MRAABBTreeBase.h:30
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:28
struct MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f
Definition MRAABBTreeBase.h:58
MRC_API const MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f * MR_AABBTreePolyline2_index(const MR_AABBTreePolyline2 *_this, MR_NodeId nid)
MRC_API const MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f * MR_AABBTreePolyline2_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f(const MR_AABBTreePolyline2 *object)
MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_DefaultConstructArray(size_t num_elems)
MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_ConstructFromAnother(const MR_PolylineTraits_MR_Vector2f *_other)
MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_AssignFromAnother(MR_PolylineTraits_MR_Vector2f *_this, const MR_PolylineTraits_MR_Vector2f *_other)
MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_Construct_1(const MR_Polyline3 *polyline)
MRC_API MR_UndirectedEdgeBitSet * MR_AABBTreePolyline3_getSubtreeLeaves(const MR_AABBTreePolyline3 *_this, MR_NodeId subtreeRoot)
MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_DefaultConstruct(void)
MRC_API MR_uint64_t MR_AABBTreePolyline3_numLeaves(const MR_AABBTreePolyline3 *_this)
MRC_API MR_std_vector_MR_NodeId * MR_AABBTreePolyline2_getSubtrees(const MR_AABBTreePolyline2 *_this, int minNum)
MRC_API void MR_PolylineTraits_MR_Vector3f_DestroyArray(const MR_PolylineTraits_MR_Vector3f *_this)
Destroys a heap-allocated array of MR_PolylineTraits_MR_Vector3f. Does nothing if the pointer is null...
MRC_API void MR_AABBTreePolyline3_getLeafOrder(const MR_AABBTreePolyline3 *_this, MR_UndirectedEdgeBMap *leafMap)
MRC_API MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f * MR_AABBTreePolyline3_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f(MR_AABBTreePolyline3 *object)
MRC_API void MR_AABBTreePolyline3_getLeafOrderAndReset(MR_AABBTreePolyline3 *_this, MR_UndirectedEdgeBMap *leafMap)
MRC_API const MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f * MR_AABBTreePolyline3_index(const MR_AABBTreePolyline3 *_this, MR_NodeId nid)
MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_AssignFromAnother(MR_PolylineTraits_MR_Vector3f *_this, const MR_PolylineTraits_MR_Vector3f *_other)
MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_Construct_2(const MR_Mesh *mesh, const MR_UndirectedEdgeBitSet *edgeSet)
MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_DefaultConstructArray(size_t num_elems)
MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_AssignFromAnother(MR_AABBTreePolyline3 *_this, MR_PassBy _other_pass_by, MR_AABBTreePolyline3 *_other)
MRC_API MR_NodeId MR_AABBTreePolyline3_rootNodeId(void)
MRC_API void MR_AABBTreePolyline2_getLeafOrderAndReset(MR_AABBTreePolyline2 *_this, MR_UndirectedEdgeBMap *leafMap)
MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_DefaultConstruct(void)
MRC_API MR_std_vector_MR_NodeId * MR_AABBTreePolyline3_getSubtrees(const MR_AABBTreePolyline3 *_this, int minNum)
MRC_API MR_uint64_t MR_AABBTreePolyline2_heapBytes(const MR_AABBTreePolyline2 *_this)
MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_OffsetMutablePtr(MR_PolylineTraits_MR_Vector2f *ptr, ptrdiff_t i)
MRC_API void MR_PolylineTraits_MR_Vector2f_Destroy(const MR_PolylineTraits_MR_Vector2f *_this)
Destroys a heap-allocated instance of MR_PolylineTraits_MR_Vector2f. Does nothing if the pointer is n...
struct MR_Polyline3 MR_Polyline3
Definition MRAABBTreePolyline.h:21
MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_OffsetMutablePtr(MR_PolylineTraits_MR_Vector3f *ptr, ptrdiff_t i)
MRC_API const MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_OffsetPtr(const MR_PolylineTraits_MR_Vector2f *ptr, ptrdiff_t i)
MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_ConstructFromAnother(const MR_PolylineTraits_MR_Vector3f *_other)
MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_AssignFromAnother(MR_AABBTreePolyline2 *_this, MR_PassBy _other_pass_by, MR_AABBTreePolyline2 *_other)
MRC_API void MR_AABBTreePolyline2_DestroyArray(const MR_AABBTreePolyline2 *_this)
Destroys a heap-allocated array of MR_AABBTreePolyline2. Does nothing if the pointer is null.
MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_OffsetMutablePtr(MR_AABBTreePolyline3 *ptr, ptrdiff_t i)
MRC_API void MR_AABBTreePolyline3_DestroyArray(const MR_AABBTreePolyline3 *_this)
Destroys a heap-allocated array of MR_AABBTreePolyline3. Does nothing if the pointer is null.
MRC_API const MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f_MR_NodeId * MR_AABBTreePolyline3_nodes(const MR_AABBTreePolyline3 *_this)
MRC_API MR_uint64_t MR_AABBTreePolyline3_heapBytes(const MR_AABBTreePolyline3 *_this)
MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_OffsetMutablePtr(MR_AABBTreePolyline2 *ptr, ptrdiff_t i)
MRC_API MR_UndirectedEdgeBitSet * MR_AABBTreePolyline2_getSubtreeLeaves(const MR_AABBTreePolyline2 *_this, MR_NodeId subtreeRoot)
MRC_API MR_Box2f MR_AABBTreePolyline2_getBoundingBox(const MR_AABBTreePolyline2 *_this)
MRC_API void MR_PolylineTraits_MR_Vector2f_DestroyArray(const MR_PolylineTraits_MR_Vector2f *_this)
Destroys a heap-allocated array of MR_PolylineTraits_MR_Vector2f. Does nothing if the pointer is null...
MRC_API void MR_AABBTreePolyline2_Destroy(const MR_AABBTreePolyline2 *_this)
Destroys a heap-allocated instance of MR_AABBTreePolyline2. Does nothing if the pointer is null.
MRC_API void MR_PolylineTraits_MR_Vector3f_Destroy(const MR_PolylineTraits_MR_Vector3f *_this)
Destroys a heap-allocated instance of MR_PolylineTraits_MR_Vector3f. Does nothing if the pointer is n...
MRC_API void MR_AABBTreePolyline2_getLeafOrder(const MR_AABBTreePolyline2 *_this, MR_UndirectedEdgeBMap *leafMap)
MRC_API const MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f_MR_NodeId * MR_AABBTreePolyline2_nodes(const MR_AABBTreePolyline2 *_this)
MRC_API MR_uint64_t MR_AABBTreePolyline2_numLeaves(const MR_AABBTreePolyline2 *_this)
MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_DefaultConstruct(void)
MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_DefaultConstructArray(size_t num_elems)
MRC_API const MR_AABBTreePolyline2 * MR_AABBTreePolyline2_OffsetPtr(const MR_AABBTreePolyline2 *ptr, ptrdiff_t i)
struct MR_PolylineTraits_MR_Vector3f MR_PolylineTraits_MR_Vector3f
Definition MRAABBTreePolyline.h:51
struct MR_Polyline2 MR_Polyline2
Definition MRAABBTreePolyline.h:20
MRC_API const MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f * MR_AABBTreePolyline3_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f(const MR_AABBTreePolyline3 *object)
MRC_API MR_NodeBitSet * MR_AABBTreePolyline3_getNodesFromLeaves(const MR_AABBTreePolyline3 *_this, const MR_UndirectedEdgeBitSet *leaves)
MRC_API void MR_AABBTreePolyline3_Destroy(const MR_AABBTreePolyline3 *_this)
Destroys a heap-allocated instance of MR_AABBTreePolyline3. Does nothing if the pointer is null.
MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_ConstructFromAnother(MR_PassBy _other_pass_by, MR_AABBTreePolyline3 *_other)
MRC_API MR_NodeBitSet * MR_AABBTreePolyline2_getNodesFromLeaves(const MR_AABBTreePolyline2 *_this, const MR_UndirectedEdgeBitSet *leaves)
MRC_API MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f * MR_AABBTreePolyline2_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f(MR_AABBTreePolyline2 *object)
MRC_API const MR_AABBTreePolyline3 * MR_AABBTreePolyline3_OffsetPtr(const MR_AABBTreePolyline3 *ptr, ptrdiff_t i)
MRC_API MR_NodeId MR_AABBTreePolyline2_rootNodeId(void)
MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_Construct(const MR_Polyline2 *polyline)
MRC_API MR_Box3f MR_AABBTreePolyline3_getBoundingBox(const MR_AABBTreePolyline3 *_this)
struct MR_PolylineTraits_MR_Vector2f MR_PolylineTraits_MR_Vector2f
Definition MRAABBTreePolyline.h:47
MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_ConstructFromAnother(MR_PassBy _other_pass_by, MR_AABBTreePolyline2 *_other)
MRC_API const MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_OffsetPtr(const MR_PolylineTraits_MR_Vector3f *ptr, ptrdiff_t i)
MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_DefaultConstructArray(size_t num_elems)
MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_DefaultConstruct(void)
struct MR_std_vector_MR_NodeId MR_std_vector_MR_NodeId
Definition MRAABBTree.h:23
struct MR_NodeBitSet MR_NodeBitSet
Definition MRAABBTree.h:20
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
Definition MRBox.h:78
Definition MRBox.h:110
Definition MRId.h:86