OpendTect  7.0
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | List of all members
visBase::TexturePanelStrip Class Reference

A TexturePanelStrip is geometrically invariant in the z-direction. Its serially connected panels are painted with a layered texture. More...

Inheritance diagram for visBase::TexturePanelStrip:
[legend]

Classes

struct  TextureDataInfo
 

Public Member Functions

 TexturePanelStrip ()
 
bool areNormalsSmoothed () const
 
bool areTextureAxesSwapped () const
 
void freezeDisplay (bool yn=true)
 
virtual const char * getClassName () const override
 
const visBase::TransformationgetDisplayTransformation () const override
 
int getNrTextures () const
 
const TypeSet< Coord > & getPath () const
 
const TypeSet< float > & getPath2TextureMapping () const
 
float getPathTextureShift () const
 
float getPathTextureShiftStartIdx () const
 
visBase::TextureChannelsgetTextureChannels ()
 
const unsigned char * getTextureData () const
 
bool getTextureDataInfo (int tidx, TextureDataInfo &texinfo) const
 
bool getTextureInfo (int &width, int &height, int &pixsize)
 
Interval< float > getZRange () const
 
Interval< float > getZRange2TextureMapping () const
 
float getZTextureShift () const
 
bool isDisplayFrozen () const
 
bool isZRange2TextureMappingSet () const
 
void setDisplayTransformation (const visBase::Transformation *) override
 
void setPath (const TypeSet< Coord > &)
 
void setPath2TextureMapping (const TypeSet< float > &offsets)
 
void setPathTextureShift (float shift, int startidx=0)
 
void setTextureChannels (visBase::TextureChannels *)
 
void setZRange (const Interval< float > &)
 
void setZRange2TextureMapping (const Interval< float > &offsets)
 Mapped on full texture row range if not set. More...
 
void setZTextureShift (float)
 
void smoothNormals (bool yn=true)
 
void swapTextureAxes (bool yn=true)
 
void unsetZRange2TextureMapping ()
 
- Public Member Functions inherited from visBase::VisualObjectImpl
virtual void fillPar (IOPar &) const
 
const MaterialgetMaterial () const
 
MaterialgetMaterial () override
 
bool isRightHandSystem () const override
 
NotifierAccessmaterialChange ()
 
void readLock ()
 
void readUnLock ()
 
void setLockable ()
 
void setMaterial (Material *) override
 
void setRightHandSystem (bool yn) override
 
bool tryReadLock ()
 
bool tryWriteLock ()
 
virtual bool usePar (const IOPar &)
 
void writeLock ()
 
void writeUnLock ()
 
- Public Member Functions inherited from visBase::VisualObject
NotifierAccessdeSelection () override
 
virtual bool getBoundingBox (Coord3 &min, Coord3 &max) const
 
NotifierAccessrightClicked () override
 
const EventInforightClickedEventInfo () const
 
const TypeSet< VisID > * rightClickedPath () const override
 
bool selectable () const override
 
NotifierAccessselection () override
 
virtual void setSceneEventCatcher (EventCatcher *)
 
void setSelectable (bool yn)
 
- Public Member Functions inherited from visBase::DataObject
template<class T >
T * addNodeState (T *ns)
 
void deSelect () const
 
void enableTraversal (unsigned int mask, bool yn=true)
 
virtual const char * errMsg () const
 
SoNode * getInventorNode ()
 
const SoNode * getInventorNode () const
 
BufferString getName () const override
 
NodeStategetNodeState (int idx)
 
virtual float getPixelDensity () const
 
VisID id () const
 
virtual bool isOK () const
 
virtual bool isOn () const
 
bool isPickable (bool actively=true) const
 
virtual bool isSelected () const
 
bool isTraversalEnabled (unsigned int mask) const
 
const OD::Stringname () const override
 
osg::Node * osgNode (bool skipswitch=false)
 
const osg::Node * osgNode (bool skipswitch=false) const
 
NodeStateremoveNodeState (NodeState *)
 
virtual bool rightClickable () const
 
void select () const
 
bool serialize (const char *filename, bool binary=false)
 
void setID (VisID newid)
 
void setName (const char *) override
 
void setName (const uiString &uistr)
 
void setParent (DataObjectGroup *g)
 
void setPickable (bool actively, bool passively=true)
 
virtual void setPixelDensity (float dpi)
 
void setUiName (const uiString &)
 
virtual bool turnOn (bool yn)
 
uiString uiName () const
 
void updateSel () const
 
- Public Member Functions inherited from SharedObject
 SharedObject (const char *nm=nullptr)
 
 SharedObject (const SharedObject &)
 
- Public Member Functions inherited from NamedCallBacker
 NamedCallBacker (const char *nm=0)
 
 NamedCallBacker (const NamedCallBacker &)
 
virtual Notifier< NamedCallBacker > & objectToBeDeleted () const
 
bool operator== (const NamedCallBacker &oth) const
 
bool operator== (const NamedObject &oth) const
 
- 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 NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
bool getNameFromPar (const IOPar &)
 
NamedObjectoperator= (const NamedObject &)
 
bool operator== (const NamedObject &oth) const
 
- Public Member Functions inherited from ObjectWithName
virtual ~ObjectWithName ()
 
bool hasName (const char *nm) const
 
bool hasName (const name_type &nm) const
 
void putNameInPar (IOPar &) const
 
- Public Member Functions inherited from RefCount::Referenced
void addObserver (WeakPtrBase *obs)
 Not for normal use. May become private. More...
 
int nrRefs () const
 Only for expert use. More...
 
void ref () const
 
bool refIfReffed () const
 Don't use in production, for debugging. More...
 
void removeObserver (WeakPtrBase *obs)
 Not for normal use. May become private. More...
 
bool tryRef () const
 Not for normal use. May become private. More...
 
void unRef () const
 
void unRefNoDelete () const
 

Static Public Member Functions

static TexturePanelStripcreate ()
 
static const char * getStaticClassName ()
 
static void initClass ()
 
static const char * sFactoryKeyword ()
 
- Static Public Member Functions inherited from visBase::VisualObjectImpl
static const char * sKeyIsOn ()
 
static const char * sKeyMaterial ()
 
static const char * sKeyMaterialID ()
 
- Static Public Member Functions inherited from visBase::DataObject
static osgViewer::CompositeViewer * getCommonViewer ()
 
static float getDefaultPixelDensity ()
 
static VisID getID (const osg::Node *)
 
static bool isVisualizationThread ()
 
static void requestSingleRedraw ()
 
static void setCommonViewer (osgViewer::CompositeViewer *)
 
static void setDefaultPixelDensity (float)
 
static void setVisualizationThread (const void *)
 Call only once from initialization. More...
 
- Static Public Member Functions inherited from SharedObject
static Notifier< SharedObject > & instanceCreated ()
 
- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 
- Static Public Member Functions inherited from RefCount::Referenced
static bool isSane (const Referenced *)
 

Protected Member Functions

 ~TexturePanelStrip ()
 
void updatePath ()
 
- Protected Member Functions inherited from visBase::VisualObjectImpl
 VisualObjectImpl (bool selectable)
 
virtual ~VisualObjectImpl ()
 
int addChild (osg::Node *)
 
int childIndex (const osg::Node *) const
 
void insertChild (int pos, osg::Node *)
 
virtual void materialChangeCB (CallBacker *)
 
void removeChild (osg::Node *)
 
void setGroupNode (DataObject *)
 
virtual void setGroupNode (osg::Group *)
 Must be called during construction. More...
 
- Protected Member Functions inherited from visBase::VisualObject
 VisualObject (bool selectable=false)
 
 ~VisualObject ()
 
void triggerDeSel () override
 
void triggerRightClick (const EventInfo *) override
 
void triggerSel () override
 
- Protected Member Functions inherited from visBase::DataObject
 DataObject ()
 
virtual ~DataObject ()
 
void doAddNodeState (NodeState *ns)
 
virtual osg::StateSet * getStateSet ()
 
template<class T >
T * setOsgNode (T *t)
 Must be called during construction. More...
 
void updateNodemask ()
 
- Protected Member Functions inherited from SharedObject
virtual ~SharedObject ()
 
- Protected Member Functions inherited from NamedCallBacker
void sendDelNotif () const
 
- Protected Member Functions inherited from RefCount::Referenced
 Referenced ()
 
 Referenced (const Referenced &)
 
virtual ~Referenced ()
 
Referencedoperator= (const Referenced &)
 

Protected Attributes

RefMan< TextureChannelschannels_
 
ConstRefMan< visBase::Transformationdisplaytrans_
 
osgGeo::TexturePanelStripNode * osgpanelstrip_
 
PtrMan< TypeSet< Coord > > pathcoords_
 
PtrMan< TypeSet< float > > pathtexoffsets_
 
- Protected Attributes inherited from visBase::VisualObjectImpl
Materialmaterial_
 
bool righthandsystem_
 
- Protected Attributes inherited from visBase::DataObject
DataObjectGroupparent_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBackerdelnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Private Member Functions

 TexturePanelStrip (const TexturePanelStrip &)
 
bool calcTextureCoordinates (int, TypeSet< Coord > &) const
 
TexturePanelStripoperator= (const TexturePanelStrip &)
 

Static Private Member Functions

static visBase::DataObjectcreateInternal ()
 

Additional Inherited Members

- Public Types inherited from ObjectWithName
typedef OD::String name_type
 

Detailed Description

A TexturePanelStrip is geometrically invariant in the z-direction. Its serially connected panels are painted with a layered texture.

<>

Constructor & Destructor Documentation

◆ TexturePanelStrip() [1/2]

visBase::TexturePanelStrip::TexturePanelStrip ( const TexturePanelStrip )
private

◆ TexturePanelStrip() [2/2]

visBase::TexturePanelStrip::TexturePanelStrip ( )

◆ ~TexturePanelStrip()

visBase::TexturePanelStrip::~TexturePanelStrip ( )
protected

Member Function Documentation

◆ areNormalsSmoothed()

bool visBase::TexturePanelStrip::areNormalsSmoothed ( ) const

◆ areTextureAxesSwapped()

bool visBase::TexturePanelStrip::areTextureAxesSwapped ( ) const

◆ calcTextureCoordinates()

bool visBase::TexturePanelStrip::calcTextureCoordinates ( int  ,
TypeSet< Coord > &   
) const
private

◆ create()

static TexturePanelStrip* visBase::TexturePanelStrip::create ( )
inlinestatic

◆ createInternal()

static visBase::DataObject* visBase::TexturePanelStrip::createInternal ( )
inlinestaticprivate

◆ freezeDisplay()

void visBase::TexturePanelStrip::freezeDisplay ( bool  yn = true)

◆ getClassName()

virtual const char* visBase::TexturePanelStrip::getClassName ( ) const
overridevirtual

Reimplemented from visBase::DataObject.

◆ getDisplayTransformation()

const visBase::Transformation* visBase::TexturePanelStrip::getDisplayTransformation ( ) const
overridevirtual

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.

◆ getNrTextures()

int visBase::TexturePanelStrip::getNrTextures ( ) const

◆ getPath()

const TypeSet<Coord>& visBase::TexturePanelStrip::getPath ( ) const

◆ getPath2TextureMapping()

const TypeSet<float>& visBase::TexturePanelStrip::getPath2TextureMapping ( ) const

◆ getPathTextureShift()

float visBase::TexturePanelStrip::getPathTextureShift ( ) const

◆ getPathTextureShiftStartIdx()

float visBase::TexturePanelStrip::getPathTextureShiftStartIdx ( ) const

◆ getStaticClassName()

static const char* visBase::TexturePanelStrip::getStaticClassName ( )
static

◆ getTextureChannels()

visBase::TextureChannels* visBase::TexturePanelStrip::getTextureChannels ( )

◆ getTextureData()

const unsigned char* visBase::TexturePanelStrip::getTextureData ( ) const

◆ getTextureDataInfo()

bool visBase::TexturePanelStrip::getTextureDataInfo ( int  tidx,
TextureDataInfo texinfo 
) const

◆ getTextureInfo()

bool visBase::TexturePanelStrip::getTextureInfo ( int &  width,
int &  height,
int &  pixsize 
)

◆ getZRange()

Interval<float> visBase::TexturePanelStrip::getZRange ( ) const

◆ getZRange2TextureMapping()

Interval<float> visBase::TexturePanelStrip::getZRange2TextureMapping ( ) const

◆ getZTextureShift()

float visBase::TexturePanelStrip::getZTextureShift ( ) const

◆ initClass()

static void visBase::TexturePanelStrip::initClass ( )
static

◆ isDisplayFrozen()

bool visBase::TexturePanelStrip::isDisplayFrozen ( ) const

As long as texture panel strip is frozen, the display of (lengthy) changes to its geometry and/or texture is postponed. Avoids showing half-finished updates.

◆ isZRange2TextureMappingSet()

bool visBase::TexturePanelStrip::isZRange2TextureMappingSet ( ) const

◆ operator=()

TexturePanelStrip& visBase::TexturePanelStrip::operator= ( const TexturePanelStrip )
private

◆ setDisplayTransformation()

void visBase::TexturePanelStrip::setDisplayTransformation ( const visBase::Transformation )
overridevirtual

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.

◆ setPath()

void visBase::TexturePanelStrip::setPath ( const TypeSet< Coord > &  )

◆ setPath2TextureMapping()

void visBase::TexturePanelStrip::setPath2TextureMapping ( const TypeSet< float > &  offsets)

Monotonously non-decreasing list of column offsets into the texture. There should be one offset per path coordinate.

◆ setPathTextureShift()

void visBase::TexturePanelStrip::setPathTextureShift ( float  shift,
int  startidx = 0 
)

Extra horizontal shift of (part of) the specified texture mapping (in pixel units). Shifting starts at path coord "startidx"

◆ setTextureChannels()

void visBase::TexturePanelStrip::setTextureChannels ( visBase::TextureChannels )

◆ setZRange()

void visBase::TexturePanelStrip::setZRange ( const Interval< float > &  )

◆ setZRange2TextureMapping()

void visBase::TexturePanelStrip::setZRange2TextureMapping ( const Interval< float > &  offsets)

Mapped on full texture row range if not set.

◆ setZTextureShift()

void visBase::TexturePanelStrip::setZTextureShift ( float  )

Extra vertical shift of the specified texture mapping (in pixel units).

◆ sFactoryKeyword()

static const char* visBase::TexturePanelStrip::sFactoryKeyword ( )
static

◆ smoothNormals()

void visBase::TexturePanelStrip::smoothNormals ( bool  yn = true)

◆ swapTextureAxes()

void visBase::TexturePanelStrip::swapTextureAxes ( bool  yn = true)

◆ unsetZRange2TextureMapping()

void visBase::TexturePanelStrip::unsetZRange2TextureMapping ( )

◆ updatePath()

void visBase::TexturePanelStrip::updatePath ( )
protected

Member Data Documentation

◆ channels_

RefMan<TextureChannels> visBase::TexturePanelStrip::channels_
protected

◆ displaytrans_

ConstRefMan< visBase::Transformation > visBase::TexturePanelStrip::displaytrans_
protected

◆ osgpanelstrip_

osgGeo::TexturePanelStripNode* visBase::TexturePanelStrip::osgpanelstrip_
protected

◆ pathcoords_

PtrMan<TypeSet<Coord> > visBase::TexturePanelStrip::pathcoords_
protected

◆ pathtexoffsets_

PtrMan<TypeSet<float> > visBase::TexturePanelStrip::pathtexoffsets_
protected

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