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

ExplicitMarchingCubesSurface Class Reference

Inheritance diagram for ExplicitMarchingCubesSurface:
Geometry::IndexedShape CallBacker

List of all members.

Public Member Functions

 ExplicitMarchingCubesSurface (MarchingCubesSurface *)
 ~ExplicitMarchingCubesSurface ()
void setSurface (MarchingCubesSurface *)
MarchingCubesSurfacegetSurface ()
const MarchingCubesSurfacegetSurface () const
void removeAll ()
bool update (bool forceall, TaskRunner *=0)
void setAxisScales (const SamplingData< float > &xrg, const SamplingData< float > &yrg, const SamplingData< float > &zrg)
const SamplingData< float > & getAxisScale (int dim) const
bool createsNormals () const

Protected Member Functions

void surfaceChange (CallBacker *)
bool allBucketsHaveChanged () const
bool update (const Interval< int > &xrg, const Interval< int > &yrg, const Interval< int > &zrg, TaskRunner *=0)
void removeBuckets (const Interval< int > &xrg, const Interval< int > &yrg, const Interval< int > &zrg)
bool updateIndices (const int *pos)
bool getCoordIndices (const int *pos, int *res)
bool updateCoordinates (const int *pos)
bool updateCoordinate (const int *pos, const int *idxs, int *res)
int getBucketPos (int pos) const

Protected Attributes

MarchingCubesSurfacesurface_
SamplingData< float > * scale0_
SamplingData< float > * scale1_
SamplingData< float > * scale2_
Interval< int > * changedbucketranges_ [3]
MultiDimStorage< int > coordindices_
Threads::ReadWriteLock coordindiceslock_
MultiDimStorage
< Geometry::IndexedGeometry * > 
ibuckets_

Friends

class ExplicitMarchingCubesSurfaceUpdater

Detailed Description

A triangulated representation of an MarchingCubesSurface.


Constructor & Destructor Documentation

ExplicitMarchingCubesSurface::ExplicitMarchingCubesSurface ( MarchingCubesSurface  ) 
ExplicitMarchingCubesSurface::~ExplicitMarchingCubesSurface (  ) 

Member Function Documentation

bool ExplicitMarchingCubesSurface::allBucketsHaveChanged (  )  const [protected]
bool ExplicitMarchingCubesSurface::createsNormals (  )  const [inline]
const SamplingData<float>& ExplicitMarchingCubesSurface::getAxisScale ( int  dim  )  const
int ExplicitMarchingCubesSurface::getBucketPos ( int  pos  )  const [protected]
bool ExplicitMarchingCubesSurface::getCoordIndices ( const int *  pos,
int *  res 
) [protected]
const MarchingCubesSurface* ExplicitMarchingCubesSurface::getSurface (  )  const [inline]
MarchingCubesSurface* ExplicitMarchingCubesSurface::getSurface (  )  [inline]
void ExplicitMarchingCubesSurface::removeAll (  ) 
void ExplicitMarchingCubesSurface::removeBuckets ( const Interval< int > &  xrg,
const Interval< int > &  yrg,
const Interval< int > &  zrg 
) [protected]
void ExplicitMarchingCubesSurface::setAxisScales ( const SamplingData< float > &  xrg,
const SamplingData< float > &  yrg,
const SamplingData< float > &  zrg 
)

If set, the coordinates in each dim will be scaled with these scales.

void ExplicitMarchingCubesSurface::setSurface ( MarchingCubesSurface  ) 
void ExplicitMarchingCubesSurface::surfaceChange ( CallBacker  )  [protected]
bool ExplicitMarchingCubesSurface::update ( const Interval< int > &  xrg,
const Interval< int > &  yrg,
const Interval< int > &  zrg,
TaskRunner = 0 
) [protected]
bool ExplicitMarchingCubesSurface::update ( bool  forceall,
TaskRunner = 0 
)
bool ExplicitMarchingCubesSurface::updateCoordinate ( const int *  pos,
const int *  idxs,
int *  res 
) [protected]
bool ExplicitMarchingCubesSurface::updateCoordinates ( const int *  pos  )  [protected]
bool ExplicitMarchingCubesSurface::updateIndices ( const int *  pos  )  [protected]

Friends And Related Function Documentation

friend class ExplicitMarchingCubesSurfaceUpdater [friend]

Member Data Documentation