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_Polyline2 MR_Polyline2
typedef struct MR_Polyline3 MR_Polyline3
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)
MRC_API MR_AABBTreePolyline2MR_AABBTreePolyline2_OffsetMutablePtr (MR_AABBTreePolyline2 *ptr, ptrdiff_t i)
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)
MRC_API const MR_AABBTreePolyline2MR_AABBTreePolyline2_StaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f (const MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f *object)
MRC_API MR_AABBTreePolyline2MR_AABBTreePolyline2_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f (MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f *object)
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)
MRC_API MR_AABBTreePolyline3MR_AABBTreePolyline3_OffsetMutablePtr (MR_AABBTreePolyline3 *ptr, ptrdiff_t i)
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)
MRC_API const MR_AABBTreePolyline3MR_AABBTreePolyline3_StaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f (const MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f *object)
MRC_API MR_AABBTreePolyline3MR_AABBTreePolyline3_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f (MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f *object)
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)
MRC_API MR_PolylineTraits_MR_Vector2fMR_PolylineTraits_MR_Vector2f_OffsetMutablePtr (MR_PolylineTraits_MR_Vector2f *ptr, ptrdiff_t i)
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)
MRC_API MR_PolylineTraits_MR_Vector3fMR_PolylineTraits_MR_Vector3f_OffsetMutablePtr (MR_PolylineTraits_MR_Vector3f *ptr, ptrdiff_t i)
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_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_Polyline2

typedef struct MR_Polyline2 MR_Polyline2

polyline that stores points of type V Generated from class MR::Polyline2. 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_Polyline3

typedef struct MR_Polyline3 MR_Polyline3

polyline that stores points of type V Generated from class MR::Polyline3. 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_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).

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 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. The reference to this object might be preserved in the return value. When this function is called, this object will drop any object references it held previously.

◆ 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. The reference to the parameter polyline might be preserved in the constructed 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. 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_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_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f()

MRC_API MR_AABBTreePolyline2 * MR_AABBTreePolyline2_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f ( MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f * object)

Downcasts an instance of MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box2f>> to a derived class MR::AABBTreePolyline2. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. The reference to the parameter object might be preserved in the return value.

◆ 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>>. The reference to the parameter object might be preserved in the return value.

◆ 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. The reference to the parameter ptr might be preserved in the return value.

◆ 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. The reference to the parameter ptr might be preserved in the return value.

◆ MR_AABBTreePolyline2_rootNodeId()

MRC_API MR_NodeId MR_AABBTreePolyline2_rootNodeId ( void )

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

◆ MR_AABBTreePolyline2_StaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f()

MRC_API const MR_AABBTreePolyline2 * MR_AABBTreePolyline2_StaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f ( const MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f * object)

Downcasts an instance of MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box2f>> to a derived class MR::AABBTreePolyline2. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers. The reference to the parameter object might be preserved in the return value.

◆ 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. The reference to the parameter object might be preserved in the return value.

◆ 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 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. The reference to this object might be preserved in the return value. When this function is called, this object will drop any object references it held previously.

◆ 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. The reference to the parameter polyline might be preserved in the constructed 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. The reference to the parameter mesh might be preserved in the constructed object. Parameter edgeSet can not be null. It is a single object. The reference to the parameter edgeSet might be preserved in the constructed 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. 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_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_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f()

MRC_API MR_AABBTreePolyline3 * MR_AABBTreePolyline3_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f ( MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f * object)

Downcasts an instance of MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>> to a derived class MR::AABBTreePolyline3. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. The reference to the parameter object might be preserved in the return value.

◆ 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>>. The reference to the parameter object might be preserved in the return value.

◆ 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. The reference to the parameter ptr might be preserved in the return value.

◆ 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. The reference to the parameter ptr might be preserved in the return value.

◆ MR_AABBTreePolyline3_rootNodeId()

MRC_API MR_NodeId MR_AABBTreePolyline3_rootNodeId ( void )

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

◆ MR_AABBTreePolyline3_StaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f()

MRC_API const MR_AABBTreePolyline3 * MR_AABBTreePolyline3_StaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f ( const MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f * object)

Downcasts an instance of MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>> to a derived class MR::AABBTreePolyline3. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers. The reference to the parameter object might be preserved in the return value.

◆ 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. The reference to the parameter object might be preserved in the return value.

◆ 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 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 held previously.

◆ 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. 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_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. The reference to the parameter ptr might be preserved in the return value.

◆ 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. The reference to the parameter ptr might be preserved in the return value.

◆ 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 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 held previously.

◆ 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. 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_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. The reference to the parameter ptr might be preserved in the return value.

◆ 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. The reference to the parameter ptr might be preserved in the return value.