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#include <stdint.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
18typedef struct MR_PointCloud MR_PointCloud; // Defined in `#include <MRCMesh/MRPointCloud.h>`.
19typedef struct MR_Vector_MR_AABBTreePoints_Node_MR_NodeId MR_Vector_MR_AABBTreePoints_Node_MR_NodeId; // Defined in `#include <MRCMesh/MRVector.h>`.
20typedef struct MR_VertBMap MR_VertBMap; // Defined in `#include <MRCMesh/MRBuffer.h>`.
21typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
22typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
23typedef struct MR_std_pair_int32_t_int32_t MR_std_pair_int32_t_int32_t; // Defined in `#include <MRCMisc/std_pair_int32_t_int32_t.h>`.
24typedef struct MR_std_vector_MR_AABBTreePoints_Point MR_std_vector_MR_AABBTreePoints_Point; // Defined in `#include <MRCMisc/std_vector_MR_AABBTreePoints_Point.h>`.
25
26
30
33
36
41
45
48
51
57
63
70
77
80
83
88
93
98
101
106
111
118
126
131
140MRC_API void MR_AABBTreePoints_refit(MR_AABBTreePoints *_this, const MR_VertCoords *newCoords, const MR_VertBitSet *changedVerts);
141
147
152
158
164
169
175
181
186
192
196
201
205
208
211
216
219
222
228
233
239
244
249
253
258
263
267
272
276
281
285
288
291
296
299
302
308
309// returns the number of nodes in the binary tree with given number of points
311MRC_API int32_t MR_getNumNodesPoints(int32_t numPoints);
312
313#ifdef __cplusplus
314} // extern "C"
315#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 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)
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:22
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 MR_NodeId * MR_AABBTreePoints_Node_GetMutable_l(MR_AABBTreePoints_Node *_this)
MRC_API int32_t MR_getNumNodesPoints(int32_t numPoints)
Generated from function MR::getNumNodesPoints.
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_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:24
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)
struct MR_std_pair_int32_t_int32_t MR_std_pair_int32_t_int32_t
Definition MRAABBTreePoints.h:23
MRC_API MR_std_pair_int32_t_int32_t * MR_AABBTreePoints_Node_getLeafPointRange(const MR_AABBTreePoints_Node *_this)
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:35
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 const int32_t * MR_AABBTreePoints_Get_MaxNumPointsInLeaf(void)
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:20
struct MR_AABBTreePoints MR_AABBTreePoints
Definition MRAABBTreePoints.h:29
struct MR_Vector_MR_AABBTreePoints_Node_MR_NodeId MR_Vector_MR_AABBTreePoints_Node_MR_NodeId
Definition MRAABBTreePoints.h:19
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_Node_setLeafPointRange(MR_AABBTreePoints_Node *_this, int32_t first, int32_t last)
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:32
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:13
struct MR_PointCloud MR_PointCloud
Definition MRCtm.h:15
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:109
Definition MRId.h:87
Definition MRVector3.h:51
Definition MRId.h:56