#include <MRCMesh/MRBox.h>
#include <MRCMesh/MRId.h>
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stddef.h>
Go to the source code of this file.
|
| MRC_API MR_AABBTree * | MR_AABBTree_DefaultConstruct (void) |
| |
| MRC_API MR_AABBTree * | MR_AABBTree_DefaultConstructArray (size_t num_elems) |
| |
| MRC_API const MR_AABBTree * | MR_AABBTree_OffsetPtr (const MR_AABBTree *ptr, ptrdiff_t i) |
| |
| MRC_API MR_AABBTree * | MR_AABBTree_OffsetMutablePtr (MR_AABBTree *ptr, ptrdiff_t i) |
| |
| MRC_API const MR_AABBTreeBase_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f * | MR_AABBTree_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f (const MR_AABBTree *object) |
| |
| MRC_API MR_AABBTreeBase_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f * | MR_AABBTree_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f (MR_AABBTree *object) |
| | Upcasts an instance of MR::AABBTree to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::FaceTag, MR::Box3f>>.
|
| |
| MRC_API MR_AABBTree * | MR_AABBTree_ConstructFromAnother (MR_PassBy _other_pass_by, MR_AABBTree *_other) |
| |
| MRC_API MR_AABBTree * | MR_AABBTree_Construct (const MR_MeshPart *mp) |
| |
| MRC_API void | MR_AABBTree_Destroy (const MR_AABBTree *_this) |
| | Destroys a heap-allocated instance of MR_AABBTree. Does nothing if the pointer is null.
|
| |
| MRC_API void | MR_AABBTree_DestroyArray (const MR_AABBTree *_this) |
| | Destroys a heap-allocated array of MR_AABBTree. Does nothing if the pointer is null.
|
| |
| MRC_API MR_AABBTree * | MR_AABBTree_AssignFromAnother (MR_AABBTree *_this, MR_PassBy _other_pass_by, MR_AABBTree *_other) |
| |
| MRC_API void | MR_AABBTree_refit (MR_AABBTree *_this, const MR_Mesh *mesh, const MR_VertBitSet *changedVerts) |
| |
| MRC_API const MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f_MR_NodeId * | MR_AABBTree_nodes (const MR_AABBTree *_this) |
| |
| MRC_API const MR_AABBTreeNode_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f * | MR_AABBTree_index (const MR_AABBTree *_this, MR_NodeId nid) |
| |
| MRC_API MR_NodeId | MR_AABBTree_rootNodeId (void) |
| |
| MRC_API MR_Box3f | MR_AABBTree_getBoundingBox (const MR_AABBTree *_this) |
| |
| MRC_API MR_uint64_t | MR_AABBTree_heapBytes (const MR_AABBTree *_this) |
| |
| MRC_API MR_uint64_t | MR_AABBTree_numLeaves (const MR_AABBTree *_this) |
| |
| MRC_API MR_std_vector_MR_NodeId * | MR_AABBTree_getSubtrees (const MR_AABBTree *_this, int minNum) |
| |
| MRC_API MR_FaceBitSet * | MR_AABBTree_getSubtreeLeaves (const MR_AABBTree *_this, MR_NodeId subtreeRoot) |
| |
| MRC_API MR_NodeBitSet * | MR_AABBTree_getNodesFromLeaves (const MR_AABBTree *_this, const MR_FaceBitSet *leaves) |
| |
| MRC_API void | MR_AABBTree_getLeafOrder (const MR_AABBTree *_this, MR_FaceBMap *leafMap) |
| |
| MRC_API void | MR_AABBTree_getLeafOrderAndReset (MR_AABBTree *_this, MR_FaceBMap *leafMap) |
| |
◆ MR_AABBTree
bounding volume hierarchy Generated from class MR::AABBTree. Base classes: Direct: (non-virtual) MR::AABBTreeBase<MR::AABBTreeTraits<MR::FaceTag, MR::Box3f>> Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
◆ MR_AABBTreeBase_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f
◆ MR_AABBTreeNode_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f
◆ MR_FaceBitSet
◆ MR_FaceBMap
◆ MR_Mesh
◆ MR_MeshPart
◆ MR_NodeBitSet
◆ MR_std_vector_MR_NodeId
◆ MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f_MR_NodeId
◆ MR_VertBitSet
◆ MR_AABBTree_AssignFromAnother()
Generated from method MR::AABBTree::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.
◆ MR_AABBTree_Construct()
creates tree for given mesh or its part Generated from constructor MR::AABBTree::AABBTree. Parameter mp can not be null. It is a single object. The reference to the parameter mp might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTree_Destroy() to free it when you're done using it.
◆ MR_AABBTree_ConstructFromAnother()
Generated from constructor MR::AABBTree::AABBTree. 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_AABBTree_Destroy() to free it when you're done using it.
◆ MR_AABBTree_DefaultConstruct()
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTree_Destroy() to free it when you're done using it.
◆ MR_AABBTree_DefaultConstructArray()
◆ MR_AABBTree_Destroy()
Destroys a heap-allocated instance of MR_AABBTree. Does nothing if the pointer is null.
◆ MR_AABBTree_DestroyArray()
Destroys a heap-allocated array of MR_AABBTree. Does nothing if the pointer is null.
◆ MR_AABBTree_getBoundingBox()
returns the root node bounding box Generated from method MR::AABBTree::getBoundingBox. Parameter _this can not be null. It is a single object.
◆ MR_AABBTree_getLeafOrder()
fills map: LeafId -> leaf#; buffer in leafMap must be resized before the call, and caller is responsible for filling missing leaf elements Generated from method MR::AABBTree::getLeafOrder. Parameter _this can not be null. It is a single object. Parameter leafMap can not be null. It is a single object.
◆ MR_AABBTree_getLeafOrderAndReset()
fills map: LeafId -> leaf#, then resets leaf order to 0,1,2,...; buffer in leafMap must be resized before the call, and caller is responsible for filling missing leaf elements Generated from method MR::AABBTree::getLeafOrderAndReset. Parameter _this can not be null. It is a single object. Parameter leafMap can not be null. It is a single object.
◆ MR_AABBTree_getNodesFromLeaves()
returns set of nodes containing among direct or indirect children given leaves Generated from method MR::AABBTree::getNodesFromLeaves. Parameter _this can not be null. It is a single object. Parameter leaves can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_NodeBitSet_Destroy() to free it when you're done using it.
◆ MR_AABBTree_getSubtreeLeaves()
returns all leaves in the subtree with given root Generated from method MR::AABBTree::getSubtreeLeaves. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it.
◆ MR_AABBTree_getSubtrees()
returns at least given number of top-level not-intersecting subtrees, union of which contain all tree leaves Generated from method MR::AABBTree::getSubtrees. 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_vector_MR_NodeId_Destroy() to free it when you're done using it.
◆ MR_AABBTree_heapBytes()
returns the amount of memory this object occupies on heap Generated from method MR::AABBTree::heapBytes. Parameter _this can not be null. It is a single object.
◆ MR_AABBTree_index()
const-access to any node Generated from method MR::AABBTree::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.
◆ MR_AABBTree_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f()
◆ MR_AABBTree_nodes()
const-access to all nodes Generated from method MR::AABBTree::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.
◆ MR_AABBTree_numLeaves()
returns the number of leaves in whole tree Generated from method MR::AABBTree::numLeaves. Parameter _this can not be null. It is a single object.
◆ MR_AABBTree_OffsetMutablePtr()
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.
◆ MR_AABBTree_OffsetPtr()
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.
◆ MR_AABBTree_refit()
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)
- Parameters
-
| mesh | same mesh for which this tree was constructed but with updated coordinates; |
| changedVerts | vertex ids with modified coordinates (since tree construction or last refit) Generated from method MR::AABBTree::refit. Parameter _this can not be null. It is a single object. Parameter mesh can not be null. It is a single object. Parameter changedVerts can not be null. It is a single object. |
◆ MR_AABBTree_rootNodeId()
returns root node id Generated from method MR::AABBTree::rootNodeId.
◆ MR_AABBTree_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_FaceTag_MR_Box3f()