OpendTect-6_4  6.4
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
ExplicitMarchingCubesSurface Class Reference
Inheritance diagram for ExplicitMarchingCubesSurface:
[legend]

Public Member Functions

 ExplicitMarchingCubesSurface (MarchingCubesSurface *)
 
 ~ExplicitMarchingCubesSurface ()
 
void setSurface (MarchingCubesSurface *)
 
MarchingCubesSurfacegetSurface ()
 
const MarchingCubesSurfacegetSurface () const
 
void removeAll (bool deep)
 
bool update (bool forceall, TaskRunner *=0)
 
bool needsUpdate () const
 
bool createsNormals () const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (NotifierAccess &, const CallBack &, bool onlyifnew=false)
 
bool attachCB (NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false)
 
void detachCB (NotifierAccess &, const CallBack &)
 
void detachCB (NotifierAccess *notif, const CallBack &cb)
 
bool isNotifierAttached (NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
- Public Member Functions inherited from Geometry::IndexedShape
virtual ~IndexedShape ()
 
virtual void setCoordList (Coord3List *cl, Coord3List *nl=0, Coord3List *texturecoords=0, bool createnew=true)
 
virtual void setRightHandedNormals (bool)
 
virtual bool createsTextureCoords () const
 
const ObjectSet< IndexedGeometry > & getGeometry () const
 
ObjectSet< IndexedGeometry > & getGeometry ()
 
const Coord3ListcoordList () const
 
Coord3ListcoordList ()
 
const Coord3ListnormalCoordList () const
 
Coord3ListnormalCoordList ()
 
const Coord3ListtextureCoordList () const
 
Coord3ListtextureCoordList ()
 
int getVersion () 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 Member Functions inherited from CallBacker
void detachAllNotifiers ()
 Call from the destructor of your inherited object. More...
 
- Protected Member Functions inherited from Geometry::IndexedShape
 IndexedShape ()
 
void addVersion ()
 

Protected Attributes

MarchingCubesSurfacesurface_
 
Interval< int > * changedbucketranges_ [3]
 
int lastversionupdate_
 
MultiDimStorage< int > coordindices_
 
Threads::Lock coordindiceslock_
 
MultiDimStorage< Geometry::IndexedGeometry * > ibuckets_
 
- Protected Attributes inherited from Geometry::IndexedShape
Threads::Lock geometrieslock_
 
ObjectSet< IndexedGeometrygeometries_
 
Coord3Listcoordlist_
 
Coord3Listnormallist_
 
Coord3Listtexturecoordlist_
 
bool righthandednormals_
 

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
inlinevirtual

Reimplemented from Geometry::IndexedShape.

int ExplicitMarchingCubesSurface::getBucketPos ( int  pos) const
protected
bool ExplicitMarchingCubesSurface::getCoordIndices ( const int *  pos,
int *  res 
)
protected
MarchingCubesSurface* ExplicitMarchingCubesSurface::getSurface ( )
inline
const MarchingCubesSurface* ExplicitMarchingCubesSurface::getSurface ( ) const
inline
bool ExplicitMarchingCubesSurface::needsUpdate ( ) const
virtual

Reimplemented from Geometry::IndexedShape.

void ExplicitMarchingCubesSurface::removeAll ( bool  deep)
virtual

deep will remove all things from lists (coords,normals++). Non-deep will just leave them there

Reimplemented from Geometry::IndexedShape.

void ExplicitMarchingCubesSurface::removeBuckets ( const Interval< int > &  xrg,
const Interval< int > &  yrg,
const Interval< int > &  zrg 
)
protected
void ExplicitMarchingCubesSurface::setSurface ( MarchingCubesSurface )
void ExplicitMarchingCubesSurface::surfaceChange ( CallBacker )
protected
bool ExplicitMarchingCubesSurface::update ( bool  forceall,
TaskRunner = 0 
)
virtual

Reimplemented from Geometry::IndexedShape.

bool ExplicitMarchingCubesSurface::update ( const Interval< int > &  xrg,
const Interval< int > &  yrg,
const Interval< int > &  zrg,
TaskRunner = 0 
)
protected
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

Interval<int>* ExplicitMarchingCubesSurface::changedbucketranges_[3]
protected
MultiDimStorage<int> ExplicitMarchingCubesSurface::coordindices_
protected
Threads::Lock ExplicitMarchingCubesSurface::coordindiceslock_
protected
MultiDimStorage<Geometry::IndexedGeometry*> ExplicitMarchingCubesSurface::ibuckets_
protected
int ExplicitMarchingCubesSurface::lastversionupdate_
protected
MarchingCubesSurface* ExplicitMarchingCubesSurface::surface_
protected

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2019