#include <CUDAMarchingCubes.h>
Public Types | |
enum | VolTexFormat { RGB3F, RGB4U } |
Public Methods | |
CUDAMarchingCubes () | |
constructor. More... | |
~CUDAMarchingCubes () | |
destructor. More... | |
bool | Initialize (uint3 maxgridsize) |
uint3 | GetMaxGridSize () const |
bool | SetVolumeData (float *volume, float3 *colors, uint3 gridsize, float3 gridOrigin, float3 boundingBox, bool cudaArray) |
bool | SetVolumeData (float *volume, uchar4 *colors, uint3 gridsize, float3 gridOrigin, float3 boundingBox, bool cudaArray) |
bool | SetVolumeData (float *volume, void *colors, VolTexFormat texformat, uint3 gridsize, float3 gridOrigin, float3 boundingBox, bool cudaArray) |
void | SetSubVolume (uint3 start, uint3 end) |
void | computeIsosurface (float3 *vertOut, float3 *normOut, float3 *colOut, unsigned int maxverts) |
void | computeIsosurface (float3 *vertOut, float3 *normOut, uchar4 *colOut, unsigned int maxverts) |
void | computeIsosurface (float3 *vertOut, char3 *normOut, uchar4 *colOut, unsigned int maxverts) |
bool | computeIsosurface (float *volume, void *colors, VolTexFormat texformat, uint3 gridsize, float3 gridOrigin, float3 boundingBox, bool cudaArray, float3 *vertOut, float3 *normOut, float3 *colOut, unsigned int maxverts) |
float | computeSurfaceArea (float3 *verts, unsigned int triaCount) |
void | SetIsovalue (float isoval) |
float | GetIsovalue () |
unsigned int | GetVertexCount () |
unsigned int | GetActiveVoxelCount () |
unsigned int | GetVoxelCount () |
bool | UseColor () |
void | Cleanup () |
size_t | MemUsageAreaCalc (unsigned int triaCount) const |
Static Public Methods | |
size_t | MemUsageMC (unsigned int gx, unsigned int gy, unsigned int gz) |
|
Definition at line 68 of file CUDAMarchingCubes.h. |
|
constructor.
Definition at line 683 of file CUDAMarchingCubes.cu. References RGB3F. |
|
destructor.
Definition at line 725 of file CUDAMarchingCubes.cu. References Cleanup. |
|
Frees all allocated memory and resets all variables. Definition at line 730 of file CUDAMarchingCubes.cu. Referenced by computeIsosurface, Initialize, SetVolumeData, and ~CUDAMarchingCubes. |
|
Compute the isosurface using the Marching Cubes algorithm. The function initializes and frees device memory for each computation.
Definition at line 1274 of file CUDAMarchingCubes.cu. References Cleanup, computeIsosurface, Initialize, and SetVolumeData. |
|
Definition at line 1014 of file CUDAMarchingCubes.cu. References make_float3, RGB3F, and RGB4U. |
|
Definition at line 978 of file CUDAMarchingCubes.cu. References make_float3, RGB3F, and RGB4U. |
|
Compute the isosurface using the Marching Cubes algorithm.
Definition at line 943 of file CUDAMarchingCubes.cu. References make_float3, RGB3F, and RGB4U. Referenced by computeIsosurface. |
|
Compute the surface area of the current isosurface.
Definition at line 1297 of file CUDAMarchingCubes.cu. References ThrustScanWrapperArea. |
|
Returns the total number of voxels that contribute to the isosurface.
Definition at line 208 of file CUDAMarchingCubes.h. |
|
Returns the current isovalue for the surface extraction.
Definition at line 194 of file CUDAMarchingCubes.h. |
|
Returns the maxgridsize supported by the current object
Definition at line 86 of file CUDAMarchingCubes.h. |
|
Returns the total number of triangle vertices of the isosurface.
Definition at line 201 of file CUDAMarchingCubes.h. |
|
Returns the total number of voxels.
Definition at line 215 of file CUDAMarchingCubes.h. |
|
Initialization: Set variables and allocate device memory for computation
Definition at line 1046 of file CUDAMarchingCubes.cu. References Cleanup. Referenced by computeIsosurface. |
|
Return the amount of GPU memory that is be needed for the area calculation for a given number of triangles. TODO this number does not include memory for thrust::scan
Definition at line 258 of file CUDAMarchingCubes.h. |
|
Return the amount of GPU memory that is be needed for the Marching Cubes calculation for a given grid size. TODO the allotments for the 3-D texture map and thrust are just a guess
Definition at line 239 of file CUDAMarchingCubes.h. |
|
Set the isovalue for the surface extraction.
Definition at line 187 of file CUDAMarchingCubes.h. |
|
Set the volume sub-region for which the isosurface will be extracted.
Definition at line 1260 of file CUDAMarchingCubes.cu. |
|
Set or update the density grid data. For device memory, this is just a pointer assignment. For host memory, this includes allocation of device memory and device-host copying.
Definition at line 1079 of file CUDAMarchingCubes.cu. References Cleanup, make_float3, NULL, RGB3F, RGB4U, and size. |
|
Definition at line 1253 of file CUDAMarchingCubes.cu. References RGB4U, and SetVolumeData. |
|
Set or update the density grid data. For device memory, this is just a pointer assignment. For host memory, this includes allocation of device memory and device-host copying.
Definition at line 1247 of file CUDAMarchingCubes.cu. References RGB3F. Referenced by computeIsosurface, and SetVolumeData. |
|
Returns wether a color table was computed for the surface or not.
Definition at line 222 of file CUDAMarchingCubes.h. |