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

Protected Member Functions

bool allBucketsHaveChanged () const
 
int getBucketPos (int pos) const
 
bool getCoordIndices (const int *pos, int *res)
 
void removeBuckets (const Interval< int > &xrg, const Interval< int > &yrg, const Interval< int > &zrg)
 
void surfaceChange (CallBacker *)
 
bool update (const Interval< int > &xrg, const Interval< int > &yrg, const Interval< int > &zrg, TaskRunner *=0)
 
bool updateCoordinate (const int *pos, const int *idxs, int *res)
 
bool updateCoordinates (const int *pos)
 
bool updateIndices (const int *pos)
 
- Protected Member Functions inherited from Geometry::IndexedShape
 IndexedShape ()
 
void addVersion ()
 

Protected Attributes

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

Friends

class ExplicitMarchingCubesSurfaceUpdater
 

Additional Inherited Members

- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

Detailed Description

A triangulated representation of an MarchingCubesSurface.

<>

Constructor & Destructor Documentation

◆ ExplicitMarchingCubesSurface()

ExplicitMarchingCubesSurface::ExplicitMarchingCubesSurface ( MarchingCubesSurface )

◆ ~ExplicitMarchingCubesSurface()

ExplicitMarchingCubesSurface::~ExplicitMarchingCubesSurface ( )

Member Function Documentation

◆ allBucketsHaveChanged()

bool ExplicitMarchingCubesSurface::allBucketsHaveChanged ( ) const
protected

◆ createsNormals()

bool ExplicitMarchingCubesSurface::createsNormals ( ) const
inlineoverridevirtual

Reimplemented from Geometry::IndexedShape.

◆ getBucketPos()

int ExplicitMarchingCubesSurface::getBucketPos ( int  pos) const
protected

◆ getCoordIndices()

bool ExplicitMarchingCubesSurface::getCoordIndices ( const int *  pos,
int *  res 
)
protected

◆ getSurface() [1/2]

MarchingCubesSurface* ExplicitMarchingCubesSurface::getSurface ( )
inline

◆ getSurface() [2/2]

const MarchingCubesSurface* ExplicitMarchingCubesSurface::getSurface ( ) const
inline

◆ needsUpdate()

bool ExplicitMarchingCubesSurface::needsUpdate ( ) const
overridevirtual

Reimplemented from Geometry::IndexedShape.

◆ removeAll()

void ExplicitMarchingCubesSurface::removeAll ( bool  deep)
overridevirtual

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

Reimplemented from Geometry::IndexedShape.

◆ removeBuckets()

void ExplicitMarchingCubesSurface::removeBuckets ( const Interval< int > &  xrg,
const Interval< int > &  yrg,
const Interval< int > &  zrg 
)
protected

◆ setSurface()

void ExplicitMarchingCubesSurface::setSurface ( MarchingCubesSurface )

◆ surfaceChange()

void ExplicitMarchingCubesSurface::surfaceChange ( CallBacker )
protected

◆ update() [1/2]

bool ExplicitMarchingCubesSurface::update ( bool  forceall,
TaskRunner = 0 
)
overridevirtual

Reimplemented from Geometry::IndexedShape.

◆ update() [2/2]

bool ExplicitMarchingCubesSurface::update ( const Interval< int > &  xrg,
const Interval< int > &  yrg,
const Interval< int > &  zrg,
TaskRunner = 0 
)
protected

◆ updateCoordinate()

bool ExplicitMarchingCubesSurface::updateCoordinate ( const int *  pos,
const int *  idxs,
int *  res 
)
protected

◆ updateCoordinates()

bool ExplicitMarchingCubesSurface::updateCoordinates ( const int *  pos)
protected

◆ updateIndices()

bool ExplicitMarchingCubesSurface::updateIndices ( const int *  pos)
protected

Friends And Related Function Documentation

◆ ExplicitMarchingCubesSurfaceUpdater

friend class ExplicitMarchingCubesSurfaceUpdater
friend

Member Data Documentation

◆ changedbucketranges_

Interval<int>* ExplicitMarchingCubesSurface::changedbucketranges_[3]
protected

◆ coordindices_

MultiDimStorage<int> ExplicitMarchingCubesSurface::coordindices_
protected

◆ coordindiceslock_

Threads::Lock ExplicitMarchingCubesSurface::coordindiceslock_
protected

◆ ibuckets_

MultiDimStorage<Geometry::IndexedGeometry*> ExplicitMarchingCubesSurface::ibuckets_
protected

◆ lastversionupdate_

int ExplicitMarchingCubesSurface::lastversionupdate_
protected

◆ surface_

MarchingCubesSurface* ExplicitMarchingCubesSurface::surface_
protected

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