MeshLib C Docs
Loading...
Searching...
No Matches
MRAABBTreePolyline.h File Reference
#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_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f
 
typedef struct MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f
 
typedef struct MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f
 
typedef struct MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f
 
typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_NodeBitSet MR_NodeBitSet
 
typedef struct MR_Polyline2 MR_Polyline2
 
typedef struct MR_Polyline3 MR_Polyline3
 
typedef struct MR_UndirectedEdgeBMap MR_UndirectedEdgeBMap
 
typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
 
typedef struct MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f_MR_NodeId MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f_MR_NodeId
 
typedef struct MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f_MR_NodeId MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f_MR_NodeId
 
typedef struct MR_std_vector_MR_NodeId MR_std_vector_MR_NodeId
 
typedef struct MR_AABBTreePolyline2 MR_AABBTreePolyline2
 
typedef struct MR_AABBTreePolyline3 MR_AABBTreePolyline3
 
typedef struct MR_PolylineTraits_MR_Vector2f MR_PolylineTraits_MR_Vector2f
 
typedef struct MR_PolylineTraits_MR_Vector3f MR_PolylineTraits_MR_Vector3f
 

Functions

MRC_API MR_AABBTreePolyline2MR_AABBTreePolyline2_DefaultConstruct (void)
 
MRC_API MR_AABBTreePolyline2MR_AABBTreePolyline2_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_AABBTreePolyline2MR_AABBTreePolyline2_OffsetPtr (const MR_AABBTreePolyline2 *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 MR_AABBTreePolyline2MR_AABBTreePolyline2_OffsetMutablePtr (MR_AABBTreePolyline2 *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_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2fMR_AABBTreePolyline2_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f (const MR_AABBTreePolyline2 *object)
 
MRC_API MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2fMR_AABBTreePolyline2_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f (MR_AABBTreePolyline2 *object)
 Upcasts an instance of MR::AABBTreePolyline2 to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box2f>>.
 
MRC_API MR_AABBTreePolyline2MR_AABBTreePolyline2_ConstructFromAnother (MR_PassBy _other_pass_by, MR_AABBTreePolyline2 *_other)
 
MRC_API MR_AABBTreePolyline2MR_AABBTreePolyline2_Construct (const MR_Polyline2 *polyline)
 
MRC_API void MR_AABBTreePolyline2_Destroy (const MR_AABBTreePolyline2 *_this)
 Destroys a heap-allocated instance of MR_AABBTreePolyline2. Does nothing if the pointer is null.
 
MRC_API void MR_AABBTreePolyline2_DestroyArray (const MR_AABBTreePolyline2 *_this)
 Destroys a heap-allocated array of MR_AABBTreePolyline2. Does nothing if the pointer is null.
 
MRC_API MR_AABBTreePolyline2MR_AABBTreePolyline2_AssignFromAnother (MR_AABBTreePolyline2 *_this, MR_PassBy _other_pass_by, MR_AABBTreePolyline2 *_other)
 
MRC_API const MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f_MR_NodeIdMR_AABBTreePolyline2_nodes (const MR_AABBTreePolyline2 *_this)
 
MRC_API const MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2fMR_AABBTreePolyline2_index (const MR_AABBTreePolyline2 *_this, MR_NodeId nid)
 
MRC_API MR_NodeId MR_AABBTreePolyline2_rootNodeId (void)
 
MRC_API MR_Box2f MR_AABBTreePolyline2_getBoundingBox (const MR_AABBTreePolyline2 *_this)
 
MRC_API MR_uint64_t MR_AABBTreePolyline2_heapBytes (const MR_AABBTreePolyline2 *_this)
 
MRC_API MR_uint64_t MR_AABBTreePolyline2_numLeaves (const MR_AABBTreePolyline2 *_this)
 
MRC_API MR_std_vector_MR_NodeIdMR_AABBTreePolyline2_getSubtrees (const MR_AABBTreePolyline2 *_this, int minNum)
 
MRC_API MR_UndirectedEdgeBitSetMR_AABBTreePolyline2_getSubtreeLeaves (const MR_AABBTreePolyline2 *_this, MR_NodeId subtreeRoot)
 
MRC_API MR_NodeBitSetMR_AABBTreePolyline2_getNodesFromLeaves (const MR_AABBTreePolyline2 *_this, const MR_UndirectedEdgeBitSet *leaves)
 
MRC_API void MR_AABBTreePolyline2_getLeafOrder (const MR_AABBTreePolyline2 *_this, MR_UndirectedEdgeBMap *leafMap)
 
MRC_API void MR_AABBTreePolyline2_getLeafOrderAndReset (MR_AABBTreePolyline2 *_this, MR_UndirectedEdgeBMap *leafMap)
 
MRC_API MR_AABBTreePolyline3MR_AABBTreePolyline3_DefaultConstruct (void)
 
MRC_API MR_AABBTreePolyline3MR_AABBTreePolyline3_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_AABBTreePolyline3MR_AABBTreePolyline3_OffsetPtr (const MR_AABBTreePolyline3 *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 MR_AABBTreePolyline3MR_AABBTreePolyline3_OffsetMutablePtr (MR_AABBTreePolyline3 *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_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3fMR_AABBTreePolyline3_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f (const MR_AABBTreePolyline3 *object)
 
MRC_API MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3fMR_AABBTreePolyline3_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f (MR_AABBTreePolyline3 *object)
 Upcasts an instance of MR::AABBTreePolyline3 to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>>.
 
MRC_API MR_AABBTreePolyline3MR_AABBTreePolyline3_ConstructFromAnother (MR_PassBy _other_pass_by, MR_AABBTreePolyline3 *_other)
 
MRC_API MR_AABBTreePolyline3MR_AABBTreePolyline3_Construct_1 (const MR_Polyline3 *polyline)
 
MRC_API MR_AABBTreePolyline3MR_AABBTreePolyline3_Construct_2 (const MR_Mesh *mesh, const MR_UndirectedEdgeBitSet *edgeSet)
 
MRC_API void MR_AABBTreePolyline3_Destroy (const MR_AABBTreePolyline3 *_this)
 Destroys a heap-allocated instance of MR_AABBTreePolyline3. Does nothing if the pointer is null.
 
MRC_API void MR_AABBTreePolyline3_DestroyArray (const MR_AABBTreePolyline3 *_this)
 Destroys a heap-allocated array of MR_AABBTreePolyline3. Does nothing if the pointer is null.
 
MRC_API MR_AABBTreePolyline3MR_AABBTreePolyline3_AssignFromAnother (MR_AABBTreePolyline3 *_this, MR_PassBy _other_pass_by, MR_AABBTreePolyline3 *_other)
 
MRC_API const MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f_MR_NodeIdMR_AABBTreePolyline3_nodes (const MR_AABBTreePolyline3 *_this)
 
MRC_API const MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3fMR_AABBTreePolyline3_index (const MR_AABBTreePolyline3 *_this, MR_NodeId nid)
 
MRC_API MR_NodeId MR_AABBTreePolyline3_rootNodeId (void)
 
MRC_API MR_Box3f MR_AABBTreePolyline3_getBoundingBox (const MR_AABBTreePolyline3 *_this)
 
MRC_API MR_uint64_t MR_AABBTreePolyline3_heapBytes (const MR_AABBTreePolyline3 *_this)
 
MRC_API MR_uint64_t MR_AABBTreePolyline3_numLeaves (const MR_AABBTreePolyline3 *_this)
 
MRC_API MR_std_vector_MR_NodeIdMR_AABBTreePolyline3_getSubtrees (const MR_AABBTreePolyline3 *_this, int minNum)
 
MRC_API MR_UndirectedEdgeBitSetMR_AABBTreePolyline3_getSubtreeLeaves (const MR_AABBTreePolyline3 *_this, MR_NodeId subtreeRoot)
 
MRC_API MR_NodeBitSetMR_AABBTreePolyline3_getNodesFromLeaves (const MR_AABBTreePolyline3 *_this, const MR_UndirectedEdgeBitSet *leaves)
 
MRC_API void MR_AABBTreePolyline3_getLeafOrder (const MR_AABBTreePolyline3 *_this, MR_UndirectedEdgeBMap *leafMap)
 
MRC_API void MR_AABBTreePolyline3_getLeafOrderAndReset (MR_AABBTreePolyline3 *_this, MR_UndirectedEdgeBMap *leafMap)
 
MRC_API MR_PolylineTraits_MR_Vector2fMR_PolylineTraits_MR_Vector2f_DefaultConstruct (void)
 
MRC_API MR_PolylineTraits_MR_Vector2fMR_PolylineTraits_MR_Vector2f_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_PolylineTraits_MR_Vector2fMR_PolylineTraits_MR_Vector2f_OffsetPtr (const MR_PolylineTraits_MR_Vector2f *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 MR_PolylineTraits_MR_Vector2fMR_PolylineTraits_MR_Vector2f_OffsetMutablePtr (MR_PolylineTraits_MR_Vector2f *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 MR_PolylineTraits_MR_Vector2fMR_PolylineTraits_MR_Vector2f_ConstructFromAnother (const MR_PolylineTraits_MR_Vector2f *_other)
 
MRC_API void MR_PolylineTraits_MR_Vector2f_Destroy (const MR_PolylineTraits_MR_Vector2f *_this)
 Destroys a heap-allocated instance of MR_PolylineTraits_MR_Vector2f. Does nothing if the pointer is null.
 
MRC_API void MR_PolylineTraits_MR_Vector2f_DestroyArray (const MR_PolylineTraits_MR_Vector2f *_this)
 Destroys a heap-allocated array of MR_PolylineTraits_MR_Vector2f. Does nothing if the pointer is null.
 
MRC_API MR_PolylineTraits_MR_Vector2fMR_PolylineTraits_MR_Vector2f_AssignFromAnother (MR_PolylineTraits_MR_Vector2f *_this, const MR_PolylineTraits_MR_Vector2f *_other)
 
MRC_API MR_PolylineTraits_MR_Vector3fMR_PolylineTraits_MR_Vector3f_DefaultConstruct (void)
 
MRC_API MR_PolylineTraits_MR_Vector3fMR_PolylineTraits_MR_Vector3f_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_PolylineTraits_MR_Vector3fMR_PolylineTraits_MR_Vector3f_OffsetPtr (const MR_PolylineTraits_MR_Vector3f *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 MR_PolylineTraits_MR_Vector3fMR_PolylineTraits_MR_Vector3f_OffsetMutablePtr (MR_PolylineTraits_MR_Vector3f *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 MR_PolylineTraits_MR_Vector3fMR_PolylineTraits_MR_Vector3f_ConstructFromAnother (const MR_PolylineTraits_MR_Vector3f *_other)
 
MRC_API void MR_PolylineTraits_MR_Vector3f_Destroy (const MR_PolylineTraits_MR_Vector3f *_this)
 Destroys a heap-allocated instance of MR_PolylineTraits_MR_Vector3f. Does nothing if the pointer is null.
 
MRC_API void MR_PolylineTraits_MR_Vector3f_DestroyArray (const MR_PolylineTraits_MR_Vector3f *_this)
 Destroys a heap-allocated array of MR_PolylineTraits_MR_Vector3f. Does nothing if the pointer is null.
 
MRC_API MR_PolylineTraits_MR_Vector3fMR_PolylineTraits_MR_Vector3f_AssignFromAnother (MR_PolylineTraits_MR_Vector3f *_this, const MR_PolylineTraits_MR_Vector3f *_other)
 

Typedef Documentation

◆ MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f

◆ MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f

◆ MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f

◆ MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f

◆ MR_AABBTreePolyline2

bounding volume hierarchy for line segments Generated from class MR::AABBTreePolyline2. Base classes: Direct: (non-virtual) MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box2f>> Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_AABBTreePolyline3

bounding volume hierarchy for line segments Generated from class MR::AABBTreePolyline3. Base classes: Direct: (non-virtual) MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, 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_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_NodeBitSet

typedef struct MR_NodeBitSet MR_NodeBitSet

◆ MR_Polyline2

typedef struct MR_Polyline2 MR_Polyline2

◆ MR_Polyline3

typedef struct MR_Polyline3 MR_Polyline3

◆ MR_PolylineTraits_MR_Vector2f

Generated from class MR::PolylineTraits<MR::Vector2f>. 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).

◆ MR_PolylineTraits_MR_Vector3f

Generated from class MR::PolylineTraits<MR::Vector3f>. 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).

◆ MR_std_vector_MR_NodeId

◆ MR_UndirectedEdgeBitSet

◆ MR_UndirectedEdgeBMap

◆ MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f_MR_NodeId

◆ MR_Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f_MR_NodeId

Function Documentation

◆ MR_AABBTreePolyline2_AssignFromAnother()

MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_AssignFromAnother ( MR_AABBTreePolyline2 * _this,
MR_PassBy _other_pass_by,
MR_AABBTreePolyline2 * _other )

Generated from method MR::AABBTreePolyline2::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_AABBTreePolyline2_Construct()

MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_Construct ( const MR_Polyline2 * polyline)

creates tree for given polyline Generated from constructor MR::AABBTreePolyline2::AABBTreePolyline2. Parameter polyline can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePolyline2_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline2_ConstructFromAnother()

MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_AABBTreePolyline2 * _other )

Generated from constructor MR::AABBTreePolyline2::AABBTreePolyline2. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePolyline2_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline2_DefaultConstruct()

MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePolyline2_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline2_DefaultConstructArray()

MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_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_AABBTreePolyline2_DestroyArray(). Use MR_AABBTreePolyline2_OffsetMutablePtr() and MR_AABBTreePolyline2_OffsetPtr() to access the array elements.

◆ MR_AABBTreePolyline2_Destroy()

MRC_API void MR_AABBTreePolyline2_Destroy ( const MR_AABBTreePolyline2 * _this)

Destroys a heap-allocated instance of MR_AABBTreePolyline2. Does nothing if the pointer is null.

◆ MR_AABBTreePolyline2_DestroyArray()

MRC_API void MR_AABBTreePolyline2_DestroyArray ( const MR_AABBTreePolyline2 * _this)

Destroys a heap-allocated array of MR_AABBTreePolyline2. Does nothing if the pointer is null.

◆ MR_AABBTreePolyline2_getBoundingBox()

MRC_API MR_Box2f MR_AABBTreePolyline2_getBoundingBox ( const MR_AABBTreePolyline2 * _this)

returns the root node bounding box Generated from method MR::AABBTreePolyline2::getBoundingBox. Parameter _this can not be null. It is a single object.

◆ MR_AABBTreePolyline2_getLeafOrder()

MRC_API void MR_AABBTreePolyline2_getLeafOrder ( const MR_AABBTreePolyline2 * _this,
MR_UndirectedEdgeBMap * 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::AABBTreePolyline2::getLeafOrder. Parameter _this can not be null. It is a single object. Parameter leafMap can not be null. It is a single object.

◆ MR_AABBTreePolyline2_getLeafOrderAndReset()

MRC_API void MR_AABBTreePolyline2_getLeafOrderAndReset ( MR_AABBTreePolyline2 * _this,
MR_UndirectedEdgeBMap * 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::AABBTreePolyline2::getLeafOrderAndReset. Parameter _this can not be null. It is a single object. Parameter leafMap can not be null. It is a single object.

◆ MR_AABBTreePolyline2_getNodesFromLeaves()

MRC_API MR_NodeBitSet * MR_AABBTreePolyline2_getNodesFromLeaves ( const MR_AABBTreePolyline2 * _this,
const MR_UndirectedEdgeBitSet * leaves )

returns set of nodes containing among direct or indirect children given leaves Generated from method MR::AABBTreePolyline2::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_AABBTreePolyline2_getSubtreeLeaves()

MRC_API MR_UndirectedEdgeBitSet * MR_AABBTreePolyline2_getSubtreeLeaves ( const MR_AABBTreePolyline2 * _this,
MR_NodeId subtreeRoot )

returns all leaves in the subtree with given root Generated from method MR::AABBTreePolyline2::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_UndirectedEdgeBitSet_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline2_getSubtrees()

MRC_API MR_std_vector_MR_NodeId * MR_AABBTreePolyline2_getSubtrees ( const MR_AABBTreePolyline2 * _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::AABBTreePolyline2::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_AABBTreePolyline2_heapBytes()

MRC_API MR_uint64_t MR_AABBTreePolyline2_heapBytes ( const MR_AABBTreePolyline2 * _this)

returns the amount of memory this object occupies on heap Generated from method MR::AABBTreePolyline2::heapBytes. Parameter _this can not be null. It is a single object.

◆ MR_AABBTreePolyline2_index()

const-access to any node Generated from method MR::AABBTreePolyline2::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_AABBTreePolyline2_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f()

MRC_API MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f * MR_AABBTreePolyline2_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f ( MR_AABBTreePolyline2 * object)

Upcasts an instance of MR::AABBTreePolyline2 to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box2f>>.

◆ MR_AABBTreePolyline2_nodes()

const-access to all nodes Generated from method MR::AABBTreePolyline2::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_AABBTreePolyline2_numLeaves()

MRC_API MR_uint64_t MR_AABBTreePolyline2_numLeaves ( const MR_AABBTreePolyline2 * _this)

returns the number of leaves in whole tree Generated from method MR::AABBTreePolyline2::numLeaves. Parameter _this can not be null. It is a single object.

◆ MR_AABBTreePolyline2_OffsetMutablePtr()

MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_OffsetMutablePtr ( MR_AABBTreePolyline2 * 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.

◆ MR_AABBTreePolyline2_OffsetPtr()

MRC_API const MR_AABBTreePolyline2 * MR_AABBTreePolyline2_OffsetPtr ( const MR_AABBTreePolyline2 * 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.

◆ MR_AABBTreePolyline2_rootNodeId()

MRC_API MR_NodeId MR_AABBTreePolyline2_rootNodeId ( void )

returns root node id Generated from method MR::AABBTreePolyline2::rootNodeId.

◆ MR_AABBTreePolyline2_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f()

MRC_API const MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f * MR_AABBTreePolyline2_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f ( const MR_AABBTreePolyline2 * object)

Upcasts an instance of MR::AABBTreePolyline2 to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box2f>>. This version is acting on mutable pointers.

◆ MR_AABBTreePolyline3_AssignFromAnother()

MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_AssignFromAnother ( MR_AABBTreePolyline3 * _this,
MR_PassBy _other_pass_by,
MR_AABBTreePolyline3 * _other )

Generated from method MR::AABBTreePolyline3::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_AABBTreePolyline3_Construct_1()

MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_Construct_1 ( const MR_Polyline3 * polyline)

creates tree for given polyline Generated from constructor MR::AABBTreePolyline3::AABBTreePolyline3. Parameter polyline can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePolyline3_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline3_Construct_2()

MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_Construct_2 ( const MR_Mesh * mesh,
const MR_UndirectedEdgeBitSet * edgeSet )

creates tree for selected edges on the mesh (only for 3d tree) Generated from constructor MR::AABBTreePolyline3::AABBTreePolyline3. Parameter mesh can not be null. It is a single object. Parameter edgeSet can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePolyline3_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline3_ConstructFromAnother()

MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_AABBTreePolyline3 * _other )

Generated from constructor MR::AABBTreePolyline3::AABBTreePolyline3. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePolyline3_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline3_DefaultConstruct()

MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_AABBTreePolyline3_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline3_DefaultConstructArray()

MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_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_AABBTreePolyline3_DestroyArray(). Use MR_AABBTreePolyline3_OffsetMutablePtr() and MR_AABBTreePolyline3_OffsetPtr() to access the array elements.

◆ MR_AABBTreePolyline3_Destroy()

MRC_API void MR_AABBTreePolyline3_Destroy ( const MR_AABBTreePolyline3 * _this)

Destroys a heap-allocated instance of MR_AABBTreePolyline3. Does nothing if the pointer is null.

◆ MR_AABBTreePolyline3_DestroyArray()

MRC_API void MR_AABBTreePolyline3_DestroyArray ( const MR_AABBTreePolyline3 * _this)

Destroys a heap-allocated array of MR_AABBTreePolyline3. Does nothing if the pointer is null.

◆ MR_AABBTreePolyline3_getBoundingBox()

MRC_API MR_Box3f MR_AABBTreePolyline3_getBoundingBox ( const MR_AABBTreePolyline3 * _this)

returns the root node bounding box Generated from method MR::AABBTreePolyline3::getBoundingBox. Parameter _this can not be null. It is a single object.

◆ MR_AABBTreePolyline3_getLeafOrder()

MRC_API void MR_AABBTreePolyline3_getLeafOrder ( const MR_AABBTreePolyline3 * _this,
MR_UndirectedEdgeBMap * 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::AABBTreePolyline3::getLeafOrder. Parameter _this can not be null. It is a single object. Parameter leafMap can not be null. It is a single object.

◆ MR_AABBTreePolyline3_getLeafOrderAndReset()

MRC_API void MR_AABBTreePolyline3_getLeafOrderAndReset ( MR_AABBTreePolyline3 * _this,
MR_UndirectedEdgeBMap * 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::AABBTreePolyline3::getLeafOrderAndReset. Parameter _this can not be null. It is a single object. Parameter leafMap can not be null. It is a single object.

◆ MR_AABBTreePolyline3_getNodesFromLeaves()

MRC_API MR_NodeBitSet * MR_AABBTreePolyline3_getNodesFromLeaves ( const MR_AABBTreePolyline3 * _this,
const MR_UndirectedEdgeBitSet * leaves )

returns set of nodes containing among direct or indirect children given leaves Generated from method MR::AABBTreePolyline3::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_AABBTreePolyline3_getSubtreeLeaves()

MRC_API MR_UndirectedEdgeBitSet * MR_AABBTreePolyline3_getSubtreeLeaves ( const MR_AABBTreePolyline3 * _this,
MR_NodeId subtreeRoot )

returns all leaves in the subtree with given root Generated from method MR::AABBTreePolyline3::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_UndirectedEdgeBitSet_Destroy() to free it when you're done using it.

◆ MR_AABBTreePolyline3_getSubtrees()

MRC_API MR_std_vector_MR_NodeId * MR_AABBTreePolyline3_getSubtrees ( const MR_AABBTreePolyline3 * _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::AABBTreePolyline3::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_AABBTreePolyline3_heapBytes()

MRC_API MR_uint64_t MR_AABBTreePolyline3_heapBytes ( const MR_AABBTreePolyline3 * _this)

returns the amount of memory this object occupies on heap Generated from method MR::AABBTreePolyline3::heapBytes. Parameter _this can not be null. It is a single object.

◆ MR_AABBTreePolyline3_index()

const-access to any node Generated from method MR::AABBTreePolyline3::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_AABBTreePolyline3_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f()

MRC_API MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f * MR_AABBTreePolyline3_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f ( MR_AABBTreePolyline3 * object)

Upcasts an instance of MR::AABBTreePolyline3 to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>>.

◆ MR_AABBTreePolyline3_nodes()

const-access to all nodes Generated from method MR::AABBTreePolyline3::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_AABBTreePolyline3_numLeaves()

MRC_API MR_uint64_t MR_AABBTreePolyline3_numLeaves ( const MR_AABBTreePolyline3 * _this)

returns the number of leaves in whole tree Generated from method MR::AABBTreePolyline3::numLeaves. Parameter _this can not be null. It is a single object.

◆ MR_AABBTreePolyline3_OffsetMutablePtr()

MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_OffsetMutablePtr ( MR_AABBTreePolyline3 * 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.

◆ MR_AABBTreePolyline3_OffsetPtr()

MRC_API const MR_AABBTreePolyline3 * MR_AABBTreePolyline3_OffsetPtr ( const MR_AABBTreePolyline3 * 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.

◆ MR_AABBTreePolyline3_rootNodeId()

MRC_API MR_NodeId MR_AABBTreePolyline3_rootNodeId ( void )

returns root node id Generated from method MR::AABBTreePolyline3::rootNodeId.

◆ MR_AABBTreePolyline3_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f()

MRC_API const MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f * MR_AABBTreePolyline3_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f ( const MR_AABBTreePolyline3 * object)

Upcasts an instance of MR::AABBTreePolyline3 to its base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>>. This version is acting on mutable pointers.

◆ MR_PolylineTraits_MR_Vector2f_AssignFromAnother()

MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_AssignFromAnother ( MR_PolylineTraits_MR_Vector2f * _this,
const MR_PolylineTraits_MR_Vector2f * _other )

Generated from method MR::PolylineTraits<MR::Vector2f>::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.

◆ MR_PolylineTraits_MR_Vector2f_ConstructFromAnother()

MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_ConstructFromAnother ( const MR_PolylineTraits_MR_Vector2f * _other)

Generated from constructor MR::PolylineTraits<MR::Vector2f>::PolylineTraits. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_PolylineTraits_MR_Vector2f_Destroy() to free it when you're done using it.

◆ MR_PolylineTraits_MR_Vector2f_DefaultConstruct()

MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_PolylineTraits_MR_Vector2f_Destroy() to free it when you're done using it.

◆ MR_PolylineTraits_MR_Vector2f_DefaultConstructArray()

MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_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_PolylineTraits_MR_Vector2f_DestroyArray(). Use MR_PolylineTraits_MR_Vector2f_OffsetMutablePtr() and MR_PolylineTraits_MR_Vector2f_OffsetPtr() to access the array elements.

◆ MR_PolylineTraits_MR_Vector2f_Destroy()

MRC_API void MR_PolylineTraits_MR_Vector2f_Destroy ( const MR_PolylineTraits_MR_Vector2f * _this)

Destroys a heap-allocated instance of MR_PolylineTraits_MR_Vector2f. Does nothing if the pointer is null.

◆ MR_PolylineTraits_MR_Vector2f_DestroyArray()

MRC_API void MR_PolylineTraits_MR_Vector2f_DestroyArray ( const MR_PolylineTraits_MR_Vector2f * _this)

Destroys a heap-allocated array of MR_PolylineTraits_MR_Vector2f. Does nothing if the pointer is null.

◆ MR_PolylineTraits_MR_Vector2f_OffsetMutablePtr()

MRC_API MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_OffsetMutablePtr ( MR_PolylineTraits_MR_Vector2f * 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.

◆ MR_PolylineTraits_MR_Vector2f_OffsetPtr()

MRC_API const MR_PolylineTraits_MR_Vector2f * MR_PolylineTraits_MR_Vector2f_OffsetPtr ( const MR_PolylineTraits_MR_Vector2f * 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.

◆ MR_PolylineTraits_MR_Vector3f_AssignFromAnother()

MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_AssignFromAnother ( MR_PolylineTraits_MR_Vector3f * _this,
const MR_PolylineTraits_MR_Vector3f * _other )

Generated from method MR::PolylineTraits<MR::Vector3f>::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.

◆ MR_PolylineTraits_MR_Vector3f_ConstructFromAnother()

MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_ConstructFromAnother ( const MR_PolylineTraits_MR_Vector3f * _other)

Generated from constructor MR::PolylineTraits<MR::Vector3f>::PolylineTraits. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_PolylineTraits_MR_Vector3f_Destroy() to free it when you're done using it.

◆ MR_PolylineTraits_MR_Vector3f_DefaultConstruct()

MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_PolylineTraits_MR_Vector3f_Destroy() to free it when you're done using it.

◆ MR_PolylineTraits_MR_Vector3f_DefaultConstructArray()

MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_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_PolylineTraits_MR_Vector3f_DestroyArray(). Use MR_PolylineTraits_MR_Vector3f_OffsetMutablePtr() and MR_PolylineTraits_MR_Vector3f_OffsetPtr() to access the array elements.

◆ MR_PolylineTraits_MR_Vector3f_Destroy()

MRC_API void MR_PolylineTraits_MR_Vector3f_Destroy ( const MR_PolylineTraits_MR_Vector3f * _this)

Destroys a heap-allocated instance of MR_PolylineTraits_MR_Vector3f. Does nothing if the pointer is null.

◆ MR_PolylineTraits_MR_Vector3f_DestroyArray()

MRC_API void MR_PolylineTraits_MR_Vector3f_DestroyArray ( const MR_PolylineTraits_MR_Vector3f * _this)

Destroys a heap-allocated array of MR_PolylineTraits_MR_Vector3f. Does nothing if the pointer is null.

◆ MR_PolylineTraits_MR_Vector3f_OffsetMutablePtr()

MRC_API MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_OffsetMutablePtr ( MR_PolylineTraits_MR_Vector3f * 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.

◆ MR_PolylineTraits_MR_Vector3f_OffsetPtr()

MRC_API const MR_PolylineTraits_MR_Vector3f * MR_PolylineTraits_MR_Vector3f_OffsetPtr ( const MR_PolylineTraits_MR_Vector3f * 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.