Public Member Functions | Protected Member Functions | Protected Attributes | Friends

MarchingCubes2Implicit Class Reference

Inheritance diagram for MarchingCubes2Implicit:
ParallelTask Task NamedObject CallBacker

List of all members.

Public Member Functions

 MarchingCubes2Implicit (const MarchingCubesSurface &, Array3D< int > &, int originx, int originy, int originz, bool nodistance)
 ~MarchingCubes2Implicit ()
float threshold () const

Protected Member Functions

od_int64 nrDone () const
od_int64 nrIterations () const
bool doPrepare (int)
bool doWork (od_int64, od_int64, int)
bool processSeeds (const od_int64 *, int nr)
bool shouldSetValue (od_int64 offset, int newval)
void setValue (od_int64 offset, int newval, bool checkval)

Protected Attributes

const MarchingCubesSurfacesurface_
int originx_
int originy_
int originz_
int size_ [3]
bool nodistance_
Threads::Barrier barrier_
Array3D< int > & result_
od_int64 nrdefined_
bool * newfloodfillers_
TypeSet< od_int64 > activefloodfillers_

Friends

class MarchingCubes2ImplicitDistGen

Detailed Description

Fills an Array3D with the distance to a MarchingCubesSurface. Implementation goes in two steps: 1) the array is filled close to the surface (in doPrepare() ) 2) the array is flood filled from there.


Constructor & Destructor Documentation

MarchingCubes2Implicit::MarchingCubes2Implicit ( const MarchingCubesSurface ,
Array3D< int > &  ,
int  originx,
int  originy,
int  originz,
bool  nodistance 
)

originx .. originz gives the surface location of the array's origin.

Parameters:
nodistance enables faster processing, but the array will only be filled with -1, 0 and 1 depending on the side of the surface
MarchingCubes2Implicit::~MarchingCubes2Implicit (  ) 

Member Function Documentation

bool MarchingCubes2Implicit::doPrepare ( int   )  [protected, virtual]

Reimplemented from ParallelTask.

bool MarchingCubes2Implicit::doWork ( od_int64  ,
od_int64  ,
int   
) [protected]
od_int64 MarchingCubes2Implicit::nrDone (  )  const [protected, virtual]

Reimplemented from ParallelTask.

od_int64 MarchingCubes2Implicit::nrIterations (  )  const [protected, virtual]

Implements ParallelTask.

bool MarchingCubes2Implicit::processSeeds ( const od_int64 *  ,
int  nr 
) [protected]
void MarchingCubes2Implicit::setValue ( od_int64  offset,
int  newval,
bool  checkval 
) [protected]
bool MarchingCubes2Implicit::shouldSetValue ( od_int64  offset,
int  newval 
) [protected]
float MarchingCubes2Implicit::threshold (  )  const [inline]

Friends And Related Function Documentation

friend class MarchingCubes2ImplicitDistGen [friend]

Member Data Documentation

od_int64 MarchingCubes2Implicit::nrdefined_ [protected]
int MarchingCubes2Implicit::size_[3] [protected]