9 #include "imstkGeometryAlgorithm.h" 10 #include "imstkMath.h" 13 #include <unordered_set> 39 std::shared_ptr<SurfaceMesh> getOutputMesh(
const int i)
const;
41 void setInputImage(std::shared_ptr<ImageData> inputImage);
72 const Vec3i& getNumberOfChunks()
const {
return m_numChunks; }
74 std::unordered_map<int, Vec3i> getModifiedChunks() {
return m_modifiedChunks; }
81 std::unordered_map<int, Vec3i> m_modifiedVoxels;
83 bool m_allModified =
true;
85 double m_isoValue = 0.0;
87 Vec3i m_numChunks = Vec3i(0, 0, 0);
88 size_t m_chunkCount = 0;
90 std::unordered_map<int, Vec3i> m_modifiedChunks;
void setModified(const Vec3i &coord)
Set a voxel that was modified in the image (the neighboring dual voxels will be updated on the next r...
void setAllModified(bool val)
Set all voxels as modified (used initially)
void setIsoValue(double isovalue)
Value where the boundary lies.
void setNumberOfChunks(const Vec3i &numChunks)
Set the number of chunks. one minus the dimensions of image must be divisible by numChunks ((dimensio...
void clearModified()
Clear all pending modifications.
This filter extracts a contour SurfaceMesh from an image given an isovalue. Users should prefer imstk...
Abstract base class for geometry algorithms. GeometryAlgorithms take N input geometries and produce N...
void requestUpdate() override
Users can implement this for the logic to be run.