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

Go to the source code of this file.

Typedefs

typedef struct MR_AffineXf3f MR_AffineXf3f
 
typedef struct MR_CoordinateConverters MR_CoordinateConverters
 
typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_MeshPart MR_MeshPart
 
typedef struct MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref
 
typedef struct MR_std_vector_MR_EdgeId MR_std_vector_MR_EdgeId
 
typedef struct MR_std_vector_MR_EdgeTri MR_std_vector_MR_EdgeTri
 
typedef struct MR_std_vector_MR_FaceId MR_std_vector_MR_FaceId
 
typedef struct MR_std_vector_MR_VarEdgeTri MR_std_vector_MR_VarEdgeTri
 
typedef struct MR_EdgeTri MR_EdgeTri
 
typedef struct MR_VarEdgeTri MR_VarEdgeTri
 
typedef struct MR_VarEdgeTri_FlaggedTri MR_VarEdgeTri_FlaggedTri
 Generated from class MR::VarEdgeTri::FlaggedTri.
 

Functions

MRC_API const MR_EdgeIdMR_EdgeTri_Get_edge (const MR_EdgeTri *_this)
 
MRC_API void MR_EdgeTri_Set_edge (MR_EdgeTri *_this, MR_EdgeId value)
 
MRC_API MR_EdgeIdMR_EdgeTri_GetMutable_edge (MR_EdgeTri *_this)
 
MRC_API const MR_FaceIdMR_EdgeTri_Get_tri (const MR_EdgeTri *_this)
 
MRC_API void MR_EdgeTri_Set_tri (MR_EdgeTri *_this, MR_FaceId value)
 
MRC_API MR_FaceIdMR_EdgeTri_GetMutable_tri (MR_EdgeTri *_this)
 
MRC_API MR_EdgeTriMR_EdgeTri_DefaultConstruct (void)
 
MRC_API MR_EdgeTriMR_EdgeTri_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_EdgeTriMR_EdgeTri_OffsetPtr (const MR_EdgeTri *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_EdgeTriMR_EdgeTri_OffsetMutablePtr (MR_EdgeTri *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_EdgeTriMR_EdgeTri_ConstructFromAnother (const MR_EdgeTri *_other)
 
MRC_API MR_EdgeTriMR_EdgeTri_Construct (MR_EdgeId e, MR_FaceId t)
 
MRC_API void MR_EdgeTri_Destroy (const MR_EdgeTri *_this)
 Destroys a heap-allocated instance of MR_EdgeTri. Does nothing if the pointer is null.
 
MRC_API void MR_EdgeTri_DestroyArray (const MR_EdgeTri *_this)
 Destroys a heap-allocated array of MR_EdgeTri. Does nothing if the pointer is null.
 
MRC_API MR_EdgeTriMR_EdgeTri_AssignFromAnother (MR_EdgeTri *_this, const MR_EdgeTri *_other)
 
MRC_API bool MR_equal_MR_EdgeTri (const MR_EdgeTri *a, const MR_EdgeTri *b)
 
MRC_API const MR_EdgeIdMR_VarEdgeTri_Get_edge (const MR_VarEdgeTri *_this)
 
MRC_API void MR_VarEdgeTri_Set_edge (MR_VarEdgeTri *_this, MR_EdgeId value)
 
MRC_API MR_EdgeIdMR_VarEdgeTri_GetMutable_edge (MR_VarEdgeTri *_this)
 
MRC_API const MR_VarEdgeTri_FlaggedTriMR_VarEdgeTri_Get_flaggedTri (const MR_VarEdgeTri *_this)
 
MRC_API void MR_VarEdgeTri_Set_flaggedTri (MR_VarEdgeTri *_this, const MR_VarEdgeTri_FlaggedTri *value)
 
MRC_API MR_VarEdgeTri_FlaggedTriMR_VarEdgeTri_GetMutable_flaggedTri (MR_VarEdgeTri *_this)
 
MRC_API MR_VarEdgeTriMR_VarEdgeTri_DefaultConstruct (void)
 
MRC_API MR_VarEdgeTriMR_VarEdgeTri_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_VarEdgeTriMR_VarEdgeTri_OffsetPtr (const MR_VarEdgeTri *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_VarEdgeTriMR_VarEdgeTri_OffsetMutablePtr (MR_VarEdgeTri *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_VarEdgeTriMR_VarEdgeTri_ConstructFromAnother (const MR_VarEdgeTri *_other)
 
MRC_API MR_VarEdgeTriMR_VarEdgeTri_Construct_3 (bool isEdgeATriB, MR_EdgeId e, MR_FaceId t)
 
MRC_API MR_VarEdgeTriMR_VarEdgeTri_Construct_2 (bool isEdgeATriB, const MR_EdgeTri *et)
 
MRC_API void MR_VarEdgeTri_Destroy (const MR_VarEdgeTri *_this)
 Destroys a heap-allocated instance of MR_VarEdgeTri. Does nothing if the pointer is null.
 
MRC_API void MR_VarEdgeTri_DestroyArray (const MR_VarEdgeTri *_this)
 Destroys a heap-allocated array of MR_VarEdgeTri. Does nothing if the pointer is null.
 
MRC_API bool MR_VarEdgeTri_ConvertTo_bool (const MR_VarEdgeTri *_this)
 
MRC_API MR_VarEdgeTriMR_VarEdgeTri_AssignFromAnother (MR_VarEdgeTri *_this, const MR_VarEdgeTri *_other)
 
MRC_API MR_FaceId MR_VarEdgeTri_tri (const MR_VarEdgeTri *_this)
 
MRC_API bool MR_VarEdgeTri_isEdgeATriB (const MR_VarEdgeTri *_this)
 
MRC_API MR_EdgeTriMR_VarEdgeTri_edgeTri (const MR_VarEdgeTri *_this)
 
MRC_API bool MR_VarEdgeTri_valid (const MR_VarEdgeTri *_this)
 
MRC_API bool MR_equal_MR_VarEdgeTri (const MR_VarEdgeTri *_this, const MR_VarEdgeTri *_1)
 
MRC_API MR_VarEdgeTri_FlaggedTriMR_VarEdgeTri_FlaggedTri_DefaultConstruct (void)
 
MRC_API MR_VarEdgeTri_FlaggedTriMR_VarEdgeTri_FlaggedTri_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_VarEdgeTri_FlaggedTriMR_VarEdgeTri_FlaggedTri_OffsetPtr (const MR_VarEdgeTri_FlaggedTri *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_VarEdgeTri_FlaggedTriMR_VarEdgeTri_FlaggedTri_OffsetMutablePtr (MR_VarEdgeTri_FlaggedTri *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_VarEdgeTri_FlaggedTriMR_VarEdgeTri_FlaggedTri_ConstructFromAnother (const MR_VarEdgeTri_FlaggedTri *_other)
 
MRC_API void MR_VarEdgeTri_FlaggedTri_Destroy (const MR_VarEdgeTri_FlaggedTri *_this)
 Destroys a heap-allocated instance of MR_VarEdgeTri_FlaggedTri. Does nothing if the pointer is null.
 
MRC_API void MR_VarEdgeTri_FlaggedTri_DestroyArray (const MR_VarEdgeTri_FlaggedTri *_this)
 Destroys a heap-allocated array of MR_VarEdgeTri_FlaggedTri. Does nothing if the pointer is null.
 
MRC_API MR_VarEdgeTri_FlaggedTriMR_VarEdgeTri_FlaggedTri_AssignFromAnother (MR_VarEdgeTri_FlaggedTri *_this, const MR_VarEdgeTri_FlaggedTri *_other)
 
MRC_API bool MR_equal_MR_VarEdgeTri_FlaggedTri (const MR_VarEdgeTri_FlaggedTri *_this, const MR_VarEdgeTri_FlaggedTri *_1)
 
MRC_API MR_std_vector_MR_VarEdgeTriMR_findCollidingEdgeTrisPrecise_5 (const MR_MeshPart *a, const MR_MeshPart *b, MR_PassBy conv_pass_by, MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref *conv, const MR_AffineXf3f *rigidB2A, const bool *anyIntersection)
 finds all pairs of colliding edges from one mesh and triangle from another mesh
 
MRC_API MR_std_vector_MR_EdgeTriMR_findSelfCollidingEdgeTrisPrecise (const MR_MeshPart *mp, MR_PassBy conv_pass_by, MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref *conv, const bool *anyIntersection, const MR_AffineXf3f *rigidB2A, const int32_t *aVertSizes)
 finds all pairs of colliding edges and triangle within one mesh
 
MRC_API MR_std_vector_MR_EdgeTriMR_findCollidingEdgeTrisPrecise_6_std_vector_MR_EdgeId (const MR_Mesh *a, const MR_std_vector_MR_EdgeId *edgesA, const MR_Mesh *b, const MR_std_vector_MR_FaceId *facesB, MR_PassBy conv_pass_by, MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref *conv, const MR_AffineXf3f *rigidB2A)
 
MRC_API MR_std_vector_MR_EdgeTriMR_findCollidingEdgeTrisPrecise_6_std_vector_MR_FaceId (const MR_Mesh *a, const MR_std_vector_MR_FaceId *facesA, const MR_Mesh *b, const MR_std_vector_MR_EdgeId *edgesB, MR_PassBy conv_pass_by, MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref *conv, const MR_AffineXf3f *rigidB2A)
 
MRC_API MR_CoordinateConvertersMR_getVectorConverters_1 (const MR_MeshPart *a)
 creates simple converters from Vector3f to Vector3i and back in mesh part area range
 
MRC_API MR_CoordinateConvertersMR_getVectorConverters_3 (const MR_MeshPart *a, const MR_MeshPart *b, const MR_AffineXf3f *rigidB2A)
 creates simple converters from Vector3f to Vector3i and back in mesh parts area range
 

Typedef Documentation

◆ MR_AffineXf3f

typedef struct MR_AffineXf3f MR_AffineXf3f

◆ MR_CoordinateConverters

◆ MR_EdgeTri

typedef struct MR_EdgeTri MR_EdgeTri

edge from one mesh and triangle from another mesh Generated from class MR::EdgeTri.

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MeshPart

typedef struct MR_MeshPart MR_MeshPart

◆ MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref

◆ MR_std_vector_MR_EdgeId

◆ MR_std_vector_MR_EdgeTri

◆ MR_std_vector_MR_FaceId

◆ MR_std_vector_MR_VarEdgeTri

◆ MR_VarEdgeTri

typedef struct MR_VarEdgeTri MR_VarEdgeTri

if isEdgeATriB() == true, then stores edge from mesh A and triangle from mesh B if isEdgeATriB() == false, then stores edge from mesh B and triangle from mesh A Generated from class MR::VarEdgeTri.

◆ MR_VarEdgeTri_FlaggedTri

Function Documentation

◆ MR_EdgeTri_AssignFromAnother()

MRC_API MR_EdgeTri * MR_EdgeTri_AssignFromAnother ( MR_EdgeTri * _this,
const MR_EdgeTri * _other )

Generated from a method of class MR::EdgeTri 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_EdgeTri_Construct()

MRC_API MR_EdgeTri * MR_EdgeTri_Construct ( MR_EdgeId e,
MR_FaceId t )

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

◆ MR_EdgeTri_ConstructFromAnother()

MRC_API MR_EdgeTri * MR_EdgeTri_ConstructFromAnother ( const MR_EdgeTri * _other)

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

◆ MR_EdgeTri_DefaultConstruct()

MRC_API MR_EdgeTri * MR_EdgeTri_DefaultConstruct ( void )

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

◆ MR_EdgeTri_DefaultConstructArray()

MRC_API MR_EdgeTri * MR_EdgeTri_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_EdgeTri_DestroyArray(). Use MR_EdgeTri_OffsetMutablePtr() and MR_EdgeTri_OffsetPtr() to access the array elements.

◆ MR_EdgeTri_Destroy()

MRC_API void MR_EdgeTri_Destroy ( const MR_EdgeTri * _this)

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

◆ MR_EdgeTri_DestroyArray()

MRC_API void MR_EdgeTri_DestroyArray ( const MR_EdgeTri * _this)

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

◆ MR_EdgeTri_Get_edge()

MRC_API const MR_EdgeId * MR_EdgeTri_Get_edge ( const MR_EdgeTri * _this)

Returns a pointer to a member variable of class MR::EdgeTri named edge. 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_EdgeTri_Get_tri()

MRC_API const MR_FaceId * MR_EdgeTri_Get_tri ( const MR_EdgeTri * _this)

Returns a pointer to a member variable of class MR::EdgeTri named tri. 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_EdgeTri_GetMutable_edge()

MRC_API MR_EdgeId * MR_EdgeTri_GetMutable_edge ( MR_EdgeTri * _this)

Returns a mutable pointer to a member variable of class MR::EdgeTri named edge. 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_EdgeTri_GetMutable_tri()

MRC_API MR_FaceId * MR_EdgeTri_GetMutable_tri ( MR_EdgeTri * _this)

Returns a mutable pointer to a member variable of class MR::EdgeTri named tri. 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_EdgeTri_OffsetMutablePtr()

MRC_API MR_EdgeTri * MR_EdgeTri_OffsetMutablePtr ( MR_EdgeTri * 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_EdgeTri_OffsetPtr()

MRC_API const MR_EdgeTri * MR_EdgeTri_OffsetPtr ( const MR_EdgeTri * 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_EdgeTri_Set_edge()

MRC_API void MR_EdgeTri_Set_edge ( MR_EdgeTri * _this,
MR_EdgeId value )

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

◆ MR_EdgeTri_Set_tri()

MRC_API void MR_EdgeTri_Set_tri ( MR_EdgeTri * _this,
MR_FaceId value )

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

◆ MR_equal_MR_EdgeTri()

MRC_API bool MR_equal_MR_EdgeTri ( const MR_EdgeTri * a,
const MR_EdgeTri * b )

Generated from function MR::operator==. Parameter a can not be null. It is a single object. Parameter b can not be null. It is a single object.

◆ MR_equal_MR_VarEdgeTri()

MRC_API bool MR_equal_MR_VarEdgeTri ( const MR_VarEdgeTri * _this,
const MR_VarEdgeTri * _1 )

Generated from a method of class MR::VarEdgeTri named operator==. Parameter _this can not be null. It is a single object. Parameter _1 can not be null. It is a single object.

◆ MR_equal_MR_VarEdgeTri_FlaggedTri()

MRC_API bool MR_equal_MR_VarEdgeTri_FlaggedTri ( const MR_VarEdgeTri_FlaggedTri * _this,
const MR_VarEdgeTri_FlaggedTri * _1 )

Generated from a method of class MR::VarEdgeTri::FlaggedTri named operator==. Parameter _this can not be null. It is a single object. Parameter _1 can not be null. It is a single object.

◆ MR_findCollidingEdgeTrisPrecise_5()

MRC_API MR_std_vector_MR_VarEdgeTri * MR_findCollidingEdgeTrisPrecise_5 ( const MR_MeshPart * a,
const MR_MeshPart * b,
MR_PassBy conv_pass_by,
MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref * conv,
const MR_AffineXf3f * rigidB2A,
const bool * anyIntersection )

finds all pairs of colliding edges from one mesh and triangle from another mesh

Parameters
rigidB2Arigid transformation from B-mesh space to A mesh space, nullptr considered as identity transformation
anyIntersectionif true then the function returns as fast as it finds any intersection Generated from function MR::findCollidingEdgeTrisPrecise. Parameter a can not be null. It is a single object. Parameter b can not be null. It is a single object. Parameter rigidB2A defaults to a null pointer in C++. Parameter anyIntersection has a default argument: false, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_VarEdgeTri_Destroy() to free it when you're done using it.

◆ MR_findCollidingEdgeTrisPrecise_6_std_vector_MR_EdgeId()

MRC_API MR_std_vector_MR_EdgeTri * MR_findCollidingEdgeTrisPrecise_6_std_vector_MR_EdgeId ( const MR_Mesh * a,
const MR_std_vector_MR_EdgeId * edgesA,
const MR_Mesh * b,
const MR_std_vector_MR_FaceId * facesB,
MR_PassBy conv_pass_by,
MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref * conv,
const MR_AffineXf3f * rigidB2A )

finds all intersections between every given edge from A and given triangles from B Generated from function MR::findCollidingEdgeTrisPrecise. Parameter a can not be null. It is a single object. Parameter edgesA can not be null. It is a single object. Parameter b can not be null. It is a single object. Parameter facesB can not be null. It is a single object. Parameter rigidB2A defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_EdgeTri_Destroy() to free it when you're done using it.

◆ MR_findCollidingEdgeTrisPrecise_6_std_vector_MR_FaceId()

MRC_API MR_std_vector_MR_EdgeTri * MR_findCollidingEdgeTrisPrecise_6_std_vector_MR_FaceId ( const MR_Mesh * a,
const MR_std_vector_MR_FaceId * facesA,
const MR_Mesh * b,
const MR_std_vector_MR_EdgeId * edgesB,
MR_PassBy conv_pass_by,
MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref * conv,
const MR_AffineXf3f * rigidB2A )

finds all intersections between every given triangle from A and given edge from B Generated from function MR::findCollidingEdgeTrisPrecise. Parameter a can not be null. It is a single object. Parameter facesA can not be null. It is a single object. Parameter b can not be null. It is a single object. Parameter edgesB can not be null. It is a single object. Parameter rigidB2A defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_EdgeTri_Destroy() to free it when you're done using it.

◆ MR_findSelfCollidingEdgeTrisPrecise()

MRC_API MR_std_vector_MR_EdgeTri * MR_findSelfCollidingEdgeTrisPrecise ( const MR_MeshPart * mp,
MR_PassBy conv_pass_by,
MR_std_function_MR_Vector3i_from_const_MR_Vector3f_ref * conv,
const bool * anyIntersection,
const MR_AffineXf3f * rigidB2A,
const int32_t * aVertSizes )

finds all pairs of colliding edges and triangle within one mesh

Parameters
anyIntersectionif true then the function returns as fast as it finds any intersection
rigidB2Arigid transformation from B-mesh space to A mesh space, nullptr considered as identity transformation, might be useful to obtain same result as in boolean operation would for mesh B
aVertsSizeused in float to int conversion, might be useful to obtain same result as in boolean operation would for mesh B Generated from function MR::findSelfCollidingEdgeTrisPrecise. Parameter mp can not be null. It is a single object. Parameter anyIntersection has a default argument: false, pass a null pointer to use it. Parameter rigidB2A defaults to a null pointer in C++. Parameter aVertSizes has a default argument: 0, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_EdgeTri_Destroy() to free it when you're done using it.

◆ MR_getVectorConverters_1()

MRC_API MR_CoordinateConverters * MR_getVectorConverters_1 ( const MR_MeshPart * a)

creates simple converters from Vector3f to Vector3i and back in mesh part area range

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

◆ MR_getVectorConverters_3()

MRC_API MR_CoordinateConverters * MR_getVectorConverters_3 ( const MR_MeshPart * a,
const MR_MeshPart * b,
const MR_AffineXf3f * rigidB2A )

creates simple converters from Vector3f to Vector3i and back in mesh parts area range

Parameters
rigidB2Arigid transformation from B-mesh space to A mesh space, nullptr considered as identity transformation Generated from function MR::getVectorConverters. Parameter a can not be null. It is a single object. Parameter b can not be null. It is a single object. Parameter rigidB2A defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_CoordinateConverters_Destroy() to free it when you're done using it.

◆ MR_VarEdgeTri_AssignFromAnother()

MRC_API MR_VarEdgeTri * MR_VarEdgeTri_AssignFromAnother ( MR_VarEdgeTri * _this,
const MR_VarEdgeTri * _other )

Generated from a method of class MR::VarEdgeTri 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_VarEdgeTri_Construct_2()

MRC_API MR_VarEdgeTri * MR_VarEdgeTri_Construct_2 ( bool isEdgeATriB,
const MR_EdgeTri * et )

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

◆ MR_VarEdgeTri_Construct_3()

MRC_API MR_VarEdgeTri * MR_VarEdgeTri_Construct_3 ( bool isEdgeATriB,
MR_EdgeId e,
MR_FaceId t )

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

◆ MR_VarEdgeTri_ConstructFromAnother()

MRC_API MR_VarEdgeTri * MR_VarEdgeTri_ConstructFromAnother ( const MR_VarEdgeTri * _other)

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

◆ MR_VarEdgeTri_ConvertTo_bool()

MRC_API bool MR_VarEdgeTri_ConvertTo_bool ( const MR_VarEdgeTri * _this)

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

◆ MR_VarEdgeTri_DefaultConstruct()

MRC_API MR_VarEdgeTri * MR_VarEdgeTri_DefaultConstruct ( void )

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

◆ MR_VarEdgeTri_DefaultConstructArray()

MRC_API MR_VarEdgeTri * MR_VarEdgeTri_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_VarEdgeTri_DestroyArray(). Use MR_VarEdgeTri_OffsetMutablePtr() and MR_VarEdgeTri_OffsetPtr() to access the array elements.

◆ MR_VarEdgeTri_Destroy()

MRC_API void MR_VarEdgeTri_Destroy ( const MR_VarEdgeTri * _this)

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

◆ MR_VarEdgeTri_DestroyArray()

MRC_API void MR_VarEdgeTri_DestroyArray ( const MR_VarEdgeTri * _this)

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

◆ MR_VarEdgeTri_edgeTri()

MRC_API MR_EdgeTri * MR_VarEdgeTri_edgeTri ( const MR_VarEdgeTri * _this)

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

◆ MR_VarEdgeTri_FlaggedTri_AssignFromAnother()

MRC_API MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_FlaggedTri_AssignFromAnother ( MR_VarEdgeTri_FlaggedTri * _this,
const MR_VarEdgeTri_FlaggedTri * _other )

Generated from a method of class MR::VarEdgeTri::FlaggedTri 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_VarEdgeTri_FlaggedTri_ConstructFromAnother()

MRC_API MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_FlaggedTri_ConstructFromAnother ( const MR_VarEdgeTri_FlaggedTri * _other)

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

◆ MR_VarEdgeTri_FlaggedTri_DefaultConstruct()

MRC_API MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_FlaggedTri_DefaultConstruct ( void )

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

◆ MR_VarEdgeTri_FlaggedTri_DefaultConstructArray()

MRC_API MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_FlaggedTri_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_VarEdgeTri_FlaggedTri_DestroyArray(). Use MR_VarEdgeTri_FlaggedTri_OffsetMutablePtr() and MR_VarEdgeTri_FlaggedTri_OffsetPtr() to access the array elements.

◆ MR_VarEdgeTri_FlaggedTri_Destroy()

MRC_API void MR_VarEdgeTri_FlaggedTri_Destroy ( const MR_VarEdgeTri_FlaggedTri * _this)

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

◆ MR_VarEdgeTri_FlaggedTri_DestroyArray()

MRC_API void MR_VarEdgeTri_FlaggedTri_DestroyArray ( const MR_VarEdgeTri_FlaggedTri * _this)

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

◆ MR_VarEdgeTri_FlaggedTri_OffsetMutablePtr()

MRC_API MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_FlaggedTri_OffsetMutablePtr ( MR_VarEdgeTri_FlaggedTri * 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_VarEdgeTri_FlaggedTri_OffsetPtr()

MRC_API const MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_FlaggedTri_OffsetPtr ( const MR_VarEdgeTri_FlaggedTri * 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_VarEdgeTri_Get_edge()

MRC_API const MR_EdgeId * MR_VarEdgeTri_Get_edge ( const MR_VarEdgeTri * _this)

Returns a pointer to a member variable of class MR::VarEdgeTri named edge. 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_VarEdgeTri_Get_flaggedTri()

MRC_API const MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_Get_flaggedTri ( const MR_VarEdgeTri * _this)

Returns a pointer to a member variable of class MR::VarEdgeTri named flaggedTri. 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_VarEdgeTri_GetMutable_edge()

MRC_API MR_EdgeId * MR_VarEdgeTri_GetMutable_edge ( MR_VarEdgeTri * _this)

Returns a mutable pointer to a member variable of class MR::VarEdgeTri named edge. 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_VarEdgeTri_GetMutable_flaggedTri()

MRC_API MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_GetMutable_flaggedTri ( MR_VarEdgeTri * _this)

Returns a mutable pointer to a member variable of class MR::VarEdgeTri named flaggedTri. 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_VarEdgeTri_isEdgeATriB()

MRC_API bool MR_VarEdgeTri_isEdgeATriB ( const MR_VarEdgeTri * _this)

Generated from a method of class MR::VarEdgeTri named isEdgeATriB. Parameter _this can not be null. It is a single object.

◆ MR_VarEdgeTri_OffsetMutablePtr()

MRC_API MR_VarEdgeTri * MR_VarEdgeTri_OffsetMutablePtr ( MR_VarEdgeTri * 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_VarEdgeTri_OffsetPtr()

MRC_API const MR_VarEdgeTri * MR_VarEdgeTri_OffsetPtr ( const MR_VarEdgeTri * 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_VarEdgeTri_Set_edge()

MRC_API void MR_VarEdgeTri_Set_edge ( MR_VarEdgeTri * _this,
MR_EdgeId value )

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

◆ MR_VarEdgeTri_Set_flaggedTri()

MRC_API void MR_VarEdgeTri_Set_flaggedTri ( MR_VarEdgeTri * _this,
const MR_VarEdgeTri_FlaggedTri * value )

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

◆ MR_VarEdgeTri_tri()

MRC_API MR_FaceId MR_VarEdgeTri_tri ( const MR_VarEdgeTri * _this)

Generated from a method of class MR::VarEdgeTri named tri. Parameter _this can not be null. It is a single object.

◆ MR_VarEdgeTri_valid()

MRC_API bool MR_VarEdgeTri_valid ( const MR_VarEdgeTri * _this)

Generated from a method of class MR::VarEdgeTri named valid. Parameter _this can not be null. It is a single object.