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
64
67
71
74
78
84
87
90
95
101
107
111
116
121
126
132
138
145
152
159
163
168
171
174
178
181
185
191
198
201
204
209
215
221
225
230
235
240
246
252
259
266
273
277
282
285
288
293
296
299
305
309
314
317
320
325
328
331
337
338#ifdef __cplusplus
339} // extern "C"
340#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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_OffsetPtr(const MR_PolylineTraits_MR_Vector2f *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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