MeshLib C Docs
Loading...
Searching...
No Matches
MRIdentifyVertices.h File Reference
#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_Triangulation MR_Triangulation
 
typedef struct MR_Vector3f MR_Vector3f
 
typedef struct MR_VertCoords MR_VertCoords
 
typedef struct MR_std_vector_std_array_MR_Vector3f_3 MR_std_vector_std_array_MR_Vector3f_3
 
typedef struct MR_MeshBuilder_equalVector3f MR_MeshBuilder_equalVector3f
 
typedef struct MR_MeshBuilder_VertexIdentifier MR_MeshBuilder_VertexIdentifier
 

Functions

MRC_API MR_MeshBuilder_equalVector3fMR_MeshBuilder_equalVector3f_DefaultConstruct (void)
 
MRC_API MR_MeshBuilder_equalVector3fMR_MeshBuilder_equalVector3f_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_MeshBuilder_equalVector3fMR_MeshBuilder_equalVector3f_OffsetPtr (const MR_MeshBuilder_equalVector3f *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_MeshBuilder_equalVector3fMR_MeshBuilder_equalVector3f_OffsetMutablePtr (MR_MeshBuilder_equalVector3f *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_MeshBuilder_equalVector3fMR_MeshBuilder_equalVector3f_ConstructFromAnother (const MR_MeshBuilder_equalVector3f *_other)
 
MRC_API void MR_MeshBuilder_equalVector3f_Destroy (const MR_MeshBuilder_equalVector3f *_this)
 Destroys a heap-allocated instance of MR_MeshBuilder_equalVector3f. Does nothing if the pointer is null.
 
MRC_API void MR_MeshBuilder_equalVector3f_DestroyArray (const MR_MeshBuilder_equalVector3f *_this)
 Destroys a heap-allocated array of MR_MeshBuilder_equalVector3f. Does nothing if the pointer is null.
 
MRC_API MR_MeshBuilder_equalVector3fMR_MeshBuilder_equalVector3f_AssignFromAnother (MR_MeshBuilder_equalVector3f *_this, const MR_MeshBuilder_equalVector3f *_other)
 
MRC_API bool MR_MeshBuilder_equalVector3f_call (const MR_MeshBuilder_equalVector3f *_this, const MR_Vector3f *a, const MR_Vector3f *b)
 
MRC_API MR_MeshBuilder_VertexIdentifierMR_MeshBuilder_VertexIdentifier_DefaultConstruct (void)
 
MRC_API MR_MeshBuilder_VertexIdentifierMR_MeshBuilder_VertexIdentifier_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_MeshBuilder_VertexIdentifierMR_MeshBuilder_VertexIdentifier_OffsetPtr (const MR_MeshBuilder_VertexIdentifier *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_MeshBuilder_VertexIdentifierMR_MeshBuilder_VertexIdentifier_OffsetMutablePtr (MR_MeshBuilder_VertexIdentifier *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_MeshBuilder_VertexIdentifierMR_MeshBuilder_VertexIdentifier_ConstructFromAnother (MR_PassBy _other_pass_by, MR_MeshBuilder_VertexIdentifier *_other)
 
MRC_API void MR_MeshBuilder_VertexIdentifier_Destroy (const MR_MeshBuilder_VertexIdentifier *_this)
 Destroys a heap-allocated instance of MR_MeshBuilder_VertexIdentifier. Does nothing if the pointer is null.
 
MRC_API void MR_MeshBuilder_VertexIdentifier_DestroyArray (const MR_MeshBuilder_VertexIdentifier *_this)
 Destroys a heap-allocated array of MR_MeshBuilder_VertexIdentifier. Does nothing if the pointer is null.
 
MRC_API MR_MeshBuilder_VertexIdentifierMR_MeshBuilder_VertexIdentifier_AssignFromAnother (MR_MeshBuilder_VertexIdentifier *_this, MR_PassBy _other_pass_by, MR_MeshBuilder_VertexIdentifier *_other)
 
MRC_API void MR_MeshBuilder_VertexIdentifier_reserve (MR_MeshBuilder_VertexIdentifier *_this, MR_uint64_t numTris)
 
MRC_API void MR_MeshBuilder_VertexIdentifier_addTriangles (MR_MeshBuilder_VertexIdentifier *_this, const MR_std_vector_std_array_MR_Vector3f_3 *buffer)
 
MRC_API MR_uint64_t MR_MeshBuilder_VertexIdentifier_numTris (const MR_MeshBuilder_VertexIdentifier *_this)
 
MRC_API MR_TriangulationMR_MeshBuilder_VertexIdentifier_takeTriangulation (MR_MeshBuilder_VertexIdentifier *_this)
 
MRC_API MR_VertCoordsMR_MeshBuilder_VertexIdentifier_takePoints (MR_MeshBuilder_VertexIdentifier *_this)
 

Typedef Documentation

◆ MR_MeshBuilder_equalVector3f

this makes bit-wise comparison of two Vector3f's thus making two NaNs equal Generated from class MR::MeshBuilder::equalVector3f.

◆ MR_MeshBuilder_VertexIdentifier

this class is responsible for giving a unique id to each vertex with distinct coordinates NOTE: the points are considered non-identical if they have the same values but have zero values with different signs (e.g. (0; 0; 1) and (-0; 0; 1)) use Vector3::unsignZeroValues method to get rid of signed zero values if you're unsure of their absence Generated from class MR::MeshBuilder::VertexIdentifier.

◆ MR_std_vector_std_array_MR_Vector3f_3

◆ MR_Triangulation

◆ MR_Vector3f

typedef struct MR_Vector3f MR_Vector3f

◆ MR_VertCoords

typedef struct MR_VertCoords MR_VertCoords

Function Documentation

◆ MR_MeshBuilder_equalVector3f_AssignFromAnother()

MRC_API MR_MeshBuilder_equalVector3f * MR_MeshBuilder_equalVector3f_AssignFromAnother ( MR_MeshBuilder_equalVector3f * _this,
const MR_MeshBuilder_equalVector3f * _other )

Generated from a method of class MR::MeshBuilder::equalVector3f 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_MeshBuilder_equalVector3f_call()

MRC_API bool MR_MeshBuilder_equalVector3f_call ( const MR_MeshBuilder_equalVector3f * _this,
const MR_Vector3f * a,
const MR_Vector3f * b )

Generated from a method of class MR::MeshBuilder::equalVector3f named operator(). Parameter _this 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_MeshBuilder_equalVector3f_ConstructFromAnother()

MRC_API MR_MeshBuilder_equalVector3f * MR_MeshBuilder_equalVector3f_ConstructFromAnother ( const MR_MeshBuilder_equalVector3f * _other)

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

◆ MR_MeshBuilder_equalVector3f_DefaultConstruct()

MRC_API MR_MeshBuilder_equalVector3f * MR_MeshBuilder_equalVector3f_DefaultConstruct ( void )

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

◆ MR_MeshBuilder_equalVector3f_DefaultConstructArray()

MRC_API MR_MeshBuilder_equalVector3f * MR_MeshBuilder_equalVector3f_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_MeshBuilder_equalVector3f_DestroyArray(). Use MR_MeshBuilder_equalVector3f_OffsetMutablePtr() and MR_MeshBuilder_equalVector3f_OffsetPtr() to access the array elements.

◆ MR_MeshBuilder_equalVector3f_Destroy()

MRC_API void MR_MeshBuilder_equalVector3f_Destroy ( const MR_MeshBuilder_equalVector3f * _this)

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

◆ MR_MeshBuilder_equalVector3f_DestroyArray()

MRC_API void MR_MeshBuilder_equalVector3f_DestroyArray ( const MR_MeshBuilder_equalVector3f * _this)

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

◆ MR_MeshBuilder_equalVector3f_OffsetMutablePtr()

MRC_API MR_MeshBuilder_equalVector3f * MR_MeshBuilder_equalVector3f_OffsetMutablePtr ( MR_MeshBuilder_equalVector3f * 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_MeshBuilder_equalVector3f_OffsetPtr()

MRC_API const MR_MeshBuilder_equalVector3f * MR_MeshBuilder_equalVector3f_OffsetPtr ( const MR_MeshBuilder_equalVector3f * 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_MeshBuilder_VertexIdentifier_addTriangles()

MRC_API void MR_MeshBuilder_VertexIdentifier_addTriangles ( MR_MeshBuilder_VertexIdentifier * _this,
const MR_std_vector_std_array_MR_Vector3f_3 * buffer )

identifies vertices from a chunk of triangles Generated from a method of class MR::MeshBuilder::VertexIdentifier named addTriangles. Parameter _this can not be null. It is a single object. Parameter buffer can not be null. It is a single object.

◆ MR_MeshBuilder_VertexIdentifier_AssignFromAnother()

MRC_API MR_MeshBuilder_VertexIdentifier * MR_MeshBuilder_VertexIdentifier_AssignFromAnother ( MR_MeshBuilder_VertexIdentifier * _this,
MR_PassBy _other_pass_by,
MR_MeshBuilder_VertexIdentifier * _other )

Generated from a method of class MR::MeshBuilder::VertexIdentifier named 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_MeshBuilder_VertexIdentifier_ConstructFromAnother()

MRC_API MR_MeshBuilder_VertexIdentifier * MR_MeshBuilder_VertexIdentifier_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_MeshBuilder_VertexIdentifier * _other )

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

◆ MR_MeshBuilder_VertexIdentifier_DefaultConstruct()

MRC_API MR_MeshBuilder_VertexIdentifier * MR_MeshBuilder_VertexIdentifier_DefaultConstruct ( void )

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

◆ MR_MeshBuilder_VertexIdentifier_DefaultConstructArray()

MRC_API MR_MeshBuilder_VertexIdentifier * MR_MeshBuilder_VertexIdentifier_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_MeshBuilder_VertexIdentifier_DestroyArray(). Use MR_MeshBuilder_VertexIdentifier_OffsetMutablePtr() and MR_MeshBuilder_VertexIdentifier_OffsetPtr() to access the array elements.

◆ MR_MeshBuilder_VertexIdentifier_Destroy()

MRC_API void MR_MeshBuilder_VertexIdentifier_Destroy ( const MR_MeshBuilder_VertexIdentifier * _this)

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

◆ MR_MeshBuilder_VertexIdentifier_DestroyArray()

MRC_API void MR_MeshBuilder_VertexIdentifier_DestroyArray ( const MR_MeshBuilder_VertexIdentifier * _this)

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

◆ MR_MeshBuilder_VertexIdentifier_numTris()

MRC_API MR_uint64_t MR_MeshBuilder_VertexIdentifier_numTris ( const MR_MeshBuilder_VertexIdentifier * _this)

returns the number of triangles added so far Generated from a method of class MR::MeshBuilder::VertexIdentifier named numTris. Parameter _this can not be null. It is a single object.

◆ MR_MeshBuilder_VertexIdentifier_OffsetMutablePtr()

MRC_API MR_MeshBuilder_VertexIdentifier * MR_MeshBuilder_VertexIdentifier_OffsetMutablePtr ( MR_MeshBuilder_VertexIdentifier * 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_MeshBuilder_VertexIdentifier_OffsetPtr()

MRC_API const MR_MeshBuilder_VertexIdentifier * MR_MeshBuilder_VertexIdentifier_OffsetPtr ( const MR_MeshBuilder_VertexIdentifier * 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_MeshBuilder_VertexIdentifier_reserve()

MRC_API void MR_MeshBuilder_VertexIdentifier_reserve ( MR_MeshBuilder_VertexIdentifier * _this,
MR_uint64_t numTris )

prepare identification of vertices from given this number of triangles Generated from a method of class MR::MeshBuilder::VertexIdentifier named reserve. Parameter _this can not be null. It is a single object.

◆ MR_MeshBuilder_VertexIdentifier_takePoints()

MRC_API MR_VertCoords * MR_MeshBuilder_VertexIdentifier_takePoints ( MR_MeshBuilder_VertexIdentifier * _this)

obtains coordinates of unique points in the order of vertex ids Generated from a method of class MR::MeshBuilder::VertexIdentifier named takePoints. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_VertCoords_Destroy() to free it when you're done using it.

◆ MR_MeshBuilder_VertexIdentifier_takeTriangulation()

MRC_API MR_Triangulation * MR_MeshBuilder_VertexIdentifier_takeTriangulation ( MR_MeshBuilder_VertexIdentifier * _this)

obtains triangulation with vertex ids Generated from a method of class MR::MeshBuilder::VertexIdentifier named takeTriangulation. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Triangulation_Destroy() to free it when you're done using it.