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>

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_FlaggedTri MR_VarEdgeTri_FlaggedTri
 
typedef struct MR_VarEdgeTri MR_VarEdgeTri
 

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)
 
MRC_API MR_EdgeTriMR_EdgeTri_OffsetMutablePtr (MR_EdgeTri *ptr, ptrdiff_t i)
 
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)
 
MRC_API MR_VarEdgeTriMR_VarEdgeTri_OffsetMutablePtr (MR_VarEdgeTri *ptr, ptrdiff_t i)
 
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)
 
MRC_API MR_VarEdgeTri_FlaggedTriMR_VarEdgeTri_FlaggedTri_OffsetMutablePtr (MR_VarEdgeTri_FlaggedTri *ptr, ptrdiff_t i)
 
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 int *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. 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_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. 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_VarEdgeTri_FlaggedTri

Generated from class MR::VarEdgeTri::FlaggedTri. 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_EdgeTri_AssignFromAnother()

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

Generated from method MR::EdgeTri::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 had previously.

◆ MR_EdgeTri_Construct()

MRC_API MR_EdgeTri * MR_EdgeTri_Construct ( MR_EdgeId e,
MR_FaceId t )

Generated from constructor MR::EdgeTri::EdgeTri. The reference to the parameter e might be preserved in the constructed object. The reference to the parameter t might be preserved in the constructed 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_ConstructFromAnother()

MRC_API MR_EdgeTri * MR_EdgeTri_ConstructFromAnother ( const MR_EdgeTri * _other)

Generated from constructor MR::EdgeTri::EdgeTri. 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_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. The reference to the parameter ptr might be preserved in the return value.

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

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

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

◆ 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 method MR::VarEdgeTri::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 method MR::VarEdgeTri::FlaggedTri::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 int * 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 method MR::VarEdgeTri::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 had previously.

◆ MR_VarEdgeTri_Construct_2()

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

Generated from constructor MR::VarEdgeTri::VarEdgeTri. Parameter et can not be null. It is a single object. The reference to the parameter et might be preserved in the constructed 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 constructor MR::VarEdgeTri::VarEdgeTri. The reference to the parameter e might be preserved in the constructed object. The reference to the parameter t might be preserved in the constructed 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_ConstructFromAnother()

MRC_API MR_VarEdgeTri * MR_VarEdgeTri_ConstructFromAnother ( const MR_VarEdgeTri * _other)

Generated from constructor MR::VarEdgeTri::VarEdgeTri. 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_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 conversion operator MR::VarEdgeTri::operator 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 method MR::VarEdgeTri::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 method MR::VarEdgeTri::FlaggedTri::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 had previously.

◆ MR_VarEdgeTri_FlaggedTri_ConstructFromAnother()

MRC_API MR_VarEdgeTri_FlaggedTri * MR_VarEdgeTri_FlaggedTri_ConstructFromAnother ( const MR_VarEdgeTri_FlaggedTri * _other)

Generated from constructor MR::VarEdgeTri::FlaggedTri::FlaggedTri. 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_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. The reference to the parameter ptr might be preserved in the return value.

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

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

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

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

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

◆ MR_VarEdgeTri_tri()

MRC_API MR_FaceId MR_VarEdgeTri_tri ( const MR_VarEdgeTri * _this)

Generated from method MR::VarEdgeTri::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 method MR::VarEdgeTri::valid. Parameter _this can not be null. It is a single object.