#include <Isosurface.h>
Public Methods | |
IsoSurface () | |
constructor. More... | |
int | compute (VolumetricData *, float isovalue, int step) |
calculate isosurface for a given isovalue and step size. More... | |
void | normalize (void) |
renormalize surface normals. More... | |
int | vertexfusion (int offset, int len) |
eliminate redundant vertices after the fact. More... | |
int | set_color_rgb3fv (const float *rgb) |
assign a single color for the entire mesh. More... | |
int | set_color_voltex_rgb3fv (const float *voltex) |
assign per-vertex colors from a volumetric texture map with the same dimensions as the original volumetric data. More... | |
void | clear () |
free up memory. More... | |
int | DoGridPosNorms (float isovalue, int step) |
int | DoCellGeneral (int x, int y, int z, float isovalue, int step) |
int | Polygonise (const GRIDCELL grid, const float isolevel, TRIANGLE *triangles) |
void | VertexInterp (float isolevel, const GRIDCELL grid, int ind1, int ind2, XYZ *vert, XYZ *norm) |
Public Attributes | |
int | numtriangles |
number of triangles in the facet list. More... | |
ResizeArray< float > | v |
vertices. More... | |
ResizeArray< float > | n |
normals. More... | |
ResizeArray< float > | c |
colors. More... | |
ResizeArray< int > | f |
facets. More... | |
VolumetricData * | vol |
volume data pointer. More... | |
float | xax [3] |
float | yax [3] |
float | zax [3] |
per-voxel/cell axes. More... | |
float | xad [3] |
float | yad [3] |
float | zad [3] |
volume basis direction vectors. More... |
Definition at line 37 of file Isosurface.h.
|
constructor.
Definition at line 22 of file Isosurface.C. |
|
free up memory.
Definition at line 24 of file Isosurface.C. References c, ResizeArray< int >::clear, ResizeArray< float >::clear, f, n, numtriangles, and v. Referenced by QuickSurf::QuickSurf. |
|
calculate isosurface for a given isovalue and step size.
Definition at line 33 of file Isosurface.C. References VolumetricData::cell_axes, VolumetricData::cell_dirs, cross_prod, data, DoCellGeneral, DoGridPosNorms, dot_prod, isovalue, vol, xad, xax, VolumetricData::xsize, yad, yax, VolumetricData::ysize, z, zad, zax, and VolumetricData::zsize. |
|
Definition at line 224 of file Isosurface.C. References VolumetricData::access_volume_gradient, ResizeArray< float >::append3, ResizeArray< int >::append3, GRIDCELL::cubeindex, VolumetricData::data, f, GRIDCELL::g, isovalue, n, TRIANGLE::n, numtriangles, VolumetricData::origin, TRIANGLE::p, GRIDCELL::p, Polygonise, v, GRIDCELL::val, vol, VOXEL_GRADIENT_FAST, XYZ::x, xad, xax, VolumetricData::xsize, XYZ::y, yad, yax, VolumetricData::ysize, XYZ::z, z, zad, and zax. Referenced by compute. |
|
Definition at line 92 of file Isosurface.C. References VolumetricData::access_volume_gradient, ResizeArray< float >::append3, ResizeArray< int >::append3, GRIDCELL::cubeindex, VolumetricData::data, f, GRIDCELL::g, isovalue, n, numtriangles, VolumetricData::origin, TRIANGLE::p, GRIDCELL::p, Polygonise, v, GRIDCELL::val, vol, VOXEL_GRADIENT_FAST, XYZ::x, xax, VolumetricData::xsize, XYZ::y, yax, VolumetricData::ysize, XYZ::z, z, zax, and VolumetricData::zsize. Referenced by compute. |
|
renormalize surface normals.
Definition at line 381 of file Isosurface.C. References n, ResizeArray< float >::num, and vec_normalize. |
|
Definition at line 465 of file Isosurface.C. References GRIDCELL::cubeindex, TRIANGLE::n, TRIANGLE::p, and VertexInterp. Referenced by DoCellGeneral, and DoGridPosNorms. |
|
assign a single color for the entire mesh.
Definition at line 582 of file Isosurface.C. References c, ResizeArray< float >::extend, ResizeArray< float >::num, ResizeArray< float >::set_size, and v. |
|
assign per-vertex colors from a volumetric texture map with the same dimensions as the original volumetric data.
Definition at line 602 of file Isosurface.C. References ResizeArray< float >::append3, c, MAX, MIN, ResizeArray< float >::num, VolumetricData::origin, v, vec_copy, vec_normalize, vol, xax, VolumetricData::xsize, yax, VolumetricData::ysize, z, zax, and VolumetricData::zsize. |
|
eliminate redundant vertices after the fact.
Definition at line 391 of file Isosurface.C. References f, n, ResizeArray< float >::num, ResizeArray< int >::num, ResizeArray< float >::truncatelastn, and v. |
|
Definition at line 519 of file Isosurface.C. References GRIDCELL::g, GRIDCELL::p, GRIDCELL::val, XYZ::x, XYZ::y, and XYZ::z. Referenced by Polygonise. |
|
colors.
Definition at line 42 of file Isosurface.h. Referenced by clear, set_color_rgb3fv, and set_color_voltex_rgb3fv. |
|
facets.
Definition at line 43 of file Isosurface.h. Referenced by clear, DoCellGeneral, DoGridPosNorms, and vertexfusion. |
|
normals.
Definition at line 41 of file Isosurface.h. Referenced by clear, DoCellGeneral, DoGridPosNorms, normalize, and vertexfusion. |
|
number of triangles in the facet list.
Definition at line 39 of file Isosurface.h. Referenced by clear, DoCellGeneral, and DoGridPosNorms. |
|
vertices.
Definition at line 40 of file Isosurface.h. Referenced by clear, DoCellGeneral, DoGridPosNorms, set_color_rgb3fv, set_color_voltex_rgb3fv, and vertexfusion. |
|
volume data pointer.
Definition at line 44 of file Isosurface.h. Referenced by compute, DoCellGeneral, DoGridPosNorms, and set_color_voltex_rgb3fv. |
|
Definition at line 46 of file Isosurface.h. Referenced by compute, and DoCellGeneral. |
|
Definition at line 45 of file Isosurface.h. Referenced by compute, DoCellGeneral, DoGridPosNorms, and set_color_voltex_rgb3fv. |
|
Definition at line 46 of file Isosurface.h. Referenced by compute, and DoCellGeneral. |
|
Definition at line 45 of file Isosurface.h. Referenced by compute, DoCellGeneral, DoGridPosNorms, and set_color_voltex_rgb3fv. |
|
volume basis direction vectors.
Definition at line 46 of file Isosurface.h. Referenced by compute, and DoCellGeneral. |
|
per-voxel/cell axes.
Definition at line 45 of file Isosurface.h. Referenced by compute, DoCellGeneral, DoGridPosNorms, and set_color_voltex_rgb3fv. |