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

Public Member Functions

 HorizonSection ()
 
virtual const char * getClassName () const
 
void setDisplayTransformation (const visBase::Transformation *)
 
const visBase::TransformationgetDisplayTransformation () const
 
void setZAxisTransform (ZAxisTransform *, TaskRunner *)
 
ZAxisTransformgetZAxisTransform ()
 
void useChannel (bool)
 
int nrChannels () const
 
void addChannel ()
 
void removeChannel (int)
 
void swapChannels (int, int)
 
int nrVersions (int channel) const
 
void setNrVersions (int channel, int)
 
int activeVersion (int channel) const
 
void selectActiveVersion (int channel, int)
 
void setColTabSequence (int channel, const ColTab::Sequence &)
 
const ColTab::SequencegetColTabSequence (int channel) const
 
void setColTabMapperSetup (int channel, const ColTab::MapperSetup &, TaskRunner *)
 
const ColTab::MapperSetupgetColTabMapperSetup (int channel) const
 
const TypeSet< float > * getHistogram (int channel) const
 
void setTransparency (int ch, unsigned char yn)
 
unsigned char getTransparency (int ch) const
 
void getDataPositions (DataPointSet &, double zoff, int sid, TaskRunner *) const
 
void setTextureData (int channel, const DataPointSet *, int sid, TaskRunner *)
 
const BinIDValueSetgetCache (int channel) const
 
void inValidateCache (int channel)
 
void setChannels2RGBA (TextureChannel2RGBA *)
 
TextureChannel2RGBAgetChannels2RGBA ()
 Don't share texture processes among sections. More...
 
const TextureChannel2RGBAgetChannels2RGBA () const
 
TextureChannelsgetChannels () const
 
void setTextureHandler (HorizonTextureHandler &)
 
HorizonTextureHandlergetTextureHandler ()
 Don't share texture handlers among sections. More...
 
void setSurface (Geometry::BinIDSurface *, bool conn, TaskRunner *)
 
Geometry::BinIDSurfacegetSurface () const
 
StepInterval< int > displayedRowRange () const
 
StepInterval< int > displayedColRange () const
 
void setDisplayRange (const StepInterval< int > &, const StepInterval< int > &)
 
void setTextureRange (const StepInterval< int > &, const StepInterval< int > &)
 
char nrResolutions () const
 
char currentResolution () const
 
void setResolution (char, TaskRunner *)
 
void setWireframeColor (Color col)
 
osgGeo::LayeredTexture * getOsgTexture () const
 
void updatePrimitiveSets ()
 
void turnOsgOn (bool)
 
void enableGeometryTypeDisplay (GeometryType type, bool yn)
 
bool isWireframeDisplayed () const
 
void forceRedraw (bool=true)
 
bool executePendingUpdates ()
 
int getNrTitles () const
 
bool getTitleCoordinates (int, TypeSet< Coord3 > &) const
 
const unsigned char * getTextureData (int titleidx, int &w, int &h) const
 
bool getTitleNormals (int titleidx, TypeSet< Coord3 > &) const
 
bool getTitleTextureCoordinates (int titleidx, TypeSet< Coord > &) const
 
bool getTitlePrimitiveSet (int titleidx, TypeSet< int > &, GeometryType) const
 
int getTexturePixelSizeInBits () const
 
void setUsingNeighborsInIsolatedLine (bool)
 
bool usingNeighborsInIsolatedLine () const
 
void setLineWidth (int)
 
int getLineWidth () const
 
- Public Member Functions inherited from visBase::VisualObjectImpl
void setRightHandSystem (bool yn)
 
bool isRightHandSystem () const
 
void setLockable ()
 
void readLock ()
 
void readUnLock ()
 
bool tryReadLock ()
 
void writeLock ()
 
void writeUnLock ()
 
bool tryWriteLock ()
 
void setMaterial (Material *)
 
const MaterialgetMaterial () const
 
MaterialgetMaterial ()
 
virtual bool usePar (const IOPar &)
 
virtual void fillPar (IOPar &) const
 
- Public Member Functions inherited from visBase::VisualObject
virtual bool getBoundingBox (Coord3 &min, Coord3 &max) const
 
virtual void setSceneEventCatcher (EventCatcher *)
 
void setSelectable (bool yn)
 
bool selectable () const
 
NotifierAccessselection ()
 
NotifierAccessdeSelection ()
 
virtual NotifierAccessrightClicked ()
 
const EventInforightClickedEventInfo () const
 
const TypeSet< int > * rightClickedPath () const
 
- Public Member Functions inherited from visBase::DataObject
virtual bool isOK () const
 
int id () const
 
void setID (int nid)
 
uiString name () const
 
virtual void setName (const uiString &)
 
osg::Node * osgNode (bool skipswitch=false)
 
const osg::Node * osgNode (bool skipswitch=false) const
 
void enableTraversal (unsigned int mask, bool yn=true)
 
bool isTraversalEnabled (unsigned int mask) const
 
SoNode * getInventorNode ()
 
const SoNode * getInventorNode () const
 
virtual bool turnOn (bool yn)
 
virtual bool isOn () const
 
bool isPickable (bool actively=true) const
 
void setPickable (bool actively, bool passively=true)
 
virtual bool rightClickable () const
 
void select () const
 
void deSelect () const
 
void updateSel () const
 
virtual bool isSelected () const
 
virtual void setPixelDensity (float dpi)
 
virtual float getPixelDensity () const
 
virtual const char * errMsg () const
 
bool serialize (const char *filename, bool binary=false)
 
void setParent (DataObjectGroup *g)
 
template<class T >
T * addNodeState (T *ns)
 
NodeStateremoveNodeState (NodeState *)
 
NodeStategetNodeState (int idx)
 
- 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...
 

Static Public Member Functions

static HorizonSectioncreate ()
 
static void initClass ()
 
static const char * getStaticClassName ()
 
static const char * sFactoryKeyword ()
 
- Static Public Member Functions inherited from visBase::VisualObjectImpl
static const char * sKeyMaterialID ()
 
static const char * sKeyMaterial ()
 
static const char * sKeyIsOn ()
 
- Static Public Member Functions inherited from visBase::DataObject
static int getID (const osg::Node *)
 
static float getDefaultPixelDensity ()
 
static void setVisualizationThread (const void *)
 Call only once from initialization. More...
 
static bool isVisualizationThread ()
 
static void requestSingleRedraw ()
 
static void setCommonViewer (osgViewer::CompositeViewer *)
 
static osgViewer::CompositeViewer * getCommonViewer ()
 

Protected Member Functions

 ~HorizonSection ()
 
void surfaceChangeCB (CallBacker *)
 
void surfaceChange (const TypeSet< GeomPosID > *, TaskRunner *)
 
void removeZTransform ()
 
void updateZAxisVOI ()
 
void configSizeParameters ()
 
void updateAutoResolution (const osg::CullStack *)
 
HorizonSectionTilegetTitle (int idx)
 
bool checkTileIndex (int) const
 
void setUpdateVar (bool &var, bool yn)
 
- Protected Member Functions inherited from visBase::VisualObjectImpl
int addChild (osg::Node *)
 
void insertChild (int pos, osg::Node *)
 
void removeChild (osg::Node *)
 
int childIndex (const osg::Node *) const
 
 VisualObjectImpl (bool selectable)
 
virtual ~VisualObjectImpl ()
 
virtual void materialChangeCB (CallBacker *)
 
virtual void setGroupNode (osg::Group *)
 Must be called during construction. More...
 
- Protected Member Functions inherited from visBase::VisualObject
void triggerSel ()
 
void triggerDeSel ()
 
void triggerRightClick (const EventInfo *)
 
 VisualObject (bool selectable=false)
 
 ~VisualObject ()
 
- Protected Member Functions inherited from visBase::DataObject
virtual osg::StateSet * getStateSet ()
 
void doAddNodeState (NodeState *ns)
 
 DataObject ()
 
template<class T >
T * setOsgNode (T *t)
 Must be called during construction. More...
 
void updateNodemask ()
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers ()
 Call from the destructor of your inherited object. More...
 

Protected Attributes

bool forceupdate_
 Will trigger redraw request if necessary. More...
 
Geometry::BinIDSurfacegeometry_
 
RowCol origin_
 
bool userchangedisplayrg_
 
StepInterval< int > displayrrg_
 
StepInterval< int > displaycrg_
 
StepInterval< int > texturerowrg_
 
StepInterval< int > texturecolrg_
 
Threads::Mutex updatelock_
 
Threads::SpinLock spinlock_
 
HorizonSectionDataHandlerhordatahandler_
 
HorizonTextureHandlerhortexturehandler_
 
HorTilesCreatorAndUpdatorhortilescreatorandupdator_
 
NodeCallbackHandler * nodecallbackhandler_
 
TextureCallbackHandler * texturecallbackhandler_
 
Threads::Lock redrawlock_
 
bool isredrawing_
 
Array2DImpl< HorizonSectionTile * > tiles_
 
const visBase::Transformationtransformation_
 
char lowestresidx_
 
char desiredresolution_
 
char nrhorsectnrres_
 
float rowdistance_
 
float coldistance_
 
bool tesselationlock_
 
int nrcoordspertileside_
 
int tilesidesize_
 
int totalnormalsize_
 
int queueid_
 
TypeSet< int > spacing_
 
TypeSet< int > nrcells_
 
TypeSet< int > normalstartidx_
 
TypeSet< int > normalsidesize_
 
osg::Group * osghorizon_
 
ZAxisTransformzaxistransform_
 
ObjectSet< HorizonSectionTileupdatedtiles_
 
TypeSet< int > updatedtileresolutions_
 
bool wireframedisplayed_
 
bool useneighbors_
 
- Protected Attributes inherited from visBase::VisualObjectImpl
Materialmaterial_
 
bool righthandsystem_
 
- Protected Attributes inherited from visBase::DataObject
DataObjectGroupparent_
 

Private Member Functions

HorizonSectionoperator= (const HorizonSection &)
 
 HorizonSection (const HorizonSection &)
 

Static Private Member Functions

static visBase::DataObjectcreateInternal ()
 

Friends

class HorizonSectionTile
 
class HorizonTileRenderPreparer
 
class TileResolutionData
 
class HorizonSectionDataHandler
 
class HorizonTextureHandler
 
class HorTilesCreatorAndUpdator
 
class HorizonSectionTileGlue
 
class HorizonSectionTilePosSetup
 
class TileCoordinatesUpdator
 
class HorizonTileResolutionTesselator
 
class DataPointSetFiller
 

Detailed Description

Horizon geometry is divided into 64*64 pixel tiles. Each tile has it's own glue edge to merge into it's neighbors in case of different resolutions. Each tile has it's own coordinates and normals, but they all share the same texture coordinates since the have the same size. Each tile holds its wireframe. It would only turn on wireframe or lines and points depends if you use wireframe or not.

Constructor & Destructor Documentation

visBase::HorizonSection::HorizonSection ( const HorizonSection )
private
visBase::HorizonSection::HorizonSection ( )
visBase::HorizonSection::~HorizonSection ( )
protected

Member Function Documentation

int visBase::HorizonSection::activeVersion ( int  channel) const
void visBase::HorizonSection::addChannel ( )
bool visBase::HorizonSection::checkTileIndex ( int  ) const
protected
void visBase::HorizonSection::configSizeParameters ( )
protected
static HorizonSection* visBase::HorizonSection::create ( )
inlinestatic
static visBase::DataObject* visBase::HorizonSection::createInternal ( )
inlinestaticprivate
char visBase::HorizonSection::currentResolution ( ) const
StepInterval<int> visBase::HorizonSection::displayedColRange ( ) const
StepInterval<int> visBase::HorizonSection::displayedRowRange ( ) const
void visBase::HorizonSection::enableGeometryTypeDisplay ( GeometryType  type,
bool  yn 
)

type 0 is triangle,1 is line, 2 is point, 3 is wire frame

bool visBase::HorizonSection::executePendingUpdates ( )
void visBase::HorizonSection::forceRedraw ( bool  = true)
const BinIDValueSet* visBase::HorizonSection::getCache ( int  channel) const
TextureChannels* visBase::HorizonSection::getChannels ( ) const
TextureChannel2RGBA* visBase::HorizonSection::getChannels2RGBA ( )

Don't share texture processes among sections.

const TextureChannel2RGBA* visBase::HorizonSection::getChannels2RGBA ( ) const
virtual const char* visBase::HorizonSection::getClassName ( ) const
virtual

Reimplemented from visBase::DataObject.

const ColTab::MapperSetup* visBase::HorizonSection::getColTabMapperSetup ( int  channel) const
const ColTab::Sequence* visBase::HorizonSection::getColTabSequence ( int  channel) const
void visBase::HorizonSection::getDataPositions ( DataPointSet ,
double  zoff,
int  sid,
TaskRunner  
) const
const visBase::Transformation* visBase::HorizonSection::getDisplayTransformation ( ) const
virtual

All positions going from the outside world to the vis should be transformed with this transform. This enables us to have different coord-systems outside OI, e.g. we can use UTM coords outside the vis without loosing precision in the vis.

Reimplemented from visBase::DataObject.

const TypeSet<float>* visBase::HorizonSection::getHistogram ( int  channel) const
int visBase::HorizonSection::getLineWidth ( ) const
int visBase::HorizonSection::getNrTitles ( ) const
osgGeo::LayeredTexture* visBase::HorizonSection::getOsgTexture ( ) const
static const char* visBase::HorizonSection::getStaticClassName ( )
static
Geometry::BinIDSurface* visBase::HorizonSection::getSurface ( ) const
inline
const unsigned char* visBase::HorizonSection::getTextureData ( int  titleidx,
int &  w,
int &  h 
) const
HorizonTextureHandler& visBase::HorizonSection::getTextureHandler ( )

Don't share texture handlers among sections.

int visBase::HorizonSection::getTexturePixelSizeInBits ( ) const
HorizonSectionTile* visBase::HorizonSection::getTitle ( int  idx)
protected
bool visBase::HorizonSection::getTitleCoordinates ( int  ,
TypeSet< Coord3 > &   
) const

don't use it, only for ABI

bool visBase::HorizonSection::getTitleNormals ( int  titleidx,
TypeSet< Coord3 > &   
) const

don't use it, only for ABI

bool visBase::HorizonSection::getTitlePrimitiveSet ( int  titleidx,
TypeSet< int > &  ,
GeometryType   
) const

don't use it, only for ABI

bool visBase::HorizonSection::getTitleTextureCoordinates ( int  titleidx,
TypeSet< Coord > &   
) const
unsigned char visBase::HorizonSection::getTransparency ( int  ch) const
ZAxisTransform* visBase::HorizonSection::getZAxisTransform ( )
inline
static void visBase::HorizonSection::initClass ( )
static
void visBase::HorizonSection::inValidateCache ( int  channel)
bool visBase::HorizonSection::isWireframeDisplayed ( ) const
inline
int visBase::HorizonSection::nrChannels ( ) const
char visBase::HorizonSection::nrResolutions ( ) const
int visBase::HorizonSection::nrVersions ( int  channel) const
HorizonSection& visBase::HorizonSection::operator= ( const HorizonSection )
private
void visBase::HorizonSection::removeChannel ( int  )
void visBase::HorizonSection::removeZTransform ( )
protected
void visBase::HorizonSection::selectActiveVersion ( int  channel,
int   
)
void visBase::HorizonSection::setChannels2RGBA ( TextureChannel2RGBA )
void visBase::HorizonSection::setColTabMapperSetup ( int  channel,
const ColTab::MapperSetup ,
TaskRunner  
)
void visBase::HorizonSection::setColTabSequence ( int  channel,
const ColTab::Sequence  
)
void visBase::HorizonSection::setDisplayRange ( const StepInterval< int > &  ,
const StepInterval< int > &   
)
void visBase::HorizonSection::setDisplayTransformation ( const visBase::Transformation )
virtual

All positions going from the outside world to the vis should be transformed with this transform. This enables us to have different coord-systems outside OI, e.g. we can use UTM coords outside the vis without loosing precision in the vis.

Reimplemented from visBase::DataObject.

void visBase::HorizonSection::setLineWidth ( int  )
void visBase::HorizonSection::setNrVersions ( int  channel,
int   
)
void visBase::HorizonSection::setResolution ( char  ,
TaskRunner  
)
void visBase::HorizonSection::setSurface ( Geometry::BinIDSurface ,
bool  conn,
TaskRunner  
)
void visBase::HorizonSection::setTextureData ( int  channel,
const DataPointSet ,
int  sid,
TaskRunner  
)
void visBase::HorizonSection::setTextureHandler ( HorizonTextureHandler )
void visBase::HorizonSection::setTextureRange ( const StepInterval< int > &  ,
const StepInterval< int > &   
)
void visBase::HorizonSection::setTransparency ( int  ch,
unsigned char  yn 
)
void visBase::HorizonSection::setUpdateVar ( bool &  var,
bool  yn 
)
protected
void visBase::HorizonSection::setUsingNeighborsInIsolatedLine ( bool  )
void visBase::HorizonSection::setWireframeColor ( Color  col)
void visBase::HorizonSection::setZAxisTransform ( ZAxisTransform ,
TaskRunner  
)
static const char* visBase::HorizonSection::sFactoryKeyword ( )
static
void visBase::HorizonSection::surfaceChange ( const TypeSet< GeomPosID > *  ,
TaskRunner  
)
protected
void visBase::HorizonSection::surfaceChangeCB ( CallBacker )
protected
void visBase::HorizonSection::swapChannels ( int  ,
int   
)
void visBase::HorizonSection::turnOsgOn ( bool  )
void visBase::HorizonSection::updateAutoResolution ( const osg::CullStack *  )
protected
void visBase::HorizonSection::updatePrimitiveSets ( )
void visBase::HorizonSection::updateZAxisVOI ( )
protected
void visBase::HorizonSection::useChannel ( bool  )
bool visBase::HorizonSection::usingNeighborsInIsolatedLine ( ) const

Friends And Related Function Documentation

friend class DataPointSetFiller
friend
friend class HorizonSectionDataHandler
friend
friend class HorizonSectionTile
friend
friend class HorizonSectionTileGlue
friend
friend class HorizonSectionTilePosSetup
friend
friend class HorizonTextureHandler
friend
friend class HorizonTileRenderPreparer
friend
friend class HorizonTileResolutionTesselator
friend
friend class HorTilesCreatorAndUpdator
friend
friend class TileCoordinatesUpdator
friend
friend class TileResolutionData
friend

Member Data Documentation

float visBase::HorizonSection::coldistance_
protected
char visBase::HorizonSection::desiredresolution_
protected
StepInterval<int> visBase::HorizonSection::displaycrg_
protected
StepInterval<int> visBase::HorizonSection::displayrrg_
protected
bool visBase::HorizonSection::forceupdate_
protected

Will trigger redraw request if necessary.

Geometry::BinIDSurface* visBase::HorizonSection::geometry_
protected
HorizonSectionDataHandler* visBase::HorizonSection::hordatahandler_
protected
HorizonTextureHandler* visBase::HorizonSection::hortexturehandler_
protected
HorTilesCreatorAndUpdator* visBase::HorizonSection::hortilescreatorandupdator_
protected
bool visBase::HorizonSection::isredrawing_
protected
char visBase::HorizonSection::lowestresidx_
protected
NodeCallbackHandler* visBase::HorizonSection::nodecallbackhandler_
protected
TypeSet<int> visBase::HorizonSection::normalsidesize_
protected
TypeSet<int> visBase::HorizonSection::normalstartidx_
protected
TypeSet<int> visBase::HorizonSection::nrcells_
protected
int visBase::HorizonSection::nrcoordspertileside_
protected
char visBase::HorizonSection::nrhorsectnrres_
protected
RowCol visBase::HorizonSection::origin_
protected
osg::Group* visBase::HorizonSection::osghorizon_
protected
int visBase::HorizonSection::queueid_
protected
Threads::Lock visBase::HorizonSection::redrawlock_
protected
float visBase::HorizonSection::rowdistance_
protected
TypeSet<int> visBase::HorizonSection::spacing_
protected
Threads::SpinLock visBase::HorizonSection::spinlock_
protected
bool visBase::HorizonSection::tesselationlock_
protected
TextureCallbackHandler* visBase::HorizonSection::texturecallbackhandler_
protected
StepInterval<int> visBase::HorizonSection::texturecolrg_
protected
StepInterval<int> visBase::HorizonSection::texturerowrg_
protected
Array2DImpl<HorizonSectionTile*> visBase::HorizonSection::tiles_
protected
int visBase::HorizonSection::tilesidesize_
protected
int visBase::HorizonSection::totalnormalsize_
protected
const visBase::Transformation* visBase::HorizonSection::transformation_
protected
TypeSet<int> visBase::HorizonSection::updatedtileresolutions_
protected
ObjectSet<HorizonSectionTile> visBase::HorizonSection::updatedtiles_
protected
Threads::Mutex visBase::HorizonSection::updatelock_
protected
bool visBase::HorizonSection::useneighbors_
protected
bool visBase::HorizonSection::userchangedisplayrg_
protected
bool visBase::HorizonSection::wireframedisplayed_
protected
ZAxisTransform* visBase::HorizonSection::zaxistransform_
protected

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