#include <smoothmask3d.h>
Display a mesh for a mask. It is an isosurface whose isovalue represents the boundary of the mask.
This classes uses a binary mask of any type. Possible values of the masks are 0 and anything but 0.
For better results use the following OpenGL initialization:
glShadeModel(GL_SMOOTH); glEnable(GL_DEPTH_TEST); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
To use it, use:
unsigned char* volume; // e.g., [512*512*512] volume unsigned char* mask; // e.g., [512*512*512] fill mask Display::SmoothMask3D displayMask; displayMask.update(volume, mask, 512,512,512); glColor3f(0.8,0,0); // color of the mask displayMask.display();
Public Member Functions | |
| SmoothMask3D () | |
| ~SmoothMask3D () | |
| template<typename DataType, typename MaskType> | |
| void | update (const DataType *data, const MaskType *mask, unsigned int width, unsigned int height, unsigned int depth) |
| void | display () const |
| void | clear () |
Classes | |
| struct | GRIDCELL |
| struct | TRIANGLE |
| struct | XYZ |
| Display::SmoothMask3D::SmoothMask3D | ( | ) |
| Display::SmoothMask3D::~SmoothMask3D | ( | ) |
| void Display::SmoothMask3D::update | ( | const DataType * | data, | |
| const MaskType * | mask, | |||
| unsigned int | width, | |||
| unsigned int | height, | |||
| unsigned int | depth | |||
| ) | [inline] |
update the visualizer with a new mask internally creates or update the display list
| data | volume data (we will get its gradient for the surface normal | |
| mask | binary mask (either 0 or else) |
| void Display::SmoothMask3D::display | ( | ) | const |
display the display list
| void Display::SmoothMask3D::clear | ( | ) |
clear the mask, remove any display list
1.5.5