Template Class MeshIntegrator¶
- Defined in File mesh_integrator.h
Class Documentation¶
-
template <typename VoxelType>
classMeshIntegrator
¶ Integrates a TSDF layer to incrementally update a mesh layer using marching cubes.
Public Functions
-
MeshIntegrator
(const MeshIntegratorConfig &config, Layer<VoxelType> *sdf_layer, MeshLayer *mesh_layer)¶ Use this constructor in case you would like to modify the layer during mesh extraction, i.e.
modify the updated flag.
-
MeshIntegrator
(const MeshIntegratorConfig &config, const Layer<VoxelType> &sdf_layer, MeshLayer *mesh_layer)¶ This constructor will not allow you to modify the layer, i.e.
clear the updated flag.
-
void
generateMesh
(bool only_mesh_updated_blocks, bool clear_updated_flag)¶ Generates mesh from the tsdf layer.
-
void
generateMeshBlocksFunction
(const BlockIndexList &all_tsdf_blocks, bool clear_updated_flag, ThreadSafeIndex *index_getter)¶
-
virtual void
updateMeshForBlock
(const BlockIndex &block_index)¶
-
void
extractMeshInsideBlock
(const Block<VoxelType> &block, const VoxelIndex &index, const Point &coords, VertexIndex *next_mesh_index, Mesh *mesh)¶
-
void
extractMeshOnBorder
(const Block<VoxelType> &block, const VoxelIndex &index, const Point &coords, VertexIndex *next_mesh_index, Mesh *mesh)¶
Protected Attributes
-
MeshIntegratorConfig
config_
¶
-
Layer<VoxelType> *
sdf_layer_mutable_
¶ Having both a const and a mutable pointer to the layer allows this integrator to work both with a const layer (in case you don’t want to clear the updated flag) and mutable layer (in case you do want to clear the updated flag).
-
FloatingPoint
voxel_size_
¶
-
size_t
voxels_per_side_
¶
-
FloatingPoint
block_size_
¶
-
FloatingPoint
voxel_size_inv_
¶
-
FloatingPoint
voxels_per_side_inv_
¶
-
FloatingPoint
block_size_inv_
¶
-
Eigen::Matrix<int, 3, 8>
cube_index_offsets_
¶
-