#include <CUDAMarchingCubes.h>
Public Methods | |
| CUDAMarchingCubes () | |
| constructor. More... | |
| ~CUDAMarchingCubes () | |
| destructor. More... | |
| bool | Initialize (uint3 maxgridsize) |
| uint3 | GetMaxGridSize () const |
| bool | SetVolumeData (float *volume, float *colors, 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) |
| Run the Cuda part of the computation/////////////////////////////////////////////////////////////////////////////. More... | |
| bool | computeIsosurface (float *volume, float *colors, 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) |
|
|
constructor.
Definition at line 550 of file CUDAMarchingCubes.cu. |
|
|
destructor.
Definition at line 586 of file CUDAMarchingCubes.cu. References Cleanup. |
|
|
Frees all allocated memory and resets all variables. Definition at line 591 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 972 of file CUDAMarchingCubes.cu. References Cleanup, computeIsosurface, Initialize, and SetVolumeData. |
|
||||||||||||||||||||
|
Run the Cuda part of the computation/////////////////////////////////////////////////////////////////////////////. Compute the isosurface using the Marching Cubes algorithm.
Definition at line 620 of file CUDAMarchingCubes.cu. References NTHREADS, and ThrustScanWrapperUint2. Referenced by CUDAQuickSurf::calc_surf, and computeIsosurface. |
|
||||||||||||
|
Compute the surface area of the current isosurface.
Definition at line 996 of file CUDAMarchingCubes.cu. References ThrustScanWrapperArea. |
|
|
Returns the total number of voxels that contribute to the isosurface.
Definition at line 137 of file CUDAMarchingCubes.h. |
|
|
Returns the current isovalue for the surface extraction.
Definition at line 123 of file CUDAMarchingCubes.h. |
|
|
Returns the maxgridsize supported by the current object
Definition at line 42 of file CUDAMarchingCubes.h. Referenced by CUDAQuickSurf::calc_surf. |
|
|
Returns the total number of triangle vertices of the isosurface.
Definition at line 130 of file CUDAMarchingCubes.h. Referenced by CUDAQuickSurf::calc_surf. |
|
|
Returns the total number of voxels.
Definition at line 144 of file CUDAMarchingCubes.h. |
|
|
Initialization: Set variables and allocate device memory for computation
Definition at line 791 of file CUDAMarchingCubes.cu. References allocateTextures, and Cleanup. Referenced by CUDAQuickSurf::calc_surf, and 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 187 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 168 of file CUDAMarchingCubes.h. Referenced by CUDAQuickSurf::alloc_bufs. |
|
|
Set the isovalue for the surface extraction.
Definition at line 116 of file CUDAMarchingCubes.h. Referenced by CUDAQuickSurf::calc_surf. |
|
||||||||||||
|
Set the volume sub-region for which the isosurface will be extracted.
Definition at line 958 of file CUDAMarchingCubes.cu. Referenced by CUDAQuickSurf::calc_surf. |
|
||||||||||||||||||||||||||||
|
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 824 of file CUDAMarchingCubes.cu. References bindVolumeTexture, Cleanup, and NULL. Referenced by CUDAQuickSurf::calc_surf, and computeIsosurface. |
|
|
Returns wether a color table was computed for the surface or not.
Definition at line 151 of file CUDAMarchingCubes.h. |
1.2.14 written by Dimitri van Heesch,
© 1997-2002