MeshLib
 
Loading...
Searching...
No Matches
MR::SeparationPointStorage Class Reference

storage for points on voxel edges used in Marching Cubes algorithms More...

#include <MRSeparationPoint.h>

Classes

struct  Block
 

Public Member Functions

MRMESH_API void resize (size_t blockCount, size_t blockSize)
 prepares storage for given number of blocks, each containing given size of voxels
 
BlockgetBlock (size_t blockIndex)
 get block for filling in the thread responsible for it
 
MRMESH_API int makeUniqueVids ()
 
auto findSeparationPointSet (size_t voxelId) const -> const SeparationPointSet *
 finds the set (locating the block) by voxel id
 
MRMESH_API Triangulation getTriangulation (Vector< VoxelId, FaceId > *outVoxelPerFaceMap=nullptr) const
 combines triangulations from every block into one and returns it
 
MRMESH_API void getPoints (VertCoords &points) const
 obtains coordinates of all stored points
 

Detailed Description

storage for points on voxel edges used in Marching Cubes algorithms

Member Function Documentation

◆ findSeparationPointSet()

auto MR::SeparationPointStorage::findSeparationPointSet ( size_t voxelId) const -> const SeparationPointSet *
inline

finds the set (locating the block) by voxel id

◆ getBlock()

Block & MR::SeparationPointStorage::getBlock ( size_t blockIndex)
inline

get block for filling in the thread responsible for it

◆ getPoints()

MRMESH_API void MR::SeparationPointStorage::getPoints ( VertCoords & points) const

obtains coordinates of all stored points

◆ getTriangulation()

MRMESH_API Triangulation MR::SeparationPointStorage::getTriangulation ( Vector< VoxelId, FaceId > * outVoxelPerFaceMap = nullptr) const

combines triangulations from every block into one and returns it

◆ makeUniqueVids()

MRMESH_API int MR::SeparationPointStorage::makeUniqueVids ( )

shifts vertex ids in each block (after they are filled) to make them unique; returns the total number of valid points in the storage

◆ resize()

MRMESH_API void MR::SeparationPointStorage::resize ( size_t blockCount,
size_t blockSize )

prepares storage for given number of blocks, each containing given size of voxels


The documentation for this class was generated from the following file: