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

Public Member Functions

 MarchingCubesSurfaceEditor (MarchingCubesSurface &)
 
virtual ~MarchingCubesSurfaceEditor ()
 
bool setKernel (const Array3D< unsigned char > &, int xpos, int ypos, int zpos)
 Kernel becomes mine. More...
 
bool setFactor (int)
 
int getFactor () const
 
const Coord3getCenterNormal () const
 
virtual bool affectedVolume (Interval< int > &xrg, Interval< int > &yrg, Interval< int > &zrg) const
 
- Public Member Functions inherited from ParallelTask
virtual ~ParallelTask ()
 
bool execute ()
 
virtual bool executeParallel (bool parallel)
 
void setProgressMeter (ProgressMeter *)
 Must be called before execute() More...
 
int64_t nrDone () const
 May be -1, i.e. class does not report nrdone. More...
 
int64_t totalNr () const
 
- Public Member Functions inherited from Task
virtual ~Task ()
 
virtual uiString uiMessage () const
 will be message() again in 7.x More...
 
virtual uiString uiNrDoneText () const
 will be nrDoneText() in 7.x More...
 
virtual void enableWorkControl (bool=true)
 Must be called before execute() More...
 
bool workControlEnabled () const
 
virtual void controlWork (Control)
 
virtual Control getState () const
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=0)
 
 NamedObject (const NamedObject *linkedto)
 
 NamedObject (const NamedObject &)
 
virtual ~NamedObject ()
 
void setLinkedTo (NamedObject *)
 
bool operator== (const NamedObject &oth) const
 
virtual const OD::Stringname () const
 
virtual const OD::StringannotName () const
 
virtual void setName (const char *)
 
void setCleanName (const char *)
 cleans string first More...
 
void deleteNotify (const CallBack &)
 
- 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 Attributes

Notifier< MarchingCubesSurfaceEditorshapeChange
 

Protected Member Functions

void reportShapeChange (bool kernelchange)
 
- Protected Member Functions inherited from ParallelTask
virtual int maxNrThreads () const
 
virtual int minThreadSize () const
 
virtual bool stopAllOnFailure () const
 
 ParallelTask (const char *nm=0)
 
 ParallelTask (const ParallelTask &)
 
int64_t calculateThreadSize (int64_t totalnr, int nrthreads, int thread) const
 
void addToNrDone (int64_t increment)
 
void quickAddToNrDone (int64_t loopidx)
 
void resetNrDone ()
 
- Protected Member Functions inherited from Task
 Task (const char *nm=0)
 
virtual bool shouldContinue ()
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers ()
 Call from the destructor of your inherited object. More...
 

Protected Attributes

MarchingCubesSurfacesurface_
 
int factor_
 
int prevfactor_
 
Array3D< unsigned char > * kernel_
 
Array3D< int > * changedsurface_
 
Array3D< int > * originalsurface_
 
float threshold_
 
Coord3 centernormal_
 
int xorigin_
 
int yorigin_
 
int zorigin_
 
- Protected Attributes inherited from Task
Control control_
 
Threads::ConditionVarworkcontrolcondvar_
 
- Protected Attributes inherited from NamedObject
BufferStringname_
 
NamedObjectlinkedto_
 
CallBackSetdelnotify_
 

Private Member Functions

od_int64 nrIterations () const
 
bool doPrepare (int)
 
bool doWork (od_int64, od_int64, int)
 
bool doFinish (bool)
 

Additional Inherited Members

- Public Types inherited from Task
enum  Control { Run, Pause, Stop }
 
- Static Public Member Functions inherited from ParallelTask
static uiString sPosFinished ()
 
static uiString sTrcFinished ()
 
- Static Public Member Functions inherited from Task
static uiString stdNrDoneText ()
 
static uiString uiStdNrDoneText ()
 

Detailed Description

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.

Constructor & Destructor Documentation

MarchingCubesSurfaceEditor::MarchingCubesSurfaceEditor ( MarchingCubesSurface )
virtual MarchingCubesSurfaceEditor::~MarchingCubesSurfaceEditor ( )
virtual

Member Function Documentation

virtual bool MarchingCubesSurfaceEditor::affectedVolume ( Interval< int > &  xrg,
Interval< int > &  yrg,
Interval< int > &  zrg 
) const
virtual
bool MarchingCubesSurfaceEditor::doFinish ( bool  success)
privatevirtual

Called after all doWork have finished.

Parameters
successindicates whether all doWork returned true.

Reimplemented from ParallelTask.

bool MarchingCubesSurfaceEditor::doPrepare ( int  nrthreads)
privatevirtual

Called once, before any doWork is called.

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
privatevirtual
Returns
the number of times the process should be run.

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.

Member Data Documentation

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
Notifier<MarchingCubesSurfaceEditor> MarchingCubesSurfaceEditor::shapeChange
MarchingCubesSurface& MarchingCubesSurfaceEditor::surface_
protected
float MarchingCubesSurfaceEditor::threshold_
protected
int MarchingCubesSurfaceEditor::xorigin_
protected
int MarchingCubesSurfaceEditor::yorigin_
protected
int MarchingCubesSurfaceEditor::zorigin_
protected

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