MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshTriPoint.h File Reference
#include <MRCMesh/MRId.h>
#include <MRCMisc/exports.h>
#include <stdbool.h>
#include <stddef.h>

Go to the source code of this file.

Typedefs

typedef struct MR_EdgePoint MR_EdgePoint
 
typedef struct MR_FaceBitSet MR_FaceBitSet
 
typedef struct MR_MeshTopology MR_MeshTopology
 
typedef struct MR_NoInit MR_NoInit
 
typedef struct MR_TriPointf MR_TriPointf
 
typedef struct MR_std_array_MR_WeightedVertex_3 MR_std_array_MR_WeightedVertex_3
 
typedef struct MR_WeightedVertex MR_WeightedVertex
 Generated from class MR::WeightedVertex.
 
typedef struct MR_MeshTriPoint MR_MeshTriPoint
 

Functions

MRC_API const MR_VertIdMR_WeightedVertex_Get_v (const MR_WeightedVertex *_this)
 
MRC_API void MR_WeightedVertex_Set_v (MR_WeightedVertex *_this, MR_VertId value)
 
MRC_API MR_VertIdMR_WeightedVertex_GetMutable_v (MR_WeightedVertex *_this)
 
MRC_API const float * MR_WeightedVertex_Get_weight (const MR_WeightedVertex *_this)
 
MRC_API void MR_WeightedVertex_Set_weight (MR_WeightedVertex *_this, float value)
 
MRC_API float * MR_WeightedVertex_GetMutable_weight (MR_WeightedVertex *_this)
 
MRC_API MR_WeightedVertexMR_WeightedVertex_DefaultConstruct (void)
 
MRC_API MR_WeightedVertexMR_WeightedVertex_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_WeightedVertexMR_WeightedVertex_ConstructFrom (MR_VertId v, float weight)
 
MRC_API const MR_WeightedVertexMR_WeightedVertex_OffsetPtr (const MR_WeightedVertex *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_WeightedVertexMR_WeightedVertex_OffsetMutablePtr (MR_WeightedVertex *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_WeightedVertexMR_WeightedVertex_ConstructFromAnother (const MR_WeightedVertex *_other)
 
MRC_API void MR_WeightedVertex_Destroy (const MR_WeightedVertex *_this)
 Destroys a heap-allocated instance of MR_WeightedVertex. Does nothing if the pointer is null.
 
MRC_API void MR_WeightedVertex_DestroyArray (const MR_WeightedVertex *_this)
 Destroys a heap-allocated array of MR_WeightedVertex. Does nothing if the pointer is null.
 
MRC_API MR_WeightedVertexMR_WeightedVertex_AssignFromAnother (MR_WeightedVertex *_this, const MR_WeightedVertex *_other)
 
MRC_API const MR_EdgeIdMR_MeshTriPoint_Get_e (const MR_MeshTriPoint *_this)
 
MRC_API void MR_MeshTriPoint_Set_e (MR_MeshTriPoint *_this, MR_EdgeId value)
 
MRC_API MR_EdgeIdMR_MeshTriPoint_GetMutable_e (MR_MeshTriPoint *_this)
 
MRC_API const MR_TriPointfMR_MeshTriPoint_Get_bary (const MR_MeshTriPoint *_this)
 
MRC_API void MR_MeshTriPoint_Set_bary (MR_MeshTriPoint *_this, const MR_TriPointf *value)
 
MRC_API MR_TriPointfMR_MeshTriPoint_GetMutable_bary (MR_MeshTriPoint *_this)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_DefaultConstruct (void)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_MeshTriPointMR_MeshTriPoint_OffsetPtr (const MR_MeshTriPoint *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_MeshTriPointMR_MeshTriPoint_OffsetMutablePtr (MR_MeshTriPoint *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_MeshTriPointMR_MeshTriPoint_ConstructFromAnother (const MR_MeshTriPoint *_other)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_Construct_1_MR_NoInit (const MR_NoInit *_1)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_Construct_2_MR_EdgeId (MR_EdgeId e, const MR_TriPointf *bary)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_Construct_1_MR_EdgePoint (const MR_EdgePoint *ep)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_Construct_2_MR_MeshTopology (const MR_MeshTopology *topology, MR_VertId v)
 
MRC_API void MR_MeshTriPoint_Destroy (const MR_MeshTriPoint *_this)
 Destroys a heap-allocated instance of MR_MeshTriPoint. Does nothing if the pointer is null.
 
MRC_API void MR_MeshTriPoint_DestroyArray (const MR_MeshTriPoint *_this)
 Destroys a heap-allocated array of MR_MeshTriPoint. Does nothing if the pointer is null.
 
MRC_API bool MR_MeshTriPoint_ConvertTo_bool (const MR_MeshTriPoint *_this)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_AssignFromAnother (MR_MeshTriPoint *_this, const MR_MeshTriPoint *_other)
 
MRC_API MR_VertId MR_MeshTriPoint_inVertex_1 (const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
 
MRC_API bool MR_MeshTriPoint_inVertex_0 (const MR_MeshTriPoint *_this)
 
MRC_API MR_EdgePointMR_MeshTriPoint_onEdge (const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
 
MRC_API bool MR_MeshTriPoint_isBd (const MR_MeshTriPoint *_this, const MR_MeshTopology *topology, const MR_FaceBitSet *region)
 
MRC_API bool MR_MeshTriPoint_fromTriangle (const MR_MeshTriPoint *_this, const MR_MeshTopology *topology, MR_FaceId f)
 
MRC_API bool MR_MeshTriPoint_valid (const MR_MeshTriPoint *_this)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_lnext (const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
 
MRC_API MR_MeshTriPointMR_MeshTriPoint_canonical (const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
 
MRC_API MR_std_array_MR_WeightedVertex_3MR_MeshTriPoint_getWeightedVerts (const MR_MeshTriPoint *_this, const MR_MeshTopology *topology)
 
MRC_API bool MR_equal_MR_MeshTriPoint (const MR_MeshTriPoint *_this, const MR_MeshTriPoint *rhs)
 
MRC_API bool MR_same_MR_MeshTriPoint (const MR_MeshTopology *topology, const MR_MeshTriPoint *lhs, const MR_MeshTriPoint *rhs)
 
MRC_API bool MR_fromSameTriangle_MR_MeshTriPoint_ref (const MR_MeshTopology *topology, MR_MeshTriPoint *a, MR_MeshTriPoint *b)
 
MRC_API bool MR_fromSameTriangle_MR_MeshTriPoint_rvalue_ref (const MR_MeshTopology *topology, MR_MeshTriPoint *a, MR_MeshTriPoint *b)
 
MRC_API MR_MeshTriPointMR_getVertexAsMeshTriPoint (const MR_MeshTopology *topology, MR_EdgeId e, MR_VertId v)
 

Typedef Documentation

◆ MR_EdgePoint

typedef struct MR_EdgePoint MR_EdgePoint

◆ MR_FaceBitSet

typedef struct MR_FaceBitSet MR_FaceBitSet

◆ MR_MeshTopology

◆ MR_MeshTriPoint

encodes a point inside a triangular mesh face using barycentric coordinates

Notations used below:
v0 - the value in org( e )
v1 - the value in dest( e )
v2 - the value in dest( next( e ) ) Generated from class MR::MeshTriPoint.

◆ MR_NoInit

typedef struct MR_NoInit MR_NoInit

◆ MR_std_array_MR_WeightedVertex_3

◆ MR_TriPointf

typedef struct MR_TriPointf MR_TriPointf

◆ MR_WeightedVertex

Generated from class MR::WeightedVertex.

Function Documentation

◆ MR_equal_MR_MeshTriPoint()

MRC_API bool MR_equal_MR_MeshTriPoint ( const MR_MeshTriPoint * _this,
const MR_MeshTriPoint * rhs )

returns true if two points are equal including equal not-unique representation Generated from a method of class MR::MeshTriPoint named operator==. Parameter _this can not be null. It is a single object. Parameter rhs can not be null. It is a single object.

◆ MR_fromSameTriangle_MR_MeshTriPoint_ref()

MRC_API bool MR_fromSameTriangle_MR_MeshTriPoint_ref ( const MR_MeshTopology * topology,
MR_MeshTriPoint * a,
MR_MeshTriPoint * b )

returns true if points a and b are located insides or on a boundary of the same triangle; if true a.e and b.e are updated to have that triangle on the left Generated from function MR::fromSameTriangle. Parameter topology can not be null. It is a single object. Parameter a can not be null. It is a single object. Parameter b can not be null. It is a single object.

◆ MR_fromSameTriangle_MR_MeshTriPoint_rvalue_ref()

MRC_API bool MR_fromSameTriangle_MR_MeshTriPoint_rvalue_ref ( const MR_MeshTopology * topology,
MR_MeshTriPoint * a,
MR_MeshTriPoint * b )

returns true if points a and b are located insides or on a boundary of the same triangle; if true a.e and b.e are updated to have that triangle on the left Generated from function MR::fromSameTriangle. Parameter topology can not be null. It is a single object. Parameter a can not be null. It is a single object. In C++ this parameter takes an rvalue reference: it might invalidate the passed object, but if your pointer is owning, you must still destroy it manually later. Parameter b can not be null. It is a single object. In C++ this parameter takes an rvalue reference: it might invalidate the passed object, but if your pointer is owning, you must still destroy it manually later.

◆ MR_getVertexAsMeshTriPoint()

MRC_API MR_MeshTriPoint * MR_getVertexAsMeshTriPoint ( const MR_MeshTopology * topology,
MR_EdgeId e,
MR_VertId v )

returns MeshTriPoint representation of given vertex with given edge field; or invalid MeshTriPoint if it is not possible Generated from function MR::getVertexAsMeshTriPoint. Parameter topology can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshTriPoint_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_AssignFromAnother()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_AssignFromAnother ( MR_MeshTriPoint * _this,
const MR_MeshTriPoint * _other )

Generated from a method of class MR::MeshTriPoint named 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_MeshTriPoint_canonical()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_canonical ( const MR_MeshTriPoint * _this,
const MR_MeshTopology * topology )

represents the same point relative to the topology.edgeWithLeft( topology.left( e ) ) Generated from a method of class MR::MeshTriPoint named canonical. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshTriPoint_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_Construct_1_MR_EdgePoint()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_Construct_1_MR_EdgePoint ( const MR_EdgePoint * ep)

Generated from a constructor of class MR::MeshTriPoint. Parameter ep can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshTriPoint_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_Construct_1_MR_NoInit()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_Construct_1_MR_NoInit ( const MR_NoInit * _1)

Generated from a constructor of class MR::MeshTriPoint. Parameter _1 can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshTriPoint_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_Construct_2_MR_EdgeId()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_Construct_2_MR_EdgeId ( MR_EdgeId e,
const MR_TriPointf * bary )

Generated from a constructor of class MR::MeshTriPoint. Parameter bary can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshTriPoint_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_Construct_2_MR_MeshTopology()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_Construct_2_MR_MeshTopology ( const MR_MeshTopology * topology,
MR_VertId v )

Generated from a constructor of class MR::MeshTriPoint. Parameter topology can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshTriPoint_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_ConstructFromAnother()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_ConstructFromAnother ( const MR_MeshTriPoint * _other)

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

◆ MR_MeshTriPoint_ConvertTo_bool()

MRC_API bool MR_MeshTriPoint_ConvertTo_bool ( const MR_MeshTriPoint * _this)

Generated from a conversion operator of class MR::MeshTriPoint to type bool. Parameter _this can not be null. It is a single object.

◆ MR_MeshTriPoint_DefaultConstruct()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_DefaultConstruct ( void )

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

◆ MR_MeshTriPoint_DefaultConstructArray()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_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_MeshTriPoint_DestroyArray(). Use MR_MeshTriPoint_OffsetMutablePtr() and MR_MeshTriPoint_OffsetPtr() to access the array elements.

◆ MR_MeshTriPoint_Destroy()

MRC_API void MR_MeshTriPoint_Destroy ( const MR_MeshTriPoint * _this)

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

◆ MR_MeshTriPoint_DestroyArray()

MRC_API void MR_MeshTriPoint_DestroyArray ( const MR_MeshTriPoint * _this)

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

◆ MR_MeshTriPoint_fromTriangle()

MRC_API bool MR_MeshTriPoint_fromTriangle ( const MR_MeshTriPoint * _this,
const MR_MeshTopology * topology,
MR_FaceId f )

returns true if the point is inside or on the boundary of given triangular face Generated from a method of class MR::MeshTriPoint named fromTriangle. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object.

◆ MR_MeshTriPoint_Get_bary()

MRC_API const MR_TriPointf * MR_MeshTriPoint_Get_bary ( const MR_MeshTriPoint * _this)

barycentric coordinates

a in [0,1], a=0 => point is on next( e ) edge, a=1 => point is in dest( e ) b in [0,1], b=0 => point is on e edge, b=1 => point is in dest( next( e ) ) a+b in [0,1], a+b=0 => point is in org( e ), a+b=1 => point is on prev( e.sym() ) edge Returns a pointer to a member variable of class MR::MeshTriPoint named bary. 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_MeshTriPoint_Get_e()

MRC_API const MR_EdgeId * MR_MeshTriPoint_Get_e ( const MR_MeshTriPoint * _this)

left face of this edge is considered Modifies a member variable of class MR::MeshTriPoint named e. Parameter _this can not be null. It is a single object.

◆ MR_MeshTriPoint_GetMutable_bary()

MRC_API MR_TriPointf * MR_MeshTriPoint_GetMutable_bary ( MR_MeshTriPoint * _this)

barycentric coordinates

a in [0,1], a=0 => point is on next( e ) edge, a=1 => point is in dest( e ) b in [0,1], b=0 => point is on e edge, b=1 => point is in dest( next( e ) ) a+b in [0,1], a+b=0 => point is in org( e ), a+b=1 => point is on prev( e.sym() ) edge Returns a mutable pointer to a member variable of class MR::MeshTriPoint named bary. 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_MeshTriPoint_GetMutable_e()

MRC_API MR_EdgeId * MR_MeshTriPoint_GetMutable_e ( MR_MeshTriPoint * _this)

◆ MR_MeshTriPoint_getWeightedVerts()

MRC_API MR_std_array_MR_WeightedVertex_3 * MR_MeshTriPoint_getWeightedVerts ( const MR_MeshTriPoint * _this,
const MR_MeshTopology * topology )

returns three weighted triangle's vertices with the sum of not-negative weights equal to 1, and the largest weight in the closest vertex Generated from a method of class MR::MeshTriPoint named getWeightedVerts. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_array_MR_WeightedVertex_3_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_inVertex_0()

MRC_API bool MR_MeshTriPoint_inVertex_0 ( const MR_MeshTriPoint * _this)

returns true if the point is in a vertex Generated from a method of class MR::MeshTriPoint named inVertex. Parameter _this can not be null. It is a single object.

◆ MR_MeshTriPoint_inVertex_1()

MRC_API MR_VertId MR_MeshTriPoint_inVertex_1 ( const MR_MeshTriPoint * _this,
const MR_MeshTopology * topology )

returns valid vertex id if the point is in vertex, otherwise returns invalid id Generated from a method of class MR::MeshTriPoint named inVertex. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object.

◆ MR_MeshTriPoint_isBd()

MRC_API bool MR_MeshTriPoint_isBd ( const MR_MeshTriPoint * _this,
const MR_MeshTopology * topology,
const MR_FaceBitSet * region )

returns true if the point is in vertex or on edge, and that location is on the boundary of the region Generated from a method of class MR::MeshTriPoint named isBd. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Parameter region defaults to a null pointer in C++.

◆ MR_MeshTriPoint_lnext()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_lnext ( const MR_MeshTriPoint * _this,
const MR_MeshTopology * topology )

represents the same point relative to next edge in the same triangle Generated from a method of class MR::MeshTriPoint named lnext. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshTriPoint_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_OffsetMutablePtr()

MRC_API MR_MeshTriPoint * MR_MeshTriPoint_OffsetMutablePtr ( MR_MeshTriPoint * 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_MeshTriPoint_OffsetPtr()

MRC_API const MR_MeshTriPoint * MR_MeshTriPoint_OffsetPtr ( const MR_MeshTriPoint * 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_MeshTriPoint_onEdge()

MRC_API MR_EdgePoint * MR_MeshTriPoint_onEdge ( const MR_MeshTriPoint * _this,
const MR_MeshTopology * topology )

returns valid value if the point is on edge and topology.left(result.e) == topology.left(this->e), otherwise returns invalid MeshEdgePoint Generated from a method of class MR::MeshTriPoint named onEdge. Parameter _this can not be null. It is a single object. Parameter topology can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_EdgePoint_Destroy() to free it when you're done using it.

◆ MR_MeshTriPoint_Set_bary()

MRC_API void MR_MeshTriPoint_Set_bary ( MR_MeshTriPoint * _this,
const MR_TriPointf * value )

barycentric coordinates

a in [0,1], a=0 => point is on next( e ) edge, a=1 => point is in dest( e ) b in [0,1], b=0 => point is on e edge, b=1 => point is in dest( next( e ) ) a+b in [0,1], a+b=0 => point is in org( e ), a+b=1 => point is on prev( e.sym() ) edge Modifies a member variable of class MR::MeshTriPoint named bary. Parameter _this can not be null. It is a single object. Parameter value can not be null. It is a single object.

◆ MR_MeshTriPoint_Set_e()

MRC_API void MR_MeshTriPoint_Set_e ( MR_MeshTriPoint * _this,
MR_EdgeId value )

left face of this edge is considered Returns a mutable pointer to a member variable of class MR::MeshTriPoint named e. 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_MeshTriPoint_valid()

MRC_API bool MR_MeshTriPoint_valid ( const MR_MeshTriPoint * _this)

consider this valid if the edge ID is valid Generated from a method of class MR::MeshTriPoint named valid. Parameter _this can not be null. It is a single object.

◆ MR_same_MR_MeshTriPoint()

MRC_API bool MR_same_MR_MeshTriPoint ( const MR_MeshTopology * topology,
const MR_MeshTriPoint * lhs,
const MR_MeshTriPoint * rhs )

returns true if two points are equal considering different representations Generated from function MR::same. Parameter topology can not be null. It is a single object. Parameter lhs can not be null. It is a single object. Parameter rhs can not be null. It is a single object.

◆ MR_WeightedVertex_AssignFromAnother()

MRC_API MR_WeightedVertex * MR_WeightedVertex_AssignFromAnother ( MR_WeightedVertex * _this,
const MR_WeightedVertex * _other )

Generated from a method of class MR::WeightedVertex named 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. left face of this edge is considered Returns a pointer to a member variable of class MR::MeshTriPoint named e. 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_WeightedVertex_ConstructFrom()

MRC_API MR_WeightedVertex * MR_WeightedVertex_ConstructFrom ( MR_VertId v,
float weight )

Constructs MR::WeightedVertex elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_WeightedVertex_Destroy() to free it when you're done using it.

◆ MR_WeightedVertex_ConstructFromAnother()

MRC_API MR_WeightedVertex * MR_WeightedVertex_ConstructFromAnother ( const MR_WeightedVertex * _other)

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

◆ MR_WeightedVertex_DefaultConstruct()

MRC_API MR_WeightedVertex * MR_WeightedVertex_DefaultConstruct ( void )

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

◆ MR_WeightedVertex_DefaultConstructArray()

MRC_API MR_WeightedVertex * MR_WeightedVertex_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_WeightedVertex_DestroyArray(). Use MR_WeightedVertex_OffsetMutablePtr() and MR_WeightedVertex_OffsetPtr() to access the array elements.

◆ MR_WeightedVertex_Destroy()

MRC_API void MR_WeightedVertex_Destroy ( const MR_WeightedVertex * _this)

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

◆ MR_WeightedVertex_DestroyArray()

MRC_API void MR_WeightedVertex_DestroyArray ( const MR_WeightedVertex * _this)

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

◆ MR_WeightedVertex_Get_v()

MRC_API const MR_VertId * MR_WeightedVertex_Get_v ( const MR_WeightedVertex * _this)

Returns a pointer to a member variable of class MR::WeightedVertex named v. 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_WeightedVertex_Get_weight()

MRC_API const float * MR_WeightedVertex_Get_weight ( const MR_WeightedVertex * _this)

Returns a pointer to a member variable of class MR::WeightedVertex named weight. 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_WeightedVertex_GetMutable_v()

MRC_API MR_VertId * MR_WeightedVertex_GetMutable_v ( MR_WeightedVertex * _this)

Returns a mutable pointer to a member variable of class MR::WeightedVertex named v. 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_WeightedVertex_GetMutable_weight()

MRC_API float * MR_WeightedVertex_GetMutable_weight ( MR_WeightedVertex * _this)

Returns a mutable pointer to a member variable of class MR::WeightedVertex named weight. 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_WeightedVertex_OffsetMutablePtr()

MRC_API MR_WeightedVertex * MR_WeightedVertex_OffsetMutablePtr ( MR_WeightedVertex * 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_WeightedVertex_OffsetPtr()

MRC_API const MR_WeightedVertex * MR_WeightedVertex_OffsetPtr ( const MR_WeightedVertex * 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_WeightedVertex_Set_v()

MRC_API void MR_WeightedVertex_Set_v ( MR_WeightedVertex * _this,
MR_VertId value )

Modifies a member variable of class MR::WeightedVertex named v. Parameter _this can not be null. It is a single object.

◆ MR_WeightedVertex_Set_weight()

MRC_API void MR_WeightedVertex_Set_weight ( MR_WeightedVertex * _this,
float value )

Modifies a member variable of class MR::WeightedVertex named weight. Parameter _this can not be null. It is a single object.