#include <MRCMesh/MRBox.h>#include <MRCMesh/MRId.h>#include <MRCMesh/MRVector3.h>#include <MRCMisc/common.h>#include <MRCMisc/exports.h>#include <stdbool.h>#include <stddef.h>Go to the source code of this file.
| Typedefs | |
| typedef struct MR_Mesh | MR_Mesh | 
| typedef struct MR_PointCloud | MR_PointCloud | 
| typedef struct MR_Vector_MR_AABBTreePoints_Node_MR_NodeId | MR_Vector_MR_AABBTreePoints_Node_MR_NodeId | 
| typedef struct MR_VertBMap | MR_VertBMap | 
| typedef struct MR_VertBitSet | MR_VertBitSet | 
| typedef struct MR_VertCoords | MR_VertCoords | 
| typedef struct MR_std_pair_int_int | MR_std_pair_int_int | 
| typedef struct MR_std_vector_MR_AABBTreePoints_Point | MR_std_vector_MR_AABBTreePoints_Point | 
| typedef struct MR_AABBTreePoints | MR_AABBTreePoints | 
| typedef struct MR_AABBTreePoints_Node | MR_AABBTreePoints_Node | 
| Generated from class MR::AABBTreePoints::Node. | |
| typedef struct MR_AABBTreePoints_Point | MR_AABBTreePoints_Point | 
| Generated from class MR::AABBTreePoints::Point. | |
| typedef struct MR_AABBTreePoints MR_AABBTreePoints | 
bounding volume hierarchy for point cloud structure Generated from class MR::AABBTreePoints. 
| typedef struct MR_AABBTreePoints_Node MR_AABBTreePoints_Node | 
Generated from class MR::AABBTreePoints::Node. 
| typedef struct MR_AABBTreePoints_Point MR_AABBTreePoints_Point | 
Generated from class MR::AABBTreePoints::Point. 
| typedef struct MR_PointCloud MR_PointCloud | 
| typedef struct MR_std_pair_int_int MR_std_pair_int_int | 
| typedef struct MR_Vector_MR_AABBTreePoints_Node_MR_NodeId MR_Vector_MR_AABBTreePoints_Node_MR_NodeId | 
| typedef struct MR_VertBitSet MR_VertBitSet | 
| typedef struct MR_VertBMap MR_VertBMap | 
| typedef struct MR_VertCoords MR_VertCoords | 
| MRC_API MR_AABBTreePoints * MR_AABBTreePoints_AssignFromAnother | ( | MR_AABBTreePoints * | _this, | 
| MR_PassBy | _other_pass_by, | ||
| MR_AABBTreePoints * | _other ) | 
Generated from a method of class MR::AABBTreePoints named operator=. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_1_MR_Mesh | ( | const MR_Mesh * | mesh | ) | 
creates tree for vertices of given mesh Generated from a constructor of class MR::AABBTreePoints. Parameter mesh can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_1_MR_PointCloud | ( | const MR_PointCloud * | pointCloud | ) | 
creates tree for given point cloud Generated from a constructor of class MR::AABBTreePoints. Parameter pointCloud can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_2_const_MR_VertBitSet_ptr | ( | const MR_VertCoords * | points, | 
| const MR_VertBitSet * | validPoints ) | 
creates tree from given valid points Generated from a constructor of class MR::AABBTreePoints. Parameter points can not be null. It is a single object. Parameter validPoints defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_2_MR_VertBitSet | ( | const MR_VertCoords * | points, | 
| const MR_VertBitSet * | validPoints ) | 
creates tree from given valid points Generated from a constructor of class MR::AABBTreePoints. Parameter points can not be null. It is a single object. Parameter validPoints can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints * MR_AABBTreePoints_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, | 
| MR_AABBTreePoints * | _other ) | 
Generated from a constructor of class MR::AABBTreePoints. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Destroy() to free it when you're done using it. 
| 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 void MR_AABBTreePoints_DestroyArray | ( | const MR_AABBTreePoints * | _this | ) | 
Destroys a heap-allocated array of MR_AABBTreePoints. Does nothing if the pointer is null. 
| MRC_API const int * MR_AABBTreePoints_Get_MaxNumPointsInLeaf | ( | void | ) | 
maximum number of points in leaf node of tree (all of leafs should have this number of points except last one) Returns a pointer to a member variable of class MR::AABBTreePoints named MaxNumPointsInLeaf. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_Box3f MR_AABBTreePoints_getBoundingBox | ( | const MR_AABBTreePoints * | _this | ) | 
returns the root node bounding box Generated from a method of class MR::AABBTreePoints named getBoundingBox. Parameter _this can not be null. It is a single object. 
| MRC_API void MR_AABBTreePoints_getLeafOrder | ( | const MR_AABBTreePoints * | _this, | 
| MR_VertBMap * | vertMap ) | 
returns the mapping original VertId to new id following the points order in the tree; buffer in vertMap must be resized before the call, and caller is responsible for filling missing vertex elements Generated from a method of class MR::AABBTreePoints named getLeafOrder. Parameter _this can not be null. It is a single object. Parameter vertMap can not be null. It is a single object. 
| MRC_API void MR_AABBTreePoints_getLeafOrderAndReset | ( | MR_AABBTreePoints * | _this, | 
| MR_VertBMap * | vertMap ) | 
returns the mapping original VertId to new id following the points order in the tree; then resets leaf order as if the points were renumberd following the mapping; buffer in vertMap must be resized before the call, and caller is responsible for filling missing vertex elements Generated from a method of class MR::AABBTreePoints named getLeafOrderAndReset. Parameter _this can not be null. It is a single object. Parameter vertMap can not be null. It is a single object. 
| MRC_API MR_uint64_t MR_AABBTreePoints_heapBytes | ( | const MR_AABBTreePoints * | _this | ) | 
returns the amount of memory this object occupies on heap Generated from a method of class MR::AABBTreePoints named heapBytes. Parameter _this can not be null. It is a single object. 
| MRC_API const MR_AABBTreePoints_Node * MR_AABBTreePoints_index | ( | const MR_AABBTreePoints * | _this, | 
| MR_NodeId | nid ) | 
Generated from a method of class MR::AABBTreePoints named operator[]. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_AssignFromAnother | ( | MR_AABBTreePoints_Node * | _this, | 
| const MR_AABBTreePoints_Node * | _other ) | 
Generated from a method of class MR::AABBTreePoints::Node named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_ConstructFrom | ( | MR_Box3f | box, | 
| MR_NodeId | l, | ||
| MR_NodeId | r ) | 
Constructs MR::AABBTreePoints::Node elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Node_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_ConstructFromAnother | ( | const MR_AABBTreePoints_Node * | _other | ) | 
Generated from a constructor of class MR::AABBTreePoints::Node. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Node_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_DefaultConstruct | ( | void | ) | 
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Node_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_DefaultConstructArray | ( | size_t | num_elems | ) | 
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_AABBTreePoints_Node_DestroyArray(). Use MR_AABBTreePoints_Node_OffsetMutablePtr() and MR_AABBTreePoints_Node_OffsetPtr() to access the array elements. 
| 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 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 const MR_Box3f * MR_AABBTreePoints_Node_Get_box | ( | const MR_AABBTreePoints_Node * | _this | ) | 
bounding box of whole subtree Modifies a member variable of class MR::AABBTreePoints::Node named box. Parameter _this can not be null. It is a single object. 
| MRC_API const MR_NodeId * MR_AABBTreePoints_Node_Get_l | ( | const MR_AABBTreePoints_Node * | _this | ) | 
left child node for an inner node, or -(l+1) is the index of the first point in a leaf node Modifies a member variable of class MR::AABBTreePoints::Node named l. Parameter _this can not be null. It is a single object. 
| MRC_API const MR_NodeId * MR_AABBTreePoints_Node_Get_r | ( | const MR_AABBTreePoints_Node * | _this | ) | 
right child node for an inner node, or -(r+1) is the index of the last point in a leaf node Modifies a member variable of class MR::AABBTreePoints::Node named r. Parameter _this can not be null. It is a single object. 
| MRC_API MR_std_pair_int_int * MR_AABBTreePoints_Node_getLeafPointRange | ( | const MR_AABBTreePoints_Node * | _this | ) | 
returns [first,last) indices of leaf points Generated from a method of class MR::AABBTreePoints::Node named getLeafPointRange. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_pair_int_int_Destroy() to free it when you're done using it. 
| MRC_API MR_Box3f * MR_AABBTreePoints_Node_GetMutable_box | ( | MR_AABBTreePoints_Node * | _this | ) | 
left child node for an inner node, or -(l+1) is the index of the first point in a leaf node Returns a pointer to a member variable of class MR::AABBTreePoints::Node named l. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_NodeId * MR_AABBTreePoints_Node_GetMutable_l | ( | MR_AABBTreePoints_Node * | _this | ) | 
right child node for an inner node, or -(r+1) is the index of the last point in a leaf node Returns a pointer to a member variable of class MR::AABBTreePoints::Node named r. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_NodeId * MR_AABBTreePoints_Node_GetMutable_r | ( | MR_AABBTreePoints_Node * | _this | ) | 
| MRC_API bool MR_AABBTreePoints_Node_leaf | ( | const MR_AABBTreePoints_Node * | _this | ) | 
returns true if node represent real points, false if it has child nodes Generated from a method of class MR::AABBTreePoints::Node named leaf. Parameter _this can not be null. It is a single object. 
| 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 pointer points to an array element. 
| 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 pointer points to an array element. 
| MRC_API void MR_AABBTreePoints_Node_Set_box | ( | MR_AABBTreePoints_Node * | _this, | 
| MR_Box3f | value ) | 
bounding box of whole subtree Returns a mutable pointer to a member variable of class MR::AABBTreePoints::Node named box. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API void MR_AABBTreePoints_Node_Set_l | ( | MR_AABBTreePoints_Node * | _this, | 
| MR_NodeId | value ) | 
left child node for an inner node, or -(l+1) is the index of the first point in a leaf node Returns a mutable pointer to a member variable of class MR::AABBTreePoints::Node named l. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API void MR_AABBTreePoints_Node_Set_r | ( | MR_AABBTreePoints_Node * | _this, | 
| MR_NodeId | value ) | 
right child node for an inner node, or -(r+1) is the index of the last point in a leaf node Returns a mutable pointer to a member variable of class MR::AABBTreePoints::Node named r. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API void MR_AABBTreePoints_Node_setLeafPointRange | ( | MR_AABBTreePoints_Node * | _this, | 
| int | first, | ||
| int | last ) | 
sets [first,last) to this node (leaf) Generated from a method of class MR::AABBTreePoints::Node named setLeafPointRange. Parameter _this can not be null. It is a single object. 
| MRC_API const MR_Vector_MR_AABBTreePoints_Node_MR_NodeId * MR_AABBTreePoints_nodes | ( | const MR_AABBTreePoints * | _this | ) | 
Generated from a method of class MR::AABBTreePoints named nodes. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| 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 pointer points to an array element. 
| 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 pointer points to an array element. 
| MRC_API const MR_std_vector_MR_AABBTreePoints_Point * MR_AABBTreePoints_orderedPoints | ( | const MR_AABBTreePoints * | _this | ) | 
Generated from a method of class MR::AABBTreePoints named orderedPoints. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_AssignFromAnother | ( | MR_AABBTreePoints_Point * | _this, | 
| const MR_AABBTreePoints_Point * | _other ) | 
Generated from a method of class MR::AABBTreePoints::Point named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_ConstructFrom | ( | MR_Vector3f | coord, | 
| MR_VertId | id ) | 
Constructs MR::AABBTreePoints::Point elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Point_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_ConstructFromAnother | ( | const MR_AABBTreePoints_Point * | _other | ) | 
Generated from a constructor of class MR::AABBTreePoints::Point. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Point_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_DefaultConstruct | ( | void | ) | 
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePoints_Point_Destroy() to free it when you're done using it. 
| MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_DefaultConstructArray | ( | size_t | num_elems | ) | 
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_AABBTreePoints_Point_DestroyArray(). Use MR_AABBTreePoints_Point_OffsetMutablePtr() and MR_AABBTreePoints_Point_OffsetPtr() to access the array elements. 
| 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 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_Vector3f * MR_AABBTreePoints_Point_Get_coord | ( | const MR_AABBTreePoints_Point * | _this | ) | 
Returns a pointer to a member variable of class MR::AABBTreePoints::Point named coord. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API const MR_VertId * MR_AABBTreePoints_Point_Get_id | ( | const MR_AABBTreePoints_Point * | _this | ) | 
Returns a pointer to a member variable of class MR::AABBTreePoints::Point named id. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_Vector3f * MR_AABBTreePoints_Point_GetMutable_coord | ( | MR_AABBTreePoints_Point * | _this | ) | 
Returns a mutable pointer to a member variable of class MR::AABBTreePoints::Point named coord. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| MRC_API MR_VertId * MR_AABBTreePoints_Point_GetMutable_id | ( | MR_AABBTreePoints_Point * | _this | ) | 
Returns a mutable pointer to a member variable of class MR::AABBTreePoints::Point named id. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. 
| 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 pointer points to an array element. 
| 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 pointer points to an array element. 
| MRC_API void MR_AABBTreePoints_Point_Set_coord | ( | MR_AABBTreePoints_Point * | _this, | 
| MR_Vector3f | value ) | 
Modifies a member variable of class MR::AABBTreePoints::Point named coord. Parameter _this can not be null. It is a single object. 
| MRC_API void MR_AABBTreePoints_Point_Set_id | ( | MR_AABBTreePoints_Point * | _this, | 
| MR_VertId | value ) | 
Modifies a member variable of class MR::AABBTreePoints::Point named id. Parameter _this can not be null. It is a single object. 
| MRC_API void MR_AABBTreePoints_refit | ( | MR_AABBTreePoints * | _this, | 
| const MR_VertCoords * | newCoords, | ||
| const MR_VertBitSet * | changedVerts ) | 
updates bounding boxes of the nodes containing changed vertices; this is a faster alternative to full tree rebuild (but the tree after refit might be less efficient)
| newCoords | coordinates of all vertices including changed ones; | 
| changedVerts | vertex ids with modified coordinates (since tree construction or last refit) Generated from a method of class MR::AABBTreePointsnamedrefit. Parameter_thiscan not be null. It is a single object. ParameternewCoordscan not be null. It is a single object. ParameterchangedVertscan not be null. It is a single object. bounding box of whole subtree Returns a pointer to a member variable of classMR::AABBTreePoints::Nodenamedbox. Parameter_thiscan not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it. | 
Generated from a method of class MR::AABBTreePoints named rootNodeId. 
| MRC_API int MR_getNumNodesPoints | ( | int | numPoints | ) | 
Generated from function MR::getNumNodesPoints.