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

Go to the source code of this file.

Typedefs

typedef struct MR_Triangulation MR_Triangulation
 
typedef struct MR_Vector_MR_VoxelId_MR_FaceId MR_Vector_MR_VoxelId_MR_FaceId
 
typedef struct MR_VertCoords MR_VertCoords
 
typedef struct MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t
 
typedef struct MR_std_array_MR_VertId_3 MR_std_array_MR_VertId_3
 
typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
 
typedef enum MR_NeighborDir MR_NeighborDir
 
typedef struct MR_SeparationPointStorage_Block MR_SeparationPointStorage_Block
 
typedef struct MR_SeparationPointStorage MR_SeparationPointStorage
 

Enumerations

enum  MR_NeighborDir { MR_NeighborDir_X = 0 , MR_NeighborDir_Y = 1 , MR_NeighborDir_Z = 2 , MR_NeighborDir_Count = 3 }
 

Functions

MRC_API MR_SeparationPointStorageMR_SeparationPointStorage_DefaultConstruct (void)
 
MRC_API MR_SeparationPointStorageMR_SeparationPointStorage_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_SeparationPointStorageMR_SeparationPointStorage_OffsetPtr (const MR_SeparationPointStorage *ptr, ptrdiff_t i)
 
MRC_API MR_SeparationPointStorageMR_SeparationPointStorage_OffsetMutablePtr (MR_SeparationPointStorage *ptr, ptrdiff_t i)
 
MRC_API MR_SeparationPointStorageMR_SeparationPointStorage_ConstructFromAnother (MR_PassBy _other_pass_by, MR_SeparationPointStorage *_other)
 
MRC_API void MR_SeparationPointStorage_Destroy (const MR_SeparationPointStorage *_this)
 Destroys a heap-allocated instance of MR_SeparationPointStorage. Does nothing if the pointer is null.
 
MRC_API void MR_SeparationPointStorage_DestroyArray (const MR_SeparationPointStorage *_this)
 Destroys a heap-allocated array of MR_SeparationPointStorage. Does nothing if the pointer is null.
 
MRC_API MR_SeparationPointStorageMR_SeparationPointStorage_AssignFromAnother (MR_SeparationPointStorage *_this, MR_PassBy _other_pass_by, MR_SeparationPointStorage *_other)
 
MRC_API void MR_SeparationPointStorage_resize (MR_SeparationPointStorage *_this, MR_uint64_t blockCount, MR_uint64_t blockSize)
 
MRC_API MR_SeparationPointStorage_BlockMR_SeparationPointStorage_getBlock (MR_SeparationPointStorage *_this, MR_uint64_t blockIndex)
 
MRC_API int MR_SeparationPointStorage_makeUniqueVids (MR_SeparationPointStorage *_this)
 
MRC_API const MR_std_array_MR_VertId_3MR_SeparationPointStorage_findSeparationPointSet (const MR_SeparationPointStorage *_this, MR_uint64_t voxelId)
 
MRC_API MR_TriangulationMR_SeparationPointStorage_getTriangulation (const MR_SeparationPointStorage *_this, MR_Vector_MR_VoxelId_MR_FaceId *outVoxelPerFaceMap)
 
MRC_API void MR_SeparationPointStorage_getPoints (const MR_SeparationPointStorage *_this, MR_VertCoords *points)
 
MRC_API const MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_tMR_SeparationPointStorage_Block_Get_smap (const MR_SeparationPointStorage_Block *_this)
 
MRC_API void MR_SeparationPointStorage_Block_Set_smap (MR_SeparationPointStorage_Block *_this, MR_PassBy value_pass_by, MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t *value)
 
MRC_API MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_tMR_SeparationPointStorage_Block_GetMutable_smap (MR_SeparationPointStorage_Block *_this)
 
MRC_API const MR_std_vector_MR_Vector3fMR_SeparationPointStorage_Block_Get_coords (const MR_SeparationPointStorage_Block *_this)
 
MRC_API void MR_SeparationPointStorage_Block_Set_coords (MR_SeparationPointStorage_Block *_this, MR_PassBy value_pass_by, MR_std_vector_MR_Vector3f *value)
 
MRC_API MR_std_vector_MR_Vector3fMR_SeparationPointStorage_Block_GetMutable_coords (MR_SeparationPointStorage_Block *_this)
 
MRC_API const MR_VertIdMR_SeparationPointStorage_Block_Get_shift (const MR_SeparationPointStorage_Block *_this)
 
MRC_API void MR_SeparationPointStorage_Block_Set_shift (MR_SeparationPointStorage_Block *_this, MR_VertId value)
 
MRC_API MR_VertIdMR_SeparationPointStorage_Block_GetMutable_shift (MR_SeparationPointStorage_Block *_this)
 
MRC_API const MR_TriangulationMR_SeparationPointStorage_Block_Get_tris (const MR_SeparationPointStorage_Block *_this)
 
MRC_API void MR_SeparationPointStorage_Block_Set_tris (MR_SeparationPointStorage_Block *_this, MR_PassBy value_pass_by, MR_Triangulation *value)
 
MRC_API MR_TriangulationMR_SeparationPointStorage_Block_GetMutable_tris (MR_SeparationPointStorage_Block *_this)
 
MRC_API const MR_Vector_MR_VoxelId_MR_FaceIdMR_SeparationPointStorage_Block_Get_faceMap (const MR_SeparationPointStorage_Block *_this)
 
MRC_API void MR_SeparationPointStorage_Block_Set_faceMap (MR_SeparationPointStorage_Block *_this, MR_PassBy value_pass_by, MR_Vector_MR_VoxelId_MR_FaceId *value)
 
MRC_API MR_Vector_MR_VoxelId_MR_FaceIdMR_SeparationPointStorage_Block_GetMutable_faceMap (MR_SeparationPointStorage_Block *_this)
 
MRC_API MR_SeparationPointStorage_BlockMR_SeparationPointStorage_Block_DefaultConstruct (void)
 
MRC_API MR_SeparationPointStorage_BlockMR_SeparationPointStorage_Block_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_SeparationPointStorage_BlockMR_SeparationPointStorage_Block_ConstructFrom (MR_PassBy smap_pass_by, MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t *smap, MR_PassBy coords_pass_by, MR_std_vector_MR_Vector3f *coords, MR_VertId shift, MR_PassBy tris_pass_by, MR_Triangulation *tris, MR_PassBy faceMap_pass_by, MR_Vector_MR_VoxelId_MR_FaceId *faceMap)
 
MRC_API const MR_SeparationPointStorage_BlockMR_SeparationPointStorage_Block_OffsetPtr (const MR_SeparationPointStorage_Block *ptr, ptrdiff_t i)
 
MRC_API MR_SeparationPointStorage_BlockMR_SeparationPointStorage_Block_OffsetMutablePtr (MR_SeparationPointStorage_Block *ptr, ptrdiff_t i)
 
MRC_API MR_SeparationPointStorage_BlockMR_SeparationPointStorage_Block_ConstructFromAnother (MR_PassBy _other_pass_by, MR_SeparationPointStorage_Block *_other)
 
MRC_API void MR_SeparationPointStorage_Block_Destroy (const MR_SeparationPointStorage_Block *_this)
 Destroys a heap-allocated instance of MR_SeparationPointStorage_Block. Does nothing if the pointer is null.
 
MRC_API void MR_SeparationPointStorage_Block_DestroyArray (const MR_SeparationPointStorage_Block *_this)
 Destroys a heap-allocated array of MR_SeparationPointStorage_Block. Does nothing if the pointer is null.
 
MRC_API MR_SeparationPointStorage_BlockMR_SeparationPointStorage_Block_AssignFromAnother (MR_SeparationPointStorage_Block *_this, MR_PassBy _other_pass_by, MR_SeparationPointStorage_Block *_other)
 
MRC_API MR_VertId MR_SeparationPointStorage_Block_nextVid (const MR_SeparationPointStorage_Block *_this)
 

Typedef Documentation

◆ MR_NeighborDir

◆ MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t

◆ MR_SeparationPointStorage

storage for points on voxel edges used in Marching Cubes algorithms Generated from class MR::SeparationPointStorage. 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_SeparationPointStorage_Block

Generated from class MR::SeparationPointStorage::Block. 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_std_array_MR_VertId_3

typedef struct MR_std_array_MR_VertId_3 MR_std_array_MR_VertId_3

◆ MR_std_vector_MR_Vector3f

◆ MR_Triangulation

◆ MR_Vector_MR_VoxelId_MR_FaceId

◆ MR_VertCoords

typedef struct MR_VertCoords MR_VertCoords

Enumeration Type Documentation

◆ MR_NeighborDir

Enumerator
MR_NeighborDir_X 
MR_NeighborDir_Y 
MR_NeighborDir_Z 
MR_NeighborDir_Count 

Function Documentation

◆ MR_SeparationPointStorage_AssignFromAnother()

MRC_API MR_SeparationPointStorage * MR_SeparationPointStorage_AssignFromAnother ( MR_SeparationPointStorage * _this,
MR_PassBy _other_pass_by,
MR_SeparationPointStorage * _other )

Generated from method MR::SeparationPointStorage::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.

◆ MR_SeparationPointStorage_Block_AssignFromAnother()

MRC_API MR_SeparationPointStorage_Block * MR_SeparationPointStorage_Block_AssignFromAnother ( MR_SeparationPointStorage_Block * _this,
MR_PassBy _other_pass_by,
MR_SeparationPointStorage_Block * _other )

Generated from method MR::SeparationPointStorage::Block::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.

◆ MR_SeparationPointStorage_Block_ConstructFrom()

MRC_API MR_SeparationPointStorage_Block * MR_SeparationPointStorage_Block_ConstructFrom ( MR_PassBy smap_pass_by,
MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t * smap,
MR_PassBy coords_pass_by,
MR_std_vector_MR_Vector3f * coords,
MR_VertId shift,
MR_PassBy tris_pass_by,
MR_Triangulation * tris,
MR_PassBy faceMap_pass_by,
MR_Vector_MR_VoxelId_MR_FaceId * faceMap )

Constructs MR::SeparationPointStorage::Block elementwise. The reference to the parameter smap might be preserved in the constructed object. The reference to the parameter coords might be preserved in the constructed object. The reference to the parameter shift might be preserved in the constructed object. The reference to the parameter tris might be preserved in the constructed object. The reference to the parameter faceMap might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_SeparationPointStorage_Block_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.

◆ MR_SeparationPointStorage_Block_ConstructFromAnother()

MRC_API MR_SeparationPointStorage_Block * MR_SeparationPointStorage_Block_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_SeparationPointStorage_Block * _other )

Generated from constructor MR::SeparationPointStorage::Block::Block. 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_SeparationPointStorage_Block_Destroy() to free it when you're done using it.

◆ MR_SeparationPointStorage_Block_DefaultConstruct()

MRC_API MR_SeparationPointStorage_Block * MR_SeparationPointStorage_Block_DefaultConstruct ( void )

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

◆ MR_SeparationPointStorage_Block_DefaultConstructArray()

MRC_API MR_SeparationPointStorage_Block * MR_SeparationPointStorage_Block_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_SeparationPointStorage_Block_DestroyArray(). Use MR_SeparationPointStorage_Block_OffsetMutablePtr() and MR_SeparationPointStorage_Block_OffsetPtr() to access the array elements.

◆ MR_SeparationPointStorage_Block_Destroy()

MRC_API void MR_SeparationPointStorage_Block_Destroy ( const MR_SeparationPointStorage_Block * _this)

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

◆ MR_SeparationPointStorage_Block_DestroyArray()

MRC_API void MR_SeparationPointStorage_Block_DestroyArray ( const MR_SeparationPointStorage_Block * _this)

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

◆ MR_SeparationPointStorage_Block_Get_coords()

MRC_API const MR_std_vector_MR_Vector3f * MR_SeparationPointStorage_Block_Get_coords ( const MR_SeparationPointStorage_Block * _this)

Returns a pointer to a member variable of class MR::SeparationPointStorage::Block named coords. 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_SeparationPointStorage_Block_Get_faceMap()

MRC_API const MR_Vector_MR_VoxelId_MR_FaceId * MR_SeparationPointStorage_Block_Get_faceMap ( const MR_SeparationPointStorage_Block * _this)

Returns a pointer to a member variable of class MR::SeparationPointStorage::Block named faceMap. 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_SeparationPointStorage_Block_Get_shift()

MRC_API const MR_VertId * MR_SeparationPointStorage_Block_Get_shift ( const MR_SeparationPointStorage_Block * _this)

after makeUniqueVids(), it is the unique id of first point in coords Returns a pointer to a member variable of class MR::SeparationPointStorage::Block named shift. 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_SeparationPointStorage_Block_Get_smap()

Returns a pointer to a member variable of class MR::SeparationPointStorage::Block named smap. 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_SeparationPointStorage_Block_Get_tris()

MRC_API const MR_Triangulation * MR_SeparationPointStorage_Block_Get_tris ( const MR_SeparationPointStorage_Block * _this)

Returns a pointer to a member variable of class MR::SeparationPointStorage::Block named tris. 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_SeparationPointStorage_Block_GetMutable_coords()

MRC_API MR_std_vector_MR_Vector3f * MR_SeparationPointStorage_Block_GetMutable_coords ( MR_SeparationPointStorage_Block * _this)

Returns a mutable pointer to a member variable of class MR::SeparationPointStorage::Block named coords. 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_SeparationPointStorage_Block_GetMutable_faceMap()

MRC_API MR_Vector_MR_VoxelId_MR_FaceId * MR_SeparationPointStorage_Block_GetMutable_faceMap ( MR_SeparationPointStorage_Block * _this)

Returns a mutable pointer to a member variable of class MR::SeparationPointStorage::Block named faceMap. 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_SeparationPointStorage_Block_GetMutable_shift()

MRC_API MR_VertId * MR_SeparationPointStorage_Block_GetMutable_shift ( MR_SeparationPointStorage_Block * _this)

after makeUniqueVids(), it is the unique id of first point in coords Returns a mutable pointer to a member variable of class MR::SeparationPointStorage::Block named shift. 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_SeparationPointStorage_Block_GetMutable_smap()

Returns a mutable pointer to a member variable of class MR::SeparationPointStorage::Block named smap. 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_SeparationPointStorage_Block_GetMutable_tris()

MRC_API MR_Triangulation * MR_SeparationPointStorage_Block_GetMutable_tris ( MR_SeparationPointStorage_Block * _this)

Returns a mutable pointer to a member variable of class MR::SeparationPointStorage::Block named tris. 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_SeparationPointStorage_Block_nextVid()

MRC_API MR_VertId MR_SeparationPointStorage_Block_nextVid ( const MR_SeparationPointStorage_Block * _this)

during filling, it is the id of next valid point; Generated from method MR::SeparationPointStorage::Block::nextVid. Parameter _this can not be null. It is a single object.

◆ MR_SeparationPointStorage_Block_OffsetMutablePtr()

MRC_API MR_SeparationPointStorage_Block * MR_SeparationPointStorage_Block_OffsetMutablePtr ( MR_SeparationPointStorage_Block * 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_SeparationPointStorage_Block_OffsetPtr()

MRC_API const MR_SeparationPointStorage_Block * MR_SeparationPointStorage_Block_OffsetPtr ( const MR_SeparationPointStorage_Block * 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_SeparationPointStorage_Block_Set_coords()

MRC_API void MR_SeparationPointStorage_Block_Set_coords ( MR_SeparationPointStorage_Block * _this,
MR_PassBy value_pass_by,
MR_std_vector_MR_Vector3f * value )

Modifies a member variable of class MR::SeparationPointStorage::Block named coords. 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 coords. When this function is called, this object will drop object references it had previously in coords.

◆ MR_SeparationPointStorage_Block_Set_faceMap()

MRC_API void MR_SeparationPointStorage_Block_Set_faceMap ( MR_SeparationPointStorage_Block * _this,
MR_PassBy value_pass_by,
MR_Vector_MR_VoxelId_MR_FaceId * value )

Modifies a member variable of class MR::SeparationPointStorage::Block named faceMap. 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 faceMap. When this function is called, this object will drop object references it had previously in faceMap.

◆ MR_SeparationPointStorage_Block_Set_shift()

MRC_API void MR_SeparationPointStorage_Block_Set_shift ( MR_SeparationPointStorage_Block * _this,
MR_VertId value )

after makeUniqueVids(), it is the unique id of first point in coords Modifies a member variable of class MR::SeparationPointStorage::Block named shift. 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 shift. When this function is called, this object will drop object references it had previously in shift.

◆ MR_SeparationPointStorage_Block_Set_smap()

MRC_API void MR_SeparationPointStorage_Block_Set_smap ( MR_SeparationPointStorage_Block * _this,
MR_PassBy value_pass_by,
MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t * value )

Modifies a member variable of class MR::SeparationPointStorage::Block named smap. 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 smap. When this function is called, this object will drop object references it had previously in smap.

◆ MR_SeparationPointStorage_Block_Set_tris()

MRC_API void MR_SeparationPointStorage_Block_Set_tris ( MR_SeparationPointStorage_Block * _this,
MR_PassBy value_pass_by,
MR_Triangulation * value )

Modifies a member variable of class MR::SeparationPointStorage::Block named tris. 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 tris. When this function is called, this object will drop object references it had previously in tris.

◆ MR_SeparationPointStorage_ConstructFromAnother()

MRC_API MR_SeparationPointStorage * MR_SeparationPointStorage_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_SeparationPointStorage * _other )

Generated from constructor MR::SeparationPointStorage::SeparationPointStorage. 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_SeparationPointStorage_Destroy() to free it when you're done using it.

◆ MR_SeparationPointStorage_DefaultConstruct()

MRC_API MR_SeparationPointStorage * MR_SeparationPointStorage_DefaultConstruct ( void )

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

◆ MR_SeparationPointStorage_DefaultConstructArray()

MRC_API MR_SeparationPointStorage * MR_SeparationPointStorage_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_SeparationPointStorage_DestroyArray(). Use MR_SeparationPointStorage_OffsetMutablePtr() and MR_SeparationPointStorage_OffsetPtr() to access the array elements.

◆ MR_SeparationPointStorage_Destroy()

MRC_API void MR_SeparationPointStorage_Destroy ( const MR_SeparationPointStorage * _this)

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

◆ MR_SeparationPointStorage_DestroyArray()

MRC_API void MR_SeparationPointStorage_DestroyArray ( const MR_SeparationPointStorage * _this)

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

◆ MR_SeparationPointStorage_findSeparationPointSet()

MRC_API const MR_std_array_MR_VertId_3 * MR_SeparationPointStorage_findSeparationPointSet ( const MR_SeparationPointStorage * _this,
MR_uint64_t voxelId )

finds the set (locating the block) by voxel id Generated from method MR::SeparationPointStorage::findSeparationPointSet. Parameter _this can not be null. It is a single object.

◆ MR_SeparationPointStorage_getBlock()

MRC_API MR_SeparationPointStorage_Block * MR_SeparationPointStorage_getBlock ( MR_SeparationPointStorage * _this,
MR_uint64_t blockIndex )

get block for filling in the thread responsible for it Generated from method MR::SeparationPointStorage::getBlock. 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_SeparationPointStorage_getPoints()

MRC_API void MR_SeparationPointStorage_getPoints ( const MR_SeparationPointStorage * _this,
MR_VertCoords * points )

obtains coordinates of all stored points Generated from method MR::SeparationPointStorage::getPoints. Parameter _this can not be null. It is a single object. Parameter points can not be null. It is a single object.

◆ MR_SeparationPointStorage_getTriangulation()

MRC_API MR_Triangulation * MR_SeparationPointStorage_getTriangulation ( const MR_SeparationPointStorage * _this,
MR_Vector_MR_VoxelId_MR_FaceId * outVoxelPerFaceMap )

combines triangulations from every block into one and returns it Generated from method MR::SeparationPointStorage::getTriangulation. Parameter _this can not be null. It is a single object. Parameter outVoxelPerFaceMap defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_Triangulation_Destroy() to free it when you're done using it.

◆ MR_SeparationPointStorage_makeUniqueVids()

MRC_API int MR_SeparationPointStorage_makeUniqueVids ( MR_SeparationPointStorage * _this)

shifts vertex ids in each block (after they are filled) to make them unique; returns the total number of valid points in the storage Generated from method MR::SeparationPointStorage::makeUniqueVids. Parameter _this can not be null. It is a single object.

◆ MR_SeparationPointStorage_OffsetMutablePtr()

MRC_API MR_SeparationPointStorage * MR_SeparationPointStorage_OffsetMutablePtr ( MR_SeparationPointStorage * 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_SeparationPointStorage_OffsetPtr()

MRC_API const MR_SeparationPointStorage * MR_SeparationPointStorage_OffsetPtr ( const MR_SeparationPointStorage * 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_SeparationPointStorage_resize()

MRC_API void MR_SeparationPointStorage_resize ( MR_SeparationPointStorage * _this,
MR_uint64_t blockCount,
MR_uint64_t blockSize )

prepares storage for given number of blocks, each containing given size of voxels Generated from method MR::SeparationPointStorage::resize. Parameter _this can not be null. It is a single object.