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
93
98
103
106
111
116
123
131
136
145MRC_API void MR_AABBTreePoints_refit(MR_AABBTreePoints *_this, const MR_VertCoords *newCoords, const MR_VertBitSet *changedVerts);
146
153
160
167
174
181
188
195
202
209
213
218
226
230
234
240
243
246
254
259
265
270
276
282
288
294
300
306
310
315
322
326
330
336
339
342
350
351// returns the number of nodes in the binary tree with given number of points
353MRC_API int MR_getNumNodesPoints(int numPoints);
354
355#ifdef __cplusplus
356} // extern "C"
357#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
std::vector<T>-like container that requires specific indexing type,
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
std::vector<T>-like container that requires specific indexing type,
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 include/MRCMisc/exports.h:11
Definition MRBox.h:107
Definition MRId.h:73
Generated from class MR::Vector3f.
Definition MRVector3.h:47
Definition MRId.h:42