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
73
76
81
88
91
94
101
107
113
117
122
127
132
138
144
151
158
165
169
174
178
182
186
189
194
201
210
213
216
223
229
235
239
244
249
254
260
266
273
280
287
291
296
300
304
310
313
316
324
328
333
337
341
347
350
353
361
362#ifdef __cplusplus
363} // extern "C"
364#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)
Upcasts an instance of MR::AABBTreePolyline3 to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR...
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)
Upcasts an instance of MR::AABBTreePolyline2 to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR...
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
MR_PassBy
Definition common.h:23
uint64_t MR_uint64_t
Definition common.h:18
#define MRC_API
Definition exports.h:11
Definition MRBox.h:78
Definition MRBox.h:110
Definition MRId.h:86