MeshLib C Docs
Loading...
Searching...
No Matches
MRVolumeIndexer.h File Reference
#include <MRCMesh/MRId.h>
#include <MRCMesh/MRVector3.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_VoxelBitSet MR_VoxelBitSet
 
typedef signed char MR_OutEdge
 
typedef struct MR_VoxelLocation MR_VoxelLocation
 
typedef struct MR_VolumeIndexer MR_VolumeIndexer
 

Enumerations

enum  {
  MR_OutEdge_Invalid = -1 , MR_OutEdge_PlusZ = 0 , MR_OutEdge_MinusZ = 1 , MR_OutEdge_PlusY = 2 ,
  MR_OutEdge_MinusY = 3 , MR_OutEdge_PlusX = 4 , MR_OutEdge_MinusX = 5 , MR_OutEdge_Count = 6
}
 

Functions

MRC_API MR_OutEdge MR_opposite_MR_OutEdge (MR_OutEdge e)
 Generated from function MR::opposite.
 
MRC_API const MR_VoxelIdMR_VoxelLocation_Get_id (const MR_VoxelLocation *_this)
 
MRC_API void MR_VoxelLocation_Set_id (MR_VoxelLocation *_this, MR_VoxelId value)
 
MRC_API MR_VoxelIdMR_VoxelLocation_GetMutable_id (MR_VoxelLocation *_this)
 
MRC_API const MR_Vector3iMR_VoxelLocation_Get_pos (const MR_VoxelLocation *_this)
 
MRC_API void MR_VoxelLocation_Set_pos (MR_VoxelLocation *_this, MR_Vector3i value)
 
MRC_API MR_Vector3iMR_VoxelLocation_GetMutable_pos (MR_VoxelLocation *_this)
 
MRC_API MR_VoxelLocationMR_VoxelLocation_DefaultConstruct (void)
 
MRC_API MR_VoxelLocationMR_VoxelLocation_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_VoxelLocationMR_VoxelLocation_ConstructFrom (MR_VoxelId id, MR_Vector3i pos)
 
MRC_API const MR_VoxelLocationMR_VoxelLocation_OffsetPtr (const MR_VoxelLocation *ptr, ptrdiff_t i)
 
MRC_API MR_VoxelLocationMR_VoxelLocation_OffsetMutablePtr (MR_VoxelLocation *ptr, ptrdiff_t i)
 
MRC_API MR_VoxelLocationMR_VoxelLocation_ConstructFromAnother (const MR_VoxelLocation *_other)
 
MRC_API void MR_VoxelLocation_Destroy (const MR_VoxelLocation *_this)
 Destroys a heap-allocated instance of MR_VoxelLocation. Does nothing if the pointer is null.
 
MRC_API void MR_VoxelLocation_DestroyArray (const MR_VoxelLocation *_this)
 Destroys a heap-allocated array of MR_VoxelLocation. Does nothing if the pointer is null.
 
MRC_API bool MR_VoxelLocation_ConvertTo_bool (const MR_VoxelLocation *_this)
 
MRC_API MR_VoxelLocationMR_VoxelLocation_AssignFromAnother (MR_VoxelLocation *_this, const MR_VoxelLocation *_other)
 
MRC_API MR_VolumeIndexerMR_VolumeIndexer_ConstructFromAnother (const MR_VolumeIndexer *_other)
 
MRC_API const MR_VolumeIndexerMR_VolumeIndexer_OffsetPtr (const MR_VolumeIndexer *ptr, ptrdiff_t i)
 
MRC_API MR_VolumeIndexerMR_VolumeIndexer_OffsetMutablePtr (MR_VolumeIndexer *ptr, ptrdiff_t i)
 
MRC_API MR_VolumeIndexerMR_VolumeIndexer_Construct (const MR_Vector3i *dims)
 
MRC_API void MR_VolumeIndexer_Destroy (const MR_VolumeIndexer *_this)
 Destroys a heap-allocated instance of MR_VolumeIndexer. Does nothing if the pointer is null.
 
MRC_API void MR_VolumeIndexer_DestroyArray (const MR_VolumeIndexer *_this)
 Destroys a heap-allocated array of MR_VolumeIndexer. Does nothing if the pointer is null.
 
MRC_API MR_VolumeIndexerMR_VolumeIndexer_AssignFromAnother (MR_VolumeIndexer *_this, const MR_VolumeIndexer *_other)
 
MRC_API const MR_Vector3iMR_VolumeIndexer_dims (const MR_VolumeIndexer *_this)
 
MRC_API MR_uint64_t MR_VolumeIndexer_size (const MR_VolumeIndexer *_this)
 
MRC_API MR_VoxelId MR_VolumeIndexer_endId (const MR_VolumeIndexer *_this)
 
MRC_API MR_uint64_t MR_VolumeIndexer_sizeXY (const MR_VolumeIndexer *_this)
 
MRC_API MR_Vector3i MR_VolumeIndexer_toPos (const MR_VolumeIndexer *_this, MR_VoxelId id)
 
MRC_API MR_VoxelId MR_VolumeIndexer_toVoxelId (const MR_VolumeIndexer *_this, const MR_Vector3i *pos)
 
MRC_API MR_VoxelLocationMR_VolumeIndexer_toLoc_MR_VoxelId (const MR_VolumeIndexer *_this, MR_VoxelId id)
 
MRC_API MR_VoxelLocationMR_VolumeIndexer_toLoc_MR_Vector3i (const MR_VolumeIndexer *_this, const MR_Vector3i *pos)
 
MRC_API bool MR_VolumeIndexer_isInDims (const MR_VolumeIndexer *_this, const MR_Vector3i *pos)
 
MRC_API bool MR_VolumeIndexer_isBdVoxel (const MR_VolumeIndexer *_this, const MR_Vector3i *pos)
 
MRC_API bool MR_VolumeIndexer_areNeigbors_MR_VoxelId (const MR_VolumeIndexer *_this, MR_VoxelId v0, MR_VoxelId v1)
 
MRC_API bool MR_VolumeIndexer_areNeigbors_MR_Vector3i (const MR_VolumeIndexer *_this, const MR_Vector3i *pos0, const MR_Vector3i *pos1)
 
MRC_API bool MR_VolumeIndexer_hasNeighbour (const MR_VolumeIndexer *_this, const MR_Vector3i *pos, MR_OutEdge toNei)
 
MRC_API MR_VoxelId MR_VolumeIndexer_getNeighbor_2_MR_VoxelId (const MR_VolumeIndexer *_this, MR_VoxelId v, MR_OutEdge toNei)
 
MRC_API MR_VoxelId MR_VolumeIndexer_getNeighbor_3 (const MR_VolumeIndexer *_this, MR_VoxelId v, const MR_Vector3i *pos, MR_OutEdge toNei)
 
MRC_API MR_VoxelLocationMR_VolumeIndexer_getNeighbor_2_MR_VoxelLocation (const MR_VolumeIndexer *_this, const MR_VoxelLocation *loc, MR_OutEdge toNei)
 
MRC_API MR_VoxelId MR_VolumeIndexer_getExistingNeighbor (const MR_VolumeIndexer *_this, MR_VoxelId v, MR_OutEdge toNei)
 
MRC_API MR_VoxelId MR_VolumeIndexer_getNeighbor_4 (const MR_VolumeIndexer *_this, MR_VoxelId v, const MR_Vector3i *pos, bool bdPos, MR_OutEdge toNei)
 
MRC_API void MR_expandVoxelsMask (MR_VoxelBitSet *mask, const MR_VolumeIndexer *indexer, const int *expansion)
 
MRC_API void MR_shrinkVoxelsMask (MR_VoxelBitSet *mask, const MR_VolumeIndexer *indexer, const int *shrinkage)
 

Typedef Documentation

◆ MR_OutEdge

typedef signed char MR_OutEdge

◆ MR_VolumeIndexer

Generated from class MR::VolumeIndexer. Supported MR_PassBy modes: MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_VoxelBitSet

◆ MR_VoxelLocation

contains both linear Id and 3D coordinates of the same voxel Generated from class MR::VoxelLocation. 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).

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MR_OutEdge_Invalid 
MR_OutEdge_PlusZ 
MR_OutEdge_MinusZ 
MR_OutEdge_PlusY 
MR_OutEdge_MinusY 
MR_OutEdge_PlusX 
MR_OutEdge_MinusX 
MR_OutEdge_Count 

Function Documentation

◆ MR_expandVoxelsMask()

MRC_API void MR_expandVoxelsMask ( MR_VoxelBitSet * mask,
const MR_VolumeIndexer * indexer,
const int * expansion )

expands VoxelBitSet with given number of steps Generated from function MR::expandVoxelsMask. Parameter mask can not be null. It is a single object. Parameter indexer can not be null. It is a single object. Parameter expansion has a default argument: 1, pass a null pointer to use it.

◆ MR_opposite_MR_OutEdge()

MRC_API MR_OutEdge MR_opposite_MR_OutEdge ( MR_OutEdge e)

Generated from function MR::opposite.

◆ MR_shrinkVoxelsMask()

MRC_API void MR_shrinkVoxelsMask ( MR_VoxelBitSet * mask,
const MR_VolumeIndexer * indexer,
const int * shrinkage )

shrinks VoxelBitSet with given number of steps Generated from function MR::shrinkVoxelsMask. Parameter mask can not be null. It is a single object. Parameter indexer can not be null. It is a single object. Parameter shrinkage has a default argument: 1, pass a null pointer to use it.

◆ MR_VolumeIndexer_areNeigbors_MR_Vector3i()

MRC_API bool MR_VolumeIndexer_areNeigbors_MR_Vector3i ( const MR_VolumeIndexer * _this,
const MR_Vector3i * pos0,
const MR_Vector3i * pos1 )

Generated from method MR::VolumeIndexer::areNeigbors. Parameter _this can not be null. It is a single object. Parameter pos0 can not be null. It is a single object. Parameter pos1 can not be null. It is a single object.

◆ MR_VolumeIndexer_areNeigbors_MR_VoxelId()

MRC_API bool MR_VolumeIndexer_areNeigbors_MR_VoxelId ( const MR_VolumeIndexer * _this,
MR_VoxelId v0,
MR_VoxelId v1 )

returns true if v1 is within at most 6 neighbors of v0 Generated from method MR::VolumeIndexer::areNeigbors. Parameter _this can not be null. It is a single object.

◆ MR_VolumeIndexer_AssignFromAnother()

MRC_API MR_VolumeIndexer * MR_VolumeIndexer_AssignFromAnother ( MR_VolumeIndexer * _this,
const MR_VolumeIndexer * _other )

Generated from method MR::VolumeIndexer::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_VolumeIndexer_Construct()

MRC_API MR_VolumeIndexer * MR_VolumeIndexer_Construct ( const MR_Vector3i * dims)

Generated from constructor MR::VolumeIndexer::VolumeIndexer. Parameter dims can not be null. It is a single object. The reference to the parameter dims might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_VolumeIndexer_Destroy() to free it when you're done using it.

◆ MR_VolumeIndexer_ConstructFromAnother()

MRC_API MR_VolumeIndexer * MR_VolumeIndexer_ConstructFromAnother ( const MR_VolumeIndexer * _other)

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

◆ MR_VolumeIndexer_Destroy()

MRC_API void MR_VolumeIndexer_Destroy ( const MR_VolumeIndexer * _this)

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

◆ MR_VolumeIndexer_DestroyArray()

MRC_API void MR_VolumeIndexer_DestroyArray ( const MR_VolumeIndexer * _this)

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

◆ MR_VolumeIndexer_dims()

MRC_API const MR_Vector3i * MR_VolumeIndexer_dims ( const MR_VolumeIndexer * _this)

Generated from method MR::VolumeIndexer::dims. 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_VolumeIndexer_endId()

MRC_API MR_VoxelId MR_VolumeIndexer_endId ( const MR_VolumeIndexer * _this)

returns the last plus one voxel Id for defining iteration range Generated from method MR::VolumeIndexer::endId. Parameter _this can not be null. It is a single object.

◆ MR_VolumeIndexer_getExistingNeighbor()

MRC_API MR_VoxelId MR_VolumeIndexer_getExistingNeighbor ( const MR_VolumeIndexer * _this,
MR_VoxelId v,
MR_OutEdge toNei )

returns id of v's neighbor specified by the edge, which is known to exist (so skipping a lot of checks) Generated from method MR::VolumeIndexer::getExistingNeighbor. Parameter _this can not be null. It is a single object.

◆ MR_VolumeIndexer_getNeighbor_2_MR_VoxelId()

MRC_API MR_VoxelId MR_VolumeIndexer_getNeighbor_2_MR_VoxelId ( const MR_VolumeIndexer * _this,
MR_VoxelId v,
MR_OutEdge toNei )

returns id of v's neighbor specified by the edge Generated from method MR::VolumeIndexer::getNeighbor. Parameter _this can not be null. It is a single object.

◆ MR_VolumeIndexer_getNeighbor_2_MR_VoxelLocation()

MRC_API MR_VoxelLocation * MR_VolumeIndexer_getNeighbor_2_MR_VoxelLocation ( const MR_VolumeIndexer * _this,
const MR_VoxelLocation * loc,
MR_OutEdge toNei )

given existing voxel at (loc), returns its neighbor specified by the edge (toNei); if the neighbour does not exist (loc is on boundary), returns invalid VoxelLocation Generated from method MR::VolumeIndexer::getNeighbor. Parameter _this can not be null. It is a single object. Parameter loc can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_VoxelLocation_Destroy() to free it when you're done using it.

◆ MR_VolumeIndexer_getNeighbor_3()

MRC_API MR_VoxelId MR_VolumeIndexer_getNeighbor_3 ( const MR_VolumeIndexer * _this,
MR_VoxelId v,
const MR_Vector3i * pos,
MR_OutEdge toNei )

Generated from method MR::VolumeIndexer::getNeighbor. Parameter _this can not be null. It is a single object. Parameter pos can not be null. It is a single object.

◆ MR_VolumeIndexer_getNeighbor_4()

MRC_API MR_VoxelId MR_VolumeIndexer_getNeighbor_4 ( const MR_VolumeIndexer * _this,
MR_VoxelId v,
const MR_Vector3i * pos,
bool bdPos,
MR_OutEdge toNei )

Generated from method MR::VolumeIndexer::getNeighbor. Parameter _this can not be null. It is a single object. Parameter pos can not be null. It is a single object.

◆ MR_VolumeIndexer_hasNeighbour()

MRC_API bool MR_VolumeIndexer_hasNeighbour ( const MR_VolumeIndexer * _this,
const MR_Vector3i * pos,
MR_OutEdge toNei )

given existing voxel at (pos), returns whether it has valid neighbor specified by the edge (toNei) Generated from method MR::VolumeIndexer::hasNeighbour. Parameter _this can not be null. It is a single object. Parameter pos can not be null. It is a single object.

◆ MR_VolumeIndexer_isBdVoxel()

MRC_API bool MR_VolumeIndexer_isBdVoxel ( const MR_VolumeIndexer * _this,
const MR_Vector3i * pos )

returns true if this voxel is on the boundary of the volume Generated from method MR::VolumeIndexer::isBdVoxel. Parameter _this can not be null. It is a single object. Parameter pos can not be null. It is a single object.

◆ MR_VolumeIndexer_isInDims()

MRC_API bool MR_VolumeIndexer_isInDims ( const MR_VolumeIndexer * _this,
const MR_Vector3i * pos )

returns true if this voxel is within dimensions Generated from method MR::VolumeIndexer::isInDims. Parameter _this can not be null. It is a single object. Parameter pos can not be null. It is a single object.

◆ MR_VolumeIndexer_OffsetMutablePtr()

MRC_API MR_VolumeIndexer * MR_VolumeIndexer_OffsetMutablePtr ( MR_VolumeIndexer * 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_VolumeIndexer_OffsetPtr()

MRC_API const MR_VolumeIndexer * MR_VolumeIndexer_OffsetPtr ( const MR_VolumeIndexer * 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_VolumeIndexer_size()

MRC_API MR_uint64_t MR_VolumeIndexer_size ( const MR_VolumeIndexer * _this)

returns the total number of voxels Generated from method MR::VolumeIndexer::size. Parameter _this can not be null. It is a single object.

◆ MR_VolumeIndexer_sizeXY()

MRC_API MR_uint64_t MR_VolumeIndexer_sizeXY ( const MR_VolumeIndexer * _this)

Generated from method MR::VolumeIndexer::sizeXY. Parameter _this can not be null. It is a single object.

◆ MR_VolumeIndexer_toLoc_MR_Vector3i()

MRC_API MR_VoxelLocation * MR_VolumeIndexer_toLoc_MR_Vector3i ( const MR_VolumeIndexer * _this,
const MR_Vector3i * pos )

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

◆ MR_VolumeIndexer_toLoc_MR_VoxelId()

MRC_API MR_VoxelLocation * MR_VolumeIndexer_toLoc_MR_VoxelId ( const MR_VolumeIndexer * _this,
MR_VoxelId id )

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

◆ MR_VolumeIndexer_toPos()

MRC_API MR_Vector3i MR_VolumeIndexer_toPos ( const MR_VolumeIndexer * _this,
MR_VoxelId id )

Generated from method MR::VolumeIndexer::toPos. Parameter _this can not be null. It is a single object.

◆ MR_VolumeIndexer_toVoxelId()

MRC_API MR_VoxelId MR_VolumeIndexer_toVoxelId ( const MR_VolumeIndexer * _this,
const MR_Vector3i * pos )

Generated from method MR::VolumeIndexer::toVoxelId. Parameter _this can not be null. It is a single object. Parameter pos can not be null. It is a single object.

◆ MR_VoxelLocation_AssignFromAnother()

MRC_API MR_VoxelLocation * MR_VoxelLocation_AssignFromAnother ( MR_VoxelLocation * _this,
const MR_VoxelLocation * _other )

Generated from method MR::VoxelLocation::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_VoxelLocation_ConstructFrom()

MRC_API MR_VoxelLocation * MR_VoxelLocation_ConstructFrom ( MR_VoxelId id,
MR_Vector3i pos )

Constructs MR::VoxelLocation elementwise. The reference to the parameter id might be preserved in the constructed object. The reference to the parameter pos might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_VoxelLocation_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_VoxelLocation_ConstructFromAnother()

MRC_API MR_VoxelLocation * MR_VoxelLocation_ConstructFromAnother ( const MR_VoxelLocation * _other)

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

◆ MR_VoxelLocation_ConvertTo_bool()

MRC_API bool MR_VoxelLocation_ConvertTo_bool ( const MR_VoxelLocation * _this)

check for validity Generated from conversion operator MR::VoxelLocation::operator bool. Parameter _this can not be null. It is a single object.

◆ MR_VoxelLocation_DefaultConstruct()

MRC_API MR_VoxelLocation * MR_VoxelLocation_DefaultConstruct ( void )

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

◆ MR_VoxelLocation_DefaultConstructArray()

MRC_API MR_VoxelLocation * MR_VoxelLocation_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_VoxelLocation_DestroyArray(). Use MR_VoxelLocation_OffsetMutablePtr() and MR_VoxelLocation_OffsetPtr() to access the array elements.

◆ MR_VoxelLocation_Destroy()

MRC_API void MR_VoxelLocation_Destroy ( const MR_VoxelLocation * _this)

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

◆ MR_VoxelLocation_DestroyArray()

MRC_API void MR_VoxelLocation_DestroyArray ( const MR_VoxelLocation * _this)

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

◆ MR_VoxelLocation_Get_id()

MRC_API const MR_VoxelId * MR_VoxelLocation_Get_id ( const MR_VoxelLocation * _this)

Returns a pointer to a member variable of class MR::VoxelLocation named id. 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_VoxelLocation_Get_pos()

MRC_API const MR_Vector3i * MR_VoxelLocation_Get_pos ( const MR_VoxelLocation * _this)

Returns a pointer to a member variable of class MR::VoxelLocation named pos. 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_VoxelLocation_GetMutable_id()

MRC_API MR_VoxelId * MR_VoxelLocation_GetMutable_id ( MR_VoxelLocation * _this)

Returns a mutable pointer to a member variable of class MR::VoxelLocation named id. 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_VoxelLocation_GetMutable_pos()

MRC_API MR_Vector3i * MR_VoxelLocation_GetMutable_pos ( MR_VoxelLocation * _this)

Returns a mutable pointer to a member variable of class MR::VoxelLocation named pos. 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_VoxelLocation_OffsetMutablePtr()

MRC_API MR_VoxelLocation * MR_VoxelLocation_OffsetMutablePtr ( MR_VoxelLocation * 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_VoxelLocation_OffsetPtr()

MRC_API const MR_VoxelLocation * MR_VoxelLocation_OffsetPtr ( const MR_VoxelLocation * 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_VoxelLocation_Set_id()

MRC_API void MR_VoxelLocation_Set_id ( MR_VoxelLocation * _this,
MR_VoxelId value )

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

◆ MR_VoxelLocation_Set_pos()

MRC_API void MR_VoxelLocation_Set_pos ( MR_VoxelLocation * _this,
MR_Vector3i value )

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