Public Member Functions | |
| MarchingCubesSurfaceEditor (MarchingCubesSurface &) | |
| virtual | ~MarchingCubesSurfaceEditor () |
| bool | setKernel (const Array3D< unsigned char > &, int xpos, int ypos, int zpos) |
| Kernel becomes mine. | |
| bool | setFactor (int) |
| int | getFactor () const |
| const Coord3 & | getCenterNormal () const |
| virtual bool | affectedVolume (Interval< int > &xrg, Interval< int > &yrg, Interval< int > &zrg) const |
Public Attributes | |
| Notifier < MarchingCubesSurfaceEditor > | shapeChange |
Protected Member Functions | |
| void | reportShapeChange (bool kernelchange) |
Protected Attributes | |
| MarchingCubesSurface & | surface_ |
| int | factor_ |
| int | prevfactor_ |
| Array3D< unsigned char > * | kernel_ |
| Array3D< int > * | changedsurface_ |
| Array3D< int > * | originalsurface_ |
| float | threshold_ |
| Coord3 | centernormal_ |
| int | xorigin_ |
| int | yorigin_ |
| int | zorigin_ |
Private Member Functions | |
| od_int64 | nrIterations () const |
| bool | doPrepare (int) |
| bool | doWork (od_int64, od_int64, int) |
| bool | doFinish (bool) |
Editor for MarchingCubesSurfaces. It operates by converting a part of the MarchingCubesSurface to an implicit represetation (a scalar field and a threshold), modifies that scalar field and re-generates the MarchingCubesSurfaces.
The modification of the implicit representation is guided by:
NewImplicitShape = OriginalShape + Kernel * factor
The Kernel is a scalar field (values between 0 and 255) represents the shape of the movement, and the factor is set by from the outside.
| MarchingCubesSurfaceEditor::MarchingCubesSurfaceEditor | ( | MarchingCubesSurface & | ) |
| virtual MarchingCubesSurfaceEditor::~MarchingCubesSurfaceEditor | ( | ) | [virtual] |
| virtual bool MarchingCubesSurfaceEditor::affectedVolume | ( | Interval< int > & | xrg, | |
| Interval< int > & | yrg, | |||
| Interval< int > & | zrg | |||
| ) | const [virtual] |
| bool MarchingCubesSurfaceEditor::doFinish | ( | bool | ) | [private, virtual] |
Reimplemented from ParallelTask.
| bool MarchingCubesSurfaceEditor::doPrepare | ( | int | ) | [private, virtual] |
Reimplemented from ParallelTask.
| bool MarchingCubesSurfaceEditor::doWork | ( | od_int64 | , | |
| od_int64 | , | |||
| int | ||||
| ) | [private] |
| const Coord3& MarchingCubesSurfaceEditor::getCenterNormal | ( | ) | const |
| int MarchingCubesSurfaceEditor::getFactor | ( | ) | const [inline] |
| od_int64 MarchingCubesSurfaceEditor::nrIterations | ( | ) | const [private, virtual] |
Implements ParallelTask.
| void MarchingCubesSurfaceEditor::reportShapeChange | ( | bool | kernelchange | ) | [protected] |
Should be called by inheriting class if it has changed kernel size or kernel position.
| bool MarchingCubesSurfaceEditor::setFactor | ( | int | ) |
a value of 255 is one voxel if the kernel is 255
| bool MarchingCubesSurfaceEditor::setKernel | ( | const Array3D< unsigned char > & | , | |
| int | xpos, | |||
| int | ypos, | |||
| int | zpos | |||
| ) |
Kernel becomes mine.
Coord3 MarchingCubesSurfaceEditor::centernormal_ [protected] |
Array3D<int>* MarchingCubesSurfaceEditor::changedsurface_ [protected] |
int MarchingCubesSurfaceEditor::factor_ [protected] |
Array3D<unsigned char>* MarchingCubesSurfaceEditor::kernel_ [protected] |
Array3D<int>* MarchingCubesSurfaceEditor::originalsurface_ [protected] |
int MarchingCubesSurfaceEditor::prevfactor_ [protected] |
MarchingCubesSurface& MarchingCubesSurfaceEditor::surface_ [protected] |
float MarchingCubesSurfaceEditor::threshold_ [protected] |
int MarchingCubesSurfaceEditor::xorigin_ [protected] |
int MarchingCubesSurfaceEditor::yorigin_ [protected] |
int MarchingCubesSurfaceEditor::zorigin_ [protected] |
1.7.1