#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_Node | MR_AABBTreePoints_Node |
| typedef struct MR_AABBTreePoints_Point | MR_AABBTreePoints_Point |
| typedef struct MR_AABBTreePoints | MR_AABBTreePoints |
| typedef struct MR_AABBTreePoints MR_AABBTreePoints |
bounding volume hierarchy for point cloud structure Generated from class MR::AABBTreePoints. Supported MR_PassBy modes: MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| typedef struct MR_AABBTreePoints_Node MR_AABBTreePoints_Node |
Generated from class MR::AABBTreePoints::Node. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| typedef struct MR_AABBTreePoints_Point MR_AABBTreePoints_Point |
Generated from class MR::AABBTreePoints::Point. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| 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 method MR::AABBTreePoints::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_AABBTreePoints * MR_AABBTreePoints_Construct_1_MR_Mesh | ( | const MR_Mesh * | mesh | ) |
creates tree for vertices of given mesh Generated from constructor MR::AABBTreePoints::AABBTreePoints. Parameter mesh can not be null. It is a single object. The reference to the parameter mesh might be preserved in the constructed 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 constructor MR::AABBTreePoints::AABBTreePoints. Parameter pointCloud can not be null. It is a single object. The reference to the parameter pointCloud might be preserved in the constructed 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_VertCoords * | points, |
| const MR_VertBitSet * | validPoints ) |
creates tree from given valid points Generated from constructor MR::AABBTreePoints::AABBTreePoints. Parameter points can not be null. It is a single object. The reference to the parameter points might be preserved in the constructed object. Parameter validPoints defaults to a null pointer in C++. The reference to the parameter validPoints might be preserved in the constructed 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 constructor MR::AABBTreePoints::AABBTreePoints. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed 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 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 method MR::AABBTreePoints::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 method MR::AABBTreePoints::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 method MR::AABBTreePoints::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 method MR::AABBTreePoints::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 method MR::AABBTreePoints::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 method MR::AABBTreePoints::Node::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_ConstructFrom | ( | MR_Box3f | box, |
| MR_NodeId | l, | ||
| MR_NodeId | r ) |
Constructs MR::AABBTreePoints::Node elementwise. The reference to the parameter box might be preserved in the constructed object. The reference to the parameter l might be preserved in the constructed object. The reference to the parameter r might be preserved in the constructed 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. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_AABBTreePoints_Node * MR_AABBTreePoints_Node_ConstructFromAnother | ( | const MR_AABBTreePoints_Node * | _other | ) |
Generated from constructor MR::AABBTreePoints::Node::Node. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed 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. The reference to the parameter value might be preserved in this object in element box. When this function is called, this object will drop object references it had previously in box.
| 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. The reference to the parameter value might be preserved in this object in element l. When this function is called, this object will drop object references it had previously in l.
| 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. The reference to the parameter value might be preserved in this object in element r. When this function is called, this object will drop object references it had previously in r.
| 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 method MR::AABBTreePoints::Node::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 method MR::AABBTreePoints::Node::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. The reference to the parameter ptr might be preserved in the return value.
| 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. The reference to the parameter ptr might be preserved in the return value.
| 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 method MR::AABBTreePoints::Node::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 method MR::AABBTreePoints::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. The reference to the parameter ptr might be preserved in the return value.
| 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. The reference to the parameter ptr might be preserved in the return value.
| MRC_API const MR_std_vector_MR_AABBTreePoints_Point * MR_AABBTreePoints_orderedPoints | ( | const MR_AABBTreePoints * | _this | ) |
Generated from method MR::AABBTreePoints::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 method MR::AABBTreePoints::Point::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_ConstructFrom | ( | MR_Vector3f | coord, |
| MR_VertId | id ) |
Constructs MR::AABBTreePoints::Point elementwise. The reference to the parameter coord might be preserved in the constructed object. The reference to the parameter id might be preserved in the constructed 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. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_AABBTreePoints_Point * MR_AABBTreePoints_Point_ConstructFromAnother | ( | const MR_AABBTreePoints_Point * | _other | ) |
Generated from constructor MR::AABBTreePoints::Point::Point. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed 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. The reference to the parameter ptr might be preserved in the return value.
| 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. The reference to the parameter ptr might be preserved in the return value.
| 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. The reference to the parameter value might be preserved in this object in element coord. When this function is called, this object will drop object references it had previously in coord.
| 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. The reference to the parameter value might be preserved in this object in element id. When this function is called, this object will drop object references it had previously in id.
| 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 method MR::AABBTreePoints::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 method MR::AABBTreePoints::rootNodeId.
| MRC_API int MR_getNumNodesPoints | ( | int | numPoints | ) |
Generated from function MR::getNumNodesPoints.