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
32
35
40
44
47
50
56
62
69
76
79
82
87
92
97
100
105
110
117
125
130
139MRC_API void MR_AABBTreePoints_refit(MR_AABBTreePoints *_this, const MR_VertCoords *newCoords, const MR_VertBitSet *changedVerts);
140
146
151
157
163
168
174
180
185
191
195
200
204
207
210
215
218
221
227
232
238
243
248
252
257
262
266
271
275
280
284
287
290
295
298
301
307
308// returns the number of nodes in the binary tree with given number of points
310MRC_API int MR_getNumNodesPoints(int numPoints);
311
312#ifdef __cplusplus
313} // extern "C"
314#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)
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_AABBTreePoints_rootNodeId(void)
Generated from a method of class MR::AABBTreePoints named rootNodeId.
MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_2_MR_VertBitSet(const MR_VertCoords *points, const MR_VertBitSet *validPoints)
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 MR_AABBTreePoints * MR_AABBTreePoints_Construct_2_const_MR_VertBitSet_ptr(const MR_VertCoords *points, const MR_VertBitSet *validPoints)
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)
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::AABBTreePoints::Point.
Definition MRAABBTreePoints.h:34
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:28
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::AABBTreePoints::Node.
Definition MRAABBTreePoints.h:31
MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_OffsetMutablePtr(MR_AABBTreePoints_Point *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_AABBTreePoints_Point * MR_AABBTreePoints_Point_OffsetPtr(const MR_AABBTreePoints_Point *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_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:15
struct MR_Mesh MR_Mesh
Definition MRCtm.h:12
struct MR_PointCloud MR_PointCloud
Definition MRCtm.h:14
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
#define MRC_API
Definition exports.h:11
Definition MRBox.h:108
Definition MRId.h:86
Definition MRVector3.h:50
Definition MRId.h:55