#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.
Typedefs | |
| typedef struct MR_AABBTreeBase_MR_ObjTreeTraits | MR_AABBTreeBase_MR_ObjTreeTraits |
| typedef struct MR_AABBTreeNode_MR_ObjTreeTraits | MR_AABBTreeNode_MR_ObjTreeTraits |
| typedef struct MR_AffineXf3f | MR_AffineXf3f |
| typedef struct MR_BMap_MR_ObjId_MR_ObjId | MR_BMap_MR_ObjId_MR_ObjId |
| typedef struct MR_MeshOrPoints | MR_MeshOrPoints |
| typedef struct MR_NodeBitSet | MR_NodeBitSet |
| typedef struct MR_ObjBitSet | MR_ObjBitSet |
| typedef struct MR_Vector_MR_AABBTreeNode_MR_ObjTreeTraits_MR_NodeId | MR_Vector_MR_AABBTreeNode_MR_ObjTreeTraits_MR_NodeId |
| typedef struct MR_Vector_MR_AffineXf3f_MR_ObjId | MR_Vector_MR_AffineXf3f_MR_ObjId |
| typedef struct MR_Vector_MR_MeshOrPointsXf_MR_ObjId | MR_Vector_MR_MeshOrPointsXf_MR_ObjId |
| typedef struct MR_std_vector_MR_NodeId | MR_std_vector_MR_NodeId |
| typedef struct MR_ObjTreeTraits | MR_ObjTreeTraits |
| typedef struct MR_AABBTreeObjects | MR_AABBTreeObjects |
| typedef struct MR_AABBTreeBase_MR_ObjTreeTraits MR_AABBTreeBase_MR_ObjTreeTraits |
| typedef struct MR_AABBTreeNode_MR_ObjTreeTraits MR_AABBTreeNode_MR_ObjTreeTraits |
| typedef struct MR_AABBTreeObjects MR_AABBTreeObjects |
tree containing world bounding boxes of individual objects having individual local-to-world transformations Generated from class MR::AABBTreeObjects. Base classes: Direct: (non-virtual) MR::AABBTreeBase<MR::ObjTreeTraits> 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_AffineXf3f MR_AffineXf3f |
| typedef struct MR_BMap_MR_ObjId_MR_ObjId MR_BMap_MR_ObjId_MR_ObjId |
| typedef struct MR_MeshOrPoints MR_MeshOrPoints |
| typedef struct MR_NodeBitSet MR_NodeBitSet |
| typedef struct MR_ObjBitSet MR_ObjBitSet |
| typedef struct MR_ObjTreeTraits MR_ObjTreeTraits |
Generated from class MR::ObjTreeTraits. 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_std_vector_MR_NodeId MR_std_vector_MR_NodeId |
| typedef struct MR_Vector_MR_AABBTreeNode_MR_ObjTreeTraits_MR_NodeId MR_Vector_MR_AABBTreeNode_MR_ObjTreeTraits_MR_NodeId |
| typedef struct MR_Vector_MR_AffineXf3f_MR_ObjId MR_Vector_MR_AffineXf3f_MR_ObjId |
| MRC_API MR_AABBTreeObjects * MR_AABBTreeObjects_AssignFromAnother | ( | MR_AABBTreeObjects * | _this, |
| MR_PassBy | _other_pass_by, | ||
| MR_AABBTreeObjects * | _other ) |
Generated from method MR::AABBTreeObjects::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_AABBTreeObjects * MR_AABBTreeObjects_Construct | ( | MR_PassBy | objs_pass_by, |
| MR_Vector_MR_MeshOrPointsXf_MR_ObjId * | objs ) |
creates tree for given set of objects each with its own transformation Generated from constructor MR::AABBTreeObjects::AABBTreeObjects. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreeObjects_Destroy() to free it when you're done using it.
| MRC_API MR_AABBTreeObjects * MR_AABBTreeObjects_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, |
| MR_AABBTreeObjects * | _other ) |
Generated from constructor MR::AABBTreeObjects::AABBTreeObjects. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreeObjects_Destroy() to free it when you're done using it.
| MRC_API MR_AABBTreeObjects * MR_AABBTreeObjects_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreeObjects_Destroy() to free it when you're done using it.
| MRC_API MR_AABBTreeObjects * MR_AABBTreeObjects_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_AABBTreeObjects_DestroyArray(). Use MR_AABBTreeObjects_OffsetMutablePtr() and MR_AABBTreeObjects_OffsetPtr() to access the array elements.
| MRC_API void MR_AABBTreeObjects_Destroy | ( | const MR_AABBTreeObjects * | _this | ) |
Destroys a heap-allocated instance of MR_AABBTreeObjects. Does nothing if the pointer is null.
| MRC_API void MR_AABBTreeObjects_DestroyArray | ( | const MR_AABBTreeObjects * | _this | ) |
Destroys a heap-allocated array of MR_AABBTreeObjects. Does nothing if the pointer is null.
| MRC_API MR_Box3f MR_AABBTreeObjects_getBoundingBox | ( | const MR_AABBTreeObjects * | _this | ) |
returns the root node bounding box Generated from method MR::AABBTreeObjects::getBoundingBox. Parameter _this can not be null. It is a single object.
| MRC_API void MR_AABBTreeObjects_getLeafOrder | ( | const MR_AABBTreeObjects * | _this, |
| MR_BMap_MR_ObjId_MR_ObjId * | leafMap ) |
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::AABBTreeObjects::getLeafOrder. Parameter _this can not be null. It is a single object. Parameter leafMap can not be null. It is a single object.
| MRC_API void MR_AABBTreeObjects_getLeafOrderAndReset | ( | MR_AABBTreeObjects * | _this, |
| MR_BMap_MR_ObjId_MR_ObjId * | leafMap ) |
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::AABBTreeObjects::getLeafOrderAndReset. Parameter _this can not be null. It is a single object. Parameter leafMap can not be null. It is a single object.
| MRC_API MR_NodeBitSet * MR_AABBTreeObjects_getNodesFromLeaves | ( | const MR_AABBTreeObjects * | _this, |
| const MR_ObjBitSet * | leaves ) |
returns set of nodes containing among direct or indirect children given leaves Generated from method MR::AABBTreeObjects::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.
| MRC_API MR_ObjBitSet * MR_AABBTreeObjects_getSubtreeLeaves | ( | const MR_AABBTreeObjects * | _this, |
| MR_NodeId | subtreeRoot ) |
returns all leaves in the subtree with given root Generated from method MR::AABBTreeObjects::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_ObjBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_std_vector_MR_NodeId * MR_AABBTreeObjects_getSubtrees | ( | const MR_AABBTreeObjects * | _this, |
| int | minNum ) |
returns at least given number of top-level not-intersecting subtrees, union of which contain all tree leaves Generated from method MR::AABBTreeObjects::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.
| MRC_API MR_uint64_t MR_AABBTreeObjects_heapBytes | ( | const MR_AABBTreeObjects * | _this | ) |
returns the amount of memory this object occupies on heap Generated from method MR::AABBTreeObjects::heapBytes. Parameter _this can not be null. It is a single object.
| MRC_API const MR_AABBTreeNode_MR_ObjTreeTraits * MR_AABBTreeObjects_index | ( | const MR_AABBTreeObjects * | _this, |
| MR_NodeId | nid ) |
const-access to any node Generated from method MR::AABBTreeObjects::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_AABBTreeBase_MR_ObjTreeTraits * MR_AABBTreeObjects_MutableUpcastTo_MR_AABBTreeBase_MR_ObjTreeTraits | ( | MR_AABBTreeObjects * | object | ) |
Upcasts an instance of MR::AABBTreeObjects to its base class MR::AABBTreeBase<MR::ObjTreeTraits>.
| MRC_API const MR_Vector_MR_AABBTreeNode_MR_ObjTreeTraits_MR_NodeId * MR_AABBTreeObjects_nodes | ( | const MR_AABBTreeObjects * | _this | ) |
const-access to all nodes Generated from method MR::AABBTreeObjects::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_uint64_t MR_AABBTreeObjects_numLeaves | ( | const MR_AABBTreeObjects * | _this | ) |
returns the number of leaves in whole tree Generated from method MR::AABBTreeObjects::numLeaves. Parameter _this can not be null. It is a single object.
| MRC_API const MR_MeshOrPoints * MR_AABBTreeObjects_obj | ( | const MR_AABBTreeObjects * | _this, |
| MR_ObjId | oi ) |
gets object by its id Generated from method MR::AABBTreeObjects::obj. 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_AABBTreeObjects * MR_AABBTreeObjects_OffsetMutablePtr | ( | MR_AABBTreeObjects * | 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_AABBTreeObjects * MR_AABBTreeObjects_OffsetPtr | ( | const MR_AABBTreeObjects * | 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.
returns root node id Generated from method MR::AABBTreeObjects::rootNodeId.
| MRC_API const MR_Vector_MR_AffineXf3f_MR_ObjId * MR_AABBTreeObjects_toLocal_0 | ( | const MR_AABBTreeObjects * | _this | ) |
gets mapping: objId -> its transformation from world space to local space Generated from method MR::AABBTreeObjects::toLocal. 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_AffineXf3f * MR_AABBTreeObjects_toLocal_1 | ( | const MR_AABBTreeObjects * | _this, |
| MR_ObjId | oi ) |
gets transformation from world space to local space of given object Generated from method MR::AABBTreeObjects::toLocal. 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_AffineXf3f * MR_AABBTreeObjects_toWorld | ( | const MR_AABBTreeObjects * | _this, |
| MR_ObjId | oi ) |
gets transformation from local space of given object to world space Generated from method MR::AABBTreeObjects::toWorld. 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_AABBTreeBase_MR_ObjTreeTraits * MR_AABBTreeObjects_UpcastTo_MR_AABBTreeBase_MR_ObjTreeTraits | ( | const MR_AABBTreeObjects * | object | ) |
Upcasts an instance of MR::AABBTreeObjects to its base class MR::AABBTreeBase<MR::ObjTreeTraits>. This version is acting on mutable pointers.
| MRC_API MR_ObjTreeTraits * MR_ObjTreeTraits_AssignFromAnother | ( | MR_ObjTreeTraits * | _this, |
| const MR_ObjTreeTraits * | _other ) |
Generated from method MR::ObjTreeTraits::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_ObjTreeTraits * MR_ObjTreeTraits_ConstructFromAnother | ( | const MR_ObjTreeTraits * | _other | ) |
Generated from constructor MR::ObjTreeTraits::ObjTreeTraits. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_ObjTreeTraits_Destroy() to free it when you're done using it.
| MRC_API MR_ObjTreeTraits * MR_ObjTreeTraits_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_ObjTreeTraits_Destroy() to free it when you're done using it.
| MRC_API MR_ObjTreeTraits * MR_ObjTreeTraits_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_ObjTreeTraits_DestroyArray(). Use MR_ObjTreeTraits_OffsetMutablePtr() and MR_ObjTreeTraits_OffsetPtr() to access the array elements.
| MRC_API void MR_ObjTreeTraits_Destroy | ( | const MR_ObjTreeTraits * | _this | ) |
Destroys a heap-allocated instance of MR_ObjTreeTraits. Does nothing if the pointer is null.
| MRC_API void MR_ObjTreeTraits_DestroyArray | ( | const MR_ObjTreeTraits * | _this | ) |
Destroys a heap-allocated array of MR_ObjTreeTraits. Does nothing if the pointer is null.
| MRC_API MR_ObjTreeTraits * MR_ObjTreeTraits_OffsetMutablePtr | ( | MR_ObjTreeTraits * | 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_ObjTreeTraits * MR_ObjTreeTraits_OffsetPtr | ( | const MR_ObjTreeTraits * | 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.