MeshLib C Docs
Loading...
Searching...
No Matches
MRAABBTreePoints.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRBox.h>
4#include <MRCMesh/MRId.h>
5#include <MRCMesh/MRVector3.h>
6#include <MRCMisc/common.h>
7#include <MRCMisc/exports.h>
8
9#include <stdbool.h>
10#include <stddef.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
17typedef struct MR_PointCloud MR_PointCloud; // Defined in `#include <MRCMesh/MRPointCloud.h>`.
18typedef struct MR_Vector_MR_AABBTreePoints_Node_MR_NodeId MR_Vector_MR_AABBTreePoints_Node_MR_NodeId; // Defined in `#include <MRCMesh/MRVector.h>`.
19typedef struct MR_VertBMap MR_VertBMap; // Defined in `#include <MRCMesh/MRBuffer.h>`.
20typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
21typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
22typedef struct MR_std_pair_int_int MR_std_pair_int_int; // Defined in `#include <MRCMisc/std_pair_int_int.h>`.
23typedef struct MR_std_vector_MR_AABBTreePoints_Point MR_std_vector_MR_AABBTreePoints_Point; // Defined in `#include <MRCMisc/std_vector_MR_AABBTreePoints_Point.h>`.
24
25
29
33
38
43
48
52
56
63
70
79
82
85
92
97
102
105
110
115
122
130
135
144MRC_API void MR_AABBTreePoints_refit(MR_AABBTreePoints *_this, const MR_VertCoords *newCoords, const MR_VertBitSet *changedVerts);
145
151
158
164
170
177
183
189
196
202
206
211
219
223
227
233
236
239
247
252
258
263
268
274
279
284
290
295
299
304
311
315
319
325
328
331
339
340// returns the number of nodes in the binary tree with given number of points
342MRC_API int MR_getNumNodesPoints(int numPoints);
343
344#ifdef __cplusplus
345} // extern "C"
346#endif
MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_AssignFromAnother(MR_AABBTreePoints_Point *_this, const MR_AABBTreePoints_Point *_other)
MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_DefaultConstruct(void)
MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_DefaultConstruct(void)
MRC_API void MR_AABBTreePoints_Node_DestroyArray(const MR_AABBTreePoints_Node *_this)
Destroys a heap-allocated array of MR_AABBTreePoints_Node. Does nothing if the pointer is null.
MRC_API MR_AABBTreePoints * MR_AABBTreePoints_OffsetMutablePtr(MR_AABBTreePoints *ptr, ptrdiff_t i)
MRC_API MR_NodeId MR_AABBTreePoints_rootNodeId(void)
Generated from method MR::AABBTreePoints::rootNodeId.
MRC_API int MR_getNumNodesPoints(int numPoints)
Generated from function MR::getNumNodesPoints.
MRC_API const MR_Vector3f * MR_AABBTreePoints_Point_Get_coord(const MR_AABBTreePoints_Point *_this)
MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_1_MR_PointCloud(const MR_PointCloud *pointCloud)
MRC_API void MR_AABBTreePoints_Point_Set_coord(MR_AABBTreePoints_Point *_this, MR_Vector3f value)
MRC_API void MR_AABBTreePoints_Node_setLeafPointRange(MR_AABBTreePoints_Node *_this, int first, int last)
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:21
MRC_API MR_AABBTreePoints * MR_AABBTreePoints_AssignFromAnother(MR_AABBTreePoints *_this, MR_PassBy _other_pass_by, MR_AABBTreePoints *_other)
MRC_API const MR_std_vector_MR_AABBTreePoints_Point * MR_AABBTreePoints_orderedPoints(const MR_AABBTreePoints *_this)
MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_1_MR_Mesh(const MR_Mesh *mesh)
MRC_API void MR_AABBTreePoints_Point_Destroy(const MR_AABBTreePoints_Point *_this)
Destroys a heap-allocated instance of MR_AABBTreePoints_Point. Does nothing if the pointer is null.
MRC_API MR_Vector3f * MR_AABBTreePoints_Point_GetMutable_coord(MR_AABBTreePoints_Point *_this)
MRC_API bool MR_AABBTreePoints_Node_leaf(const MR_AABBTreePoints_Node *_this)
MRC_API const int * MR_AABBTreePoints_Get_MaxNumPointsInLeaf(void)
MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_2(const MR_VertCoords *points, const MR_VertBitSet *validPoints)
struct MR_std_pair_int_int MR_std_pair_int_int
Definition MRAABBTreePoints.h:22
MRC_API MR_NodeId * MR_AABBTreePoints_Node_GetMutable_l(MR_AABBTreePoints_Node *_this)
MRC_API void MR_AABBTreePoints_Node_Set_l(MR_AABBTreePoints_Node *_this, MR_NodeId value)
MRC_API MR_Box3f MR_AABBTreePoints_getBoundingBox(const MR_AABBTreePoints *_this)
MRC_API const MR_AABBTreePoints_Node * MR_AABBTreePoints_index(const MR_AABBTreePoints *_this, MR_NodeId nid)
MRC_API const MR_Box3f * MR_AABBTreePoints_Node_Get_box(const MR_AABBTreePoints_Node *_this)
MRC_API void MR_AABBTreePoints_Node_Destroy(const MR_AABBTreePoints_Node *_this)
Destroys a heap-allocated instance of MR_AABBTreePoints_Node. Does nothing if the pointer is null.
MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_DefaultConstructArray(size_t num_elems)
MRC_API const MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_OffsetPtr(const MR_AABBTreePoints_Node *ptr, ptrdiff_t i)
MRC_API MR_std_pair_int_int * MR_AABBTreePoints_Node_getLeafPointRange(const MR_AABBTreePoints_Node *_this)
MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_ConstructFromAnother(const MR_AABBTreePoints_Point *_other)
MRC_API MR_NodeId * MR_AABBTreePoints_Node_GetMutable_r(MR_AABBTreePoints_Node *_this)
MRC_API void MR_AABBTreePoints_DestroyArray(const MR_AABBTreePoints *_this)
Destroys a heap-allocated array of MR_AABBTreePoints. Does nothing if the pointer is null.
struct MR_std_vector_MR_AABBTreePoints_Point MR_std_vector_MR_AABBTreePoints_Point
Definition MRAABBTreePoints.h:23
MRC_API MR_AABBTreePoints * MR_AABBTreePoints_ConstructFromAnother(MR_PassBy _other_pass_by, MR_AABBTreePoints *_other)
MRC_API void MR_AABBTreePoints_Node_Set_box(MR_AABBTreePoints_Node *_this, MR_Box3f value)
MRC_API void MR_AABBTreePoints_Destroy(const MR_AABBTreePoints *_this)
Destroys a heap-allocated instance of MR_AABBTreePoints. Does nothing if the pointer is null.
MRC_API const MR_VertId * MR_AABBTreePoints_Point_Get_id(const MR_AABBTreePoints_Point *_this)
struct MR_AABBTreePoints_Point MR_AABBTreePoints_Point
Definition MRAABBTreePoints.h:32
MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_DefaultConstructArray(size_t num_elems)
MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_OffsetMutablePtr(MR_AABBTreePoints_Node *ptr, ptrdiff_t i)
MRC_API void MR_AABBTreePoints_refit(MR_AABBTreePoints *_this, const MR_VertCoords *newCoords, const MR_VertBitSet *changedVerts)
MRC_API MR_uint64_t MR_AABBTreePoints_heapBytes(const MR_AABBTreePoints *_this)
MRC_API const MR_NodeId * MR_AABBTreePoints_Node_Get_l(const MR_AABBTreePoints_Node *_this)
struct MR_VertBMap MR_VertBMap
Definition MRAABBTreePoints.h:19
struct MR_AABBTreePoints MR_AABBTreePoints
Definition MRAABBTreePoints.h:37
struct MR_Vector_MR_AABBTreePoints_Node_MR_NodeId MR_Vector_MR_AABBTreePoints_Node_MR_NodeId
Definition MRAABBTreePoints.h:18
MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_ConstructFrom(MR_Vector3f coord, MR_VertId id)
MRC_API MR_VertId * MR_AABBTreePoints_Point_GetMutable_id(MR_AABBTreePoints_Point *_this)
MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_ConstructFromAnother(const MR_AABBTreePoints_Node *_other)
MRC_API void MR_AABBTreePoints_getLeafOrderAndReset(MR_AABBTreePoints *_this, MR_VertBMap *vertMap)
MRC_API void MR_AABBTreePoints_getLeafOrder(const MR_AABBTreePoints *_this, MR_VertBMap *vertMap)
MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_AssignFromAnother(MR_AABBTreePoints_Node *_this, const MR_AABBTreePoints_Node *_other)
MRC_API void MR_AABBTreePoints_Point_DestroyArray(const MR_AABBTreePoints_Point *_this)
Destroys a heap-allocated array of MR_AABBTreePoints_Point. Does nothing if the pointer is null.
MRC_API const MR_NodeId * MR_AABBTreePoints_Node_Get_r(const MR_AABBTreePoints_Node *_this)
MRC_API const MR_Vector_MR_AABBTreePoints_Node_MR_NodeId * MR_AABBTreePoints_nodes(const MR_AABBTreePoints *_this)
MRC_API const MR_AABBTreePoints * MR_AABBTreePoints_OffsetPtr(const MR_AABBTreePoints *ptr, ptrdiff_t i)
MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_ConstructFrom(MR_Box3f box, MR_NodeId l, MR_NodeId r)
MRC_API void MR_AABBTreePoints_Node_Set_r(MR_AABBTreePoints_Node *_this, MR_NodeId value)
struct MR_AABBTreePoints_Node MR_AABBTreePoints_Node
Definition MRAABBTreePoints.h:28
MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_OffsetMutablePtr(MR_AABBTreePoints_Point *ptr, ptrdiff_t i)
MRC_API const MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_OffsetPtr(const MR_AABBTreePoints_Point *ptr, ptrdiff_t i)
MRC_API MR_Box3f * MR_AABBTreePoints_Node_GetMutable_box(MR_AABBTreePoints_Node *_this)
MRC_API void MR_AABBTreePoints_Point_Set_id(MR_AABBTreePoints_Point *_this, MR_VertId value)
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:22
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
struct MR_PointCloud MR_PointCloud
Definition MRCtm.h:19
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:110
Definition MRId.h:86
Definition MRVector3.h:52
Definition MRId.h:55