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::TextureRectangle Class Reference

A TextureRectangle is a Rectangle with a datatexture. The data is set via setData. More...

Inheritance diagram for visBase::TextureRectangle:
[legend]

Classes

struct  TextureDataInfo
 

Public Member Functions

 TextureRectangle ()
 
bool areTextureAxesSwapped () const
 
void freezeDisplay (bool yn=true)
 
Coord3 getCenter () const
 
virtual const char * getClassName () const
 
const visBase::Transformation * getDisplayTransformation () const
 
int getNrTextures () const
 
const Coord3 & getSpanningVector (int idx) const
 
visBase::TextureChannels * getTextureChannels ()
 
void getTextureCoordinates (TypeSet< Coord3 > &) const
 
const unsigned char * getTextureData () const
 
bool getTextureDataInfo (int tidx, TextureDataInfo &texinfo) const
 
Coord getTextureGrowth () const
 
bool getTextureInfo (int &width, int &height, int &pixsize) const
 
Coord getTextureShift () const
 
Coord3 getWidth () const
 
bool isDisplayFrozen () const
 
void setCenter (const Coord3 &center)
 
void setDisplayTransformation (const visBase::Transformation *)
 
void setRotation (const Coord3 &spanvec0, const Coord3 &spanvec1)
 Aligns rectangle to both spanning vectors. More...
 
void setRotationAndWidth (const Coord3 &spanvec0, const Coord3 &spanvec1)
 
void setTextureChannels (visBase::TextureChannels *)
 
void setTextureGrowth (const Coord &)
 
void setTextureShift (const Coord &)
 
void setWidth (const Coord3 &width)
 One dim must be set zero. More...
 
void swapTextureAxes (bool yn=true)
 
- 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 TextureRectangle * 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

 ~TextureRectangle ()
 
- 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_
 
Coord3 spanvec0_
 
Coord3 spanvec1_
 
osgGeo::TexturePlaneNode * textureplane_
 
- 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

 TextureRectangle (const TextureRectangle &)
 
TextureRectangle & operator= (const TextureRectangle &)
 

Static Private Member Functions

static visBase::DataObject * createInternal ()
 

Additional Inherited Members

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

Detailed Description

A TextureRectangle is a Rectangle with a datatexture. The data is set via setData.

<>

Constructor & Destructor Documentation

◆ TextureRectangle() [1/2]

visBase::TextureRectangle::TextureRectangle ( const TextureRectangle &  )
private

◆ TextureRectangle() [2/2]

visBase::TextureRectangle::TextureRectangle ( )

◆ ~TextureRectangle()

visBase::TextureRectangle::~TextureRectangle ( )
protected

Member Function Documentation

◆ areTextureAxesSwapped()

bool visBase::TextureRectangle::areTextureAxesSwapped ( ) const

◆ create()

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

◆ createInternal()

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

◆ freezeDisplay()

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

◆ getCenter()

Coord3 visBase::TextureRectangle::getCenter ( ) const

◆ getClassName()

virtual const char* visBase::TextureRectangle::getClassName ( ) const
virtual

Reimplemented from visBase::DataObject.

◆ getDisplayTransformation()

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

◆ getNrTextures()

int visBase::TextureRectangle::getNrTextures ( ) const

◆ getSpanningVector()

const Coord3& visBase::TextureRectangle::getSpanningVector ( int  idx) const

◆ getStaticClassName()

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

◆ getTextureChannels()

visBase::TextureChannels* visBase::TextureRectangle::getTextureChannels ( )

◆ getTextureCoordinates()

void visBase::TextureRectangle::getTextureCoordinates ( TypeSet< Coord3 > &  ) const

◆ getTextureData()

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

◆ getTextureDataInfo()

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

◆ getTextureGrowth()

Coord visBase::TextureRectangle::getTextureGrowth ( ) const

◆ getTextureInfo()

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

◆ getTextureShift()

Coord visBase::TextureRectangle::getTextureShift ( ) const

◆ getWidth()

Coord3 visBase::TextureRectangle::getWidth ( ) const

◆ initClass()

static void visBase::TextureRectangle::initClass ( )
static

◆ isDisplayFrozen()

bool visBase::TextureRectangle::isDisplayFrozen ( ) const

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

◆ operator=()

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

◆ setCenter()

void visBase::TextureRectangle::setCenter ( const Coord3 &  center)

◆ setDisplayTransformation()

void visBase::TextureRectangle::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.

◆ setRotation()

void visBase::TextureRectangle::setRotation ( const Coord3 &  spanvec0,
const Coord3 &  spanvec1 
)

Aligns rectangle to both spanning vectors.

◆ setRotationAndWidth()

void visBase::TextureRectangle::setRotationAndWidth ( const Coord3 &  spanvec0,
const Coord3 &  spanvec1 
)

Aligns rectangle to both spanning vectors, and calls setWidth(.) using their lengths.

◆ setTextureChannels()

void visBase::TextureRectangle::setTextureChannels ( visBase::TextureChannels *  )

◆ setTextureGrowth()

void visBase::TextureRectangle::setTextureGrowth ( const Coord &  )

Size increase/decrease of the texture envelope (in pixel units). Its default size is one pixel shorter than the image envelope (half-a-pixel at every border).

◆ setTextureShift()

void visBase::TextureRectangle::setTextureShift ( const Coord &  )

Shift of the texture envelope center (in pixel units) with regard to the center of the plane geometry.

◆ setWidth()

void visBase::TextureRectangle::setWidth ( const Coord3 &  width)

One dim must be set zero.

◆ sFactoryKeyword()

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

◆ swapTextureAxes()

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

Member Data Documentation

◆ channels_

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

◆ displaytrans_

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

◆ spanvec0_

Coord3 visBase::TextureRectangle::spanvec0_
protected

◆ spanvec1_

Coord3 visBase::TextureRectangle::spanvec1_
protected

◆ textureplane_

osgGeo::TexturePlaneNode* visBase::TextureRectangle::textureplane_
protected

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