#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 } |
| typedef enum MR_NeighborDir MR_NeighborDir |
| 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_SeparationPointStorage 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).
| typedef struct MR_SeparationPointStorage_Block 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).
| 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 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 |
| enum MR_NeighborDir |
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 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.
| 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.
| 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.
| MRC_API const MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t * MR_SeparationPointStorage_Block_Get_smap | ( | const MR_SeparationPointStorage_Block * | _this | ) |
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.
| 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.
| 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.
| 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.
| 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.
| MRC_API MR_phmap_flat_hash_map_uint64_t_std_array_MR_VertId_3_phmap_Hash_uint64_t * MR_SeparationPointStorage_Block_GetMutable_smap | ( | MR_SeparationPointStorage_Block * | _this | ) |
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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.