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::TransformationgetDisplayTransformation () const
 
int getNrTextures () const
 
const Coord3getSpanningVector (int idx) const
 
visBase::TextureChannelsgetTextureChannels ()
 
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
 
MaterialgetMaterial ()
 
const MaterialgetMaterial () 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
NotifierAccessdeSelection ()
 
virtual bool getBoundingBox (Coord3 &min, Coord3 &max) const
 
virtual NotifierAccessrightClicked ()
 
const EventInforightClickedEventInfo () const
 
const TypeSet< int > * rightClickedPath () const
 
bool selectable () const
 
NotifierAccessselection ()
 
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
 
NodeStategetNodeState (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::Stringname () const
 
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 (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 &)
 
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
 

Static Public Member Functions

static TextureRectanglecreate ()
 
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< TextureChannelschannels_
 
ConstRefMan< visBase::Transformationdisplaytrans_
 
Coord3 spanvec0_
 
Coord3 spanvec1_
 
osgGeo::TexturePlaneNode * textureplane_
 
- 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

 TextureRectangle (const TextureRectangle &)
 
TextureRectangleoperator= (const TextureRectangle &)
 

Static Private Member Functions

static visBase::DataObjectcreateInternal ()
 

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