![]() |
ImFusion SDK 4.3
|
Marching Cubes implementation to extract a isosurface mesh from a volume. More...
Marching Cubes implementation to extract a isosurface mesh from a volume.
Functions | |
| template<typename T> | |
| Mesh * | computeIsosurface (const TypedImage< T > *volume, const TypedImage< unsigned char > *volumeColor, float isovalue, bool aboveIsovalue=false, const TypedImage< unsigned char > *mask=nullptr) |
| Compute isosurface mesh for isovalue. | |
| Mesh * | computeIsosurfaceHalfFloat (const TypedImage< unsigned short > *volume, const TypedImage< unsigned char > *volumeColor, float isovalue, bool aboveIsovalue=false) |
| Compute isosurface mesh for isovalue. | |
| Mesh * computeIsosurface | ( | const TypedImage< T > * | volume, |
| const TypedImage< unsigned char > * | volumeColor, | ||
| float | isovalue, | ||
| bool | aboveIsovalue = false, | ||
| const TypedImage< unsigned char > * | mask = nullptr ) |
Compute isosurface mesh for isovalue.
The output coordinate for voxel (x,y,z) is (x,y,z)*spacing. The spacing is taken from the volume.
| volume | float buffer with volume |
| volumeColor | optional 3 channel RGB color values for each voxel |
| isovalue | iso value |
| aboveIsovalue | true if the interior of the mesh is greater than the isovalue |
| mask | optional pointer to a unsigned char typed image forming a mask. If supplied, only faces that lie within the mask are added. |
| Mesh * computeIsosurfaceHalfFloat | ( | const TypedImage< unsigned short > * | volume, |
| const TypedImage< unsigned char > * | volumeColor, | ||
| float | isovalue, | ||
| bool | aboveIsovalue = false ) |
Compute isosurface mesh for isovalue.
The output coordinate for voxel (x,y,z) is (x,y,z)*spacing. The spacing is taken from the volume.
| volume | half float buffer with volume |
| volumeColor | optional 3 channel RGB color values for each voxel |
| isovalue | iso value |
| aboveIsovalue | true if the interior of the mesh is greater than the isovalue |