OpendTect  6.6
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
 
const visBase::Transformation * getDisplayTransformation () const
 
int getNrTextures () const
 
const TypeSet< Coord > & getPath () const
 
const TypeSet< float > & getPath2TextureMapping () const
 
float getPathTextureShift () const
 
float getPathTextureShiftStartIdx () const
 
visBase::TextureChannels * getTextureChannels ()
 
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 *)
 
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
 
Material * getMaterial ()
 
const Material * getMaterial () const
 
bool isRightHandSystem () const
 
void readLock ()
 
void readUnLock ()
 
void setLockable ()
 
void setMaterial (Material *)
 
void setRightHandSystem (bool yn)
 
bool tryReadLock ()
 
bool tryWriteLock ()
 
virtual bool usePar (const IOPar &)
 
void writeLock ()
 
void writeUnLock ()
 
- Public Member Functions inherited from visBase::VisualObject
NotifierAccess * deSelection ()
 
virtual bool getBoundingBox (Coord3 &min, Coord3 &max) const
 
virtual NotifierAccess * rightClicked ()
 
const EventInfo * rightClickedEventInfo () const
 
const TypeSet< int > * rightClickedPath () const
 
bool selectable () const
 
NotifierAccess * selection ()
 
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
 
virtual BufferString getName () const
 
NodeState * getNodeState (int idx)
 
virtual float getPixelDensity () const
 
int 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
 
virtual const OD::String & name () const
 
osg::Node * osgNode (bool skipswitch=false)
 
const osg::Node * osgNode (bool skipswitch=false) const
 
NodeState * removeNodeState (NodeState *)
 
virtual bool rightClickable () const
 
void select () const
 
bool serialize (const char *filename, bool binary=false)
 
void setID (int nid)
 
virtual void setName (const char *)
 
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 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
 
- Public Member Functions inherited from NamedObject
 NamedObject (const char *nm=nullptr)
 
 NamedObject (const NamedObject &oth)
 
virtual ~NamedObject ()
 
bool getNameFromPar (const IOPar &)
 
NamedObject & operator= (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
 

Static Public Member Functions

static TexturePanelStrip * create ()
 
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 int 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 CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 

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 ()
 
void triggerRightClick (const EventInfo *)
 
void triggerSel ()
 
- Protected Member Functions inherited from visBase::DataObject
 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 NamedCallBacker
void sendDelNotif () const
 

Protected Attributes

RefMan< TextureChannels > channels_
 
ConstRefMan< visBase::Transformation > displaytrans_
 
osgGeo::TexturePanelStripNode * osgpanelstrip_
 
PtrMan< TypeSet< Coord > > pathcoords_
 
PtrMan< TypeSet< float > > pathtexoffsets_
 
- Protected Attributes inherited from visBase::VisualObjectImpl
Material * material_
 
bool righthandsystem_
 
- Protected Attributes inherited from visBase::DataObject
DataObjectGroup * parent_
 
- Protected Attributes inherited from NamedCallBacker
Threads::Atomic< bool > delalreadytriggered_
 
Notifier< NamedCallBacker > delnotif_
 
- Protected Attributes inherited from NamedObject
BufferString name_
 

Private Member Functions

 TexturePanelStrip (const TexturePanelStrip &)
 
bool calcTextureCoordinates (int, TypeSet< Coord > &) const
 
bool calcTextureCoordinates (TypeSet< Coord3 > &coordin, TypeSet< Coord > &coordout) const
 
Coord getImageTextureCoord (const Coord3 dispcrd, double minx, double xlen, double minz, double zlen) const
 
void getMinAndLengthInfo (double &minval, double &len, bool bz=false) const
 
TexturePanelStrip & operator= (const TexturePanelStrip &)
 

Static Private Member Functions

static visBase::DataObject * createInternal ()
 

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() [1/2]

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

◆ calcTextureCoordinates() [2/2]

bool visBase::TexturePanelStrip::calcTextureCoordinates ( TypeSet< Coord3 > &  coordin,
TypeSet< Coord > &  coordout 
) const
private

don't use it, only for keep ABI.

◆ 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
virtual

Reimplemented from visBase::DataObject.

◆ getDisplayTransformation()

const visBase::Transformation* visBase::TexturePanelStrip::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.

◆ getImageTextureCoord()

Coord visBase::TexturePanelStrip::getImageTextureCoord ( const Coord3  dispcrd,
double  minx,
double  xlen,
double  minz,
double  zlen 
) const
private

don't use it, only for keep ABI.

◆ getMinAndLengthInfo()

void visBase::TexturePanelStrip::getMinAndLengthInfo ( double &  minval,
double &  len,
bool  bz = false 
) const
private

don't use it, only for keep ABI.

◆ 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 *  )
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.

◆ 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-2022