#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::AABBTreePoints named refit. Parameter _this can not be null. It is a single object. Parameter newCoords can not be null. It is a single object. Parameter changedVerts can not be null. It is a single object. bounding box of whole subtree Returns a 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. |
Generated from a method of class MR::AABBTreePoints named rootNodeId.
| MRC_API int MR_getNumNodesPoints | ( | int | numPoints | ) |
Generated from function MR::getNumNodesPoints.