Overview | All Modules | Tutorial | User's Guide | Programming Guide
Previous

COVISE Online Documentation

Next

Classes | Public Member Functions | Protected Attributes | List of all members
vrui::coTextureRectBackground Class Reference

This class provides background for GUI elements. More...

#include <coTextureRectBackground.h>

Inheritance diagram for vrui::coTextureRectBackground:
vrui::coBackground vrui::coAction vrui::coUIContainer vrui::coUIElement

Classes

class  TextureSet
 

Public Member Functions

 coTextureRectBackground (const std::string &normalTexture, coTextureRectBackgroundActor *actor=0)
 Constructor. More...
 
 coTextureRectBackground (uint *normalImage, int comp, int ns, int nt, int nr, coTextureRectBackgroundActor *actor=0)
 Constructor. More...
 
virtual ~coTextureRectBackground ()
 Destructor. More...
 
virtual int hit (vruiHit *hit)
 Hit is called whenever this texture is intersected. More...
 
virtual void miss ()
 miss is called once after a hit, if the node is not intersected anymore More...
 
virtual void setEnabled (bool en)
 set this widget to enabled More...
 
virtual void setHighlighted (bool hl)
 set this widget to highlighted More...
 
void setRepeat (bool repeat)
 set texture repeat (deprecated!) More...
 
bool getRepeat () const
 get texture repeat state (deprecated!) More...
 
void setUpdated (bool update)
 after setting the image data, set this to true. More...
 
bool getUpdated ()
 returns whether More...
 
void setTexSize (float, float)
 set the texture dimensions (need to be pixel-exact) More...
 
float getTexXSize () const
 returns the width of the texture More...
 
float getTexYSize () const
 returns the height of the texture More...
 
void setImage (uint *normalImage, int comp, int ns, int nt, int nr)
 set the image data Params: normalImage = texture data comp = components/Bytes per pixel ns = texture width nt = texture height nr = texture depth (unused, since this is a 2D-rect-texture!) More...
 
virtual const char * getClassName () const
 get the Element's classname More...
 
virtual bool isOfClassName (const char *) const
 check if the Element or any ancestor is this classname More...
 
TextureSetgetCurrentTextures ()
 
const std::string & getNormalTexName () const
 
- Public Member Functions inherited from vrui::coBackground
 coBackground ()
 Constructor. More...
 
virtual ~coBackground ()
 Destructor. More...
 
virtual void addElement (coUIElement *element)
 Appends a child to this container. More...
 
virtual void removeElement (coUIElement *element)
 Removes a child from this container. More...
 
virtual float getWidth () const
 There is no sense to make virtual functions inline... More...
 
virtual float getHeight () const
 Returns element height. More...
 
virtual float getDepth () const
 Get z axis object size. More...
 
virtual float getXpos () const
 Returns element x position. More...
 
virtual float getYpos () const
 Returns element y position. More...
 
virtual float getZpos () const
 Get z position. More...
 
virtual void setPos (float x, float y, float z=0)
 
virtual void setWidth (float width)
 set the width of the background element explicitely More...
 
virtual void setHeight (float height)
 set the height of the background element explicitely More...
 
virtual void setDepth (float depth)
 set the depth of the background element explicitely More...
 
virtual void setMinWidth (float minWidth)
 set the minimum width of the background element More...
 
virtual void setMinHeight (float minHeight)
 set the minimum height of the background element More...
 
virtual void setMinDepth (float minDepth)
 set the minimum depth of the background element More...
 
virtual void setZOffset (float offset)
 Change the Z offset of the child, default is 5mm. More...
 
virtual void setSize (float size)
 Set UI element size, use equal values for all dimensions. More...
 
virtual void setSize (float nw, float nh, float nd)
 Set UI element size. More...
 
virtual void setEnabled (bool enabled)
 Set activation state of this container and all its children. More...
 
virtual void setHighlighted (bool highlighted)
 Set highlight state of this container and all its children. More...
 
virtual void resizeToParent (float, float, float, bool shrink=true)
 This method is called by containers after they resized to allow children to adjust their geometry to the new parents' size Children must not call childResized() of their parent here, as this could lead to an infinite loop. More...
 
virtual void shrinkToMin ()
 Shrinks itself! This includes shrinking all children. More...
 
virtual const char * getClassName () const
 get the Element's classname More...
 
virtual bool isOfClassName (const char *) const
 check if the Element or any ancestor is this classname More...
 
- Public Member Functions inherited from vrui::coUIContainer
 coUIContainer ()
 Constructor. More...
 
virtual ~coUIContainer ()
 Destructor. More...
 
virtual void setEnabled (bool enabled)
 Set activation state of this container and all its children. More...
 
virtual void setHighlighted (bool highlighted)
 Set highlight state of this container and all its children. More...
 
virtual void resizeToParent (float x, float y, float z, bool shrink=true)
 This method is called by containers after they resized to allow children to adjust their geometry to the new parents' size Children must not call childResized() of their parent here, as this could lead to an infinite loop. More...
 
virtual void shrinkToMin ()
 Set element location in space. More...
 
virtual void addElement (coUIElement *element)
 Appends a child to this container. More...
 
virtual void removeElement (coUIElement *element)
 Removes a child from this container. More...
 
virtual void removeLastElement ()
 Removes a child from this container. More...
 
virtual void showElement (coUIElement *element)
 Adds the specified element to the scenegraph. More...
 
void setXAlignment (int a)
 set the alignment in X direction of the children More...
 
void setYAlignment (int a)
 set the alignment in Y direction of the children More...
 
void setZAlignment (int a)
 set the alignment in Z direction of the children More...
 
virtual const char * getClassName () const
 get the Element's classname More...
 
virtual bool isOfClassName (const char *) const
 check if the Element or any ancestor is this classname More...
 
float getMaxH () const
 maximum size in H direction More...
 
float getMaxW () const
 maximum size in W direction More...
 
float getMaxD () const
 maximum size in D direction More...
 
float getSumH () const
 sum of sizes in H direction More...
 
float getSumW () const
 sum of sizes in W direction More...
 
float getSumD () const
 sum of sizes in D direction More...
 
int getSize ()
 
- Public Member Functions inherited from vrui::coUIElement
 coUIElement ()
 
virtual ~coUIElement ()
 Destructor. More...
 
virtual void createGeometry ()
 
virtual void setParent (coUIContainer *)
 Set parent container. More...
 
virtual coUIContainergetParent ()
 Get parent container. More...
 
virtual void setEnabled (bool enabled)
 Set activation state. More...
 
virtual void setHighlighted (bool highlighted)
 Set highlight state. More...
 
virtual void setVisible (bool visible)
 Set element visibility. More...
 
virtual bool isEnabled () const
 Get activation state. More...
 
virtual bool isHighlighted () const
 Get highlight state. More...
 
virtual bool isVisible () const
 Get visibility state. More...
 
virtual float getWidth () const =0
 Returns element width. More...
 
virtual float getHeight () const =0
 Returns element height. More...
 
virtual float getDepth () const
 Get z axis object size. More...
 
virtual float getXpos () const =0
 Returns element x position. More...
 
virtual float getYpos () const =0
 Returns element y position. More...
 
virtual float getZpos () const
 Get z position. More...
 
virtual void childResized (bool shrink=true)
 This method is called by children whenever they change their size Implementations of this method should call the childResized() of their parent container. More...
 
virtual void resizeToParent (float, float, float, bool shrink=true)
 This method is called by containers after they resized to allow children to adjust their geometry to the new parents' size Children must not call childResized() of their parent here, as this could lead to an infinite loop. More...
 
virtual void shrinkToMin ()
 Set element location in space. More...
 
virtual void setPos (float, float, float)=0
 
virtual void setSize (float, float, float)
 Set UI element size. More...
 
virtual void setSize (float)
 Set UI element size, use equal values for all dimensions. More...
 
virtual float getResizePref ()
 
virtual void setUserData (coUIUserData *)
 Set the current userdata object. More...
 
virtual coUIUserDatagetUserData () const
 Returns the current userdata object. More...
 
virtual vruiTransformNodegetDCS ()
 
virtual vruiUIElementProvidergetUIElementProvider () const
 
virtual void setAttachment (int)
 sets the attachment border More...
 
virtual int getAttachment () const
 returns the attachment border More...
 
void setUniqueName (const char *)
 
const char * getUniqueName () const
 
virtual const char * getClassName () const
 get the Element's classname More...
 
virtual bool isOfClassName (const char *) const
 check if the Element or any ancestor is this classname More...
 
- Public Member Functions inherited from vrui::coAction
 coAction ()
 Constructor. More...
 
virtual ~coAction ()
 Destructor. More...
 
virtual int hit (vruiHit *hit)=0
 hit is called whenever the node, or any node underneath the node with this action is intersected return ACTION_CALL_ON_MISS if you want miss to be called otherwise return ACTION_DONE More...
 
virtual void miss ()
 miss is called once after a hit, if the node is not intersected anymore More...
 
void setFrame (unsigned int frame)
 INTERNAL set the framecounter (used to produce the miss call) More...
 
unsigned int getFrame () const
 INTERNAL get the framecounter (used to produce the miss call) More...
 
void setNode (vruiNode *)
 INTERNAL set the node this action belongs to. More...
 
void addChild (coAction *)
 INTERNAL add a child action. More...
 
virtual int hitAll (vruiHit *hit)
 INTERNAL same as miss/hit, but do it for all children as well. More...
 
virtual void missAll ()
 INTERNAL same as miss/hit, but do it for all children as well. More...
 

Protected Attributes

coTextureRectBackgroundActormyActor
 action listener, triggered on pointer intersections More...
 
- Protected Attributes inherited from vrui::coBackground
float myX
 Background position X. More...
 
float myY
 Background position Y. More...
 
float myZ
 Background position Z. More...
 
float myWidth
 Background width. More...
 
float myHeight
 Background height. More...
 
float myDepth
 Background depth. More...
 
float minWidth
 Background minimal width. More...
 
float minHeight
 Background minimal height. More...
 
float minDepth
 Background minimal depth. More...
 
float myZOffset
 Z offset of child. More...
 
- Protected Attributes inherited from vrui::coUIContainer
int xAlignment
 alignment on children in X direction More...
 
int yAlignment
 alignment on children in Y direction More...
 
int zAlignment
 alignment on children in Z direction More...
 
std::list< coUIElement * > elements
 List of children elements. More...
 
float prefWidth
 try to get That high/wide if possible More...
 
float prefHeight
 
- Protected Attributes inherited from vrui::coUIElement
float xScaleFactor
 UI element x axis scale factor. More...
 
float yScaleFactor
 UI element y axis scale factor. More...
 
float zScaleFactor
 UI element z axis scale factor. More...
 
bool enabled
 true if UI element is enabled, false if UI element cannot be used More...
 
bool highlighted
 true if highlighted More...
 
bool visible
 true if UI element is visible, false if not visible but still present in scene tree More...
 
vruiUIElementProvideruiElementProvider
 
- Protected Attributes inherited from vrui::coAction
std::string actionName
 name of this action this can be used to distinguish betwenn different types of actions like touch and intersection actions More...
 

Additional Inherited Members

- Public Types inherited from vrui::coUIContainer
enum  { CENTER = 0 , MIN , MAX , BOTH }
 Alignment specification for children. More...
 
- Public Types inherited from vrui::coUIElement
enum  Material {
  RED = 0 , GREEN , BLUE , YELLOW ,
  GREY , WHITE , BLACK , DARK_YELLOW ,
  WHITE_NL , ITEM_BACKGROUND_NORMAL , ITEM_BACKGROUND_HIGHLIGHTED , ITEM_BACKGROUND_DISABLED ,
  HANDLE_BACKGROUND_NORMAL , HANDLE_BACKGROUND_HIGHLIGHTED , HANDLE_BACKGROUND_DISABLED , BACKGROUND ,
  NUM_MATERIALS
}
 Color definitions, to be used whenever a material is needed. More...
 
enum  {
  LEFT = 0 , TOP , RIGHT , BOTTOM ,
  REPLACE
}
 attachment order is counterclockwise like this and describes the side/border which the item is attached to! More...
 
- Public Types inherited from vrui::coAction
enum  Result { ACTION_DONE = 0x00 , ACTION_CALL_ON_MISS = 0x01 , ACTION_UNDEF = 0x02 }
 
- Static Public Member Functions inherited from vrui::coUIElement
static vruiMatrixgetMatrixFromPositionHprScale (float x, float y, float z, float h, float p, float r, float scale)
 Constructor. More...
 
- Public Attributes inherited from vrui::coUIContainer
enum vrui::coUIContainer:: { ... }  alignments
 Alignment specification for children. More...
 
- Public Attributes inherited from vrui::coUIElement
enum vrui::coUIElement:: { ... }  Attachments
 attachment order is counterclockwise like this and describes the side/border which the item is attached to! More...
 
- Protected Member Functions inherited from vrui::coBackground
virtual void resizeGeometry ()
 this method is called whenever the geometry of the background has to be recomputed More...
 
void realign ()
 centers the child More...
 
virtual void resizeGeometry ()
 
- Protected Member Functions inherited from vrui::coUIElement
virtual void resizeGeometry ()
 
virtual const vruiMatrixgetTransformMatrix ()
 

Detailed Description

This class provides background for GUI elements.

The texture of this background changes according to the elements state (normal/highlighted/disabled) A background should contain only one child, use another container to layout multiple chlidren inside the frame.

Constructor & Destructor Documentation

◆ coTextureRectBackground() [1/2]

vrui::coTextureRectBackground::coTextureRectBackground ( const std::string &  normalTexture,
coTextureRectBackgroundActor actor = 0 
)

Constructor.

Parameters
normalTexturenormal texture name
highlightTexturehighlighted texture name
disableTexturedisabled texture name

◆ coTextureRectBackground() [2/2]

vrui::coTextureRectBackground::coTextureRectBackground ( uint *  normalImage,
int  comp,
int  ns,
int  nt,
int  nr,
coTextureRectBackgroundActor actor = 0 
)

Constructor.

Parameters
normalImagetexel array form normal appearance
highlightImagetexel array for highlighted appearance
disableImagetexel array for disabled appearance

◆ ~coTextureRectBackground()

vrui::coTextureRectBackground::~coTextureRectBackground ( )
virtual

Destructor.

Member Function Documentation

◆ getClassName()

const char * vrui::coTextureRectBackground::getClassName ( ) const
virtual

get the Element's classname

Reimplemented from vrui::coBackground.

◆ getCurrentTextures()

TextureSet * vrui::coTextureRectBackground::getCurrentTextures ( )
inline

◆ getNormalTexName()

const std::string & vrui::coTextureRectBackground::getNormalTexName ( ) const
inline

◆ getRepeat()

bool vrui::coTextureRectBackground::getRepeat ( ) const

get texture repeat state (deprecated!)

◆ getTexXSize()

float vrui::coTextureRectBackground::getTexXSize ( ) const
inline

returns the width of the texture

◆ getTexYSize()

float vrui::coTextureRectBackground::getTexYSize ( ) const
inline

returns the height of the texture

◆ getUpdated()

bool vrui::coTextureRectBackground::getUpdated ( )
inline

returns whether

◆ hit()

int vrui::coTextureRectBackground::hit ( vruiHit hit)
virtual

Hit is called whenever this texture is intersected.

Returns
ACTION_CALL_ON_MISS if you want miss to be called otherwise return ACTION_DONE

Implements vrui::coAction.

◆ isOfClassName()

bool vrui::coTextureRectBackground::isOfClassName ( const char *  classname) const
virtual

check if the Element or any ancestor is this classname

Reimplemented from vrui::coBackground.

◆ miss()

void vrui::coTextureRectBackground::miss ( )
virtual

miss is called once after a hit, if the node is not intersected anymore

Reimplemented from vrui::coAction.

◆ setEnabled()

void vrui::coTextureRectBackground::setEnabled ( bool  en)
virtual

set this widget to enabled

Set activation state of this background and all its children.

if this background is disabled, the texture is always the disabled texture, regardless of the highlighted state

Parameters
entrue = elements enabled

Reimplemented from vrui::coBackground.

◆ setHighlighted()

void vrui::coTextureRectBackground::setHighlighted ( bool  hl)
virtual

set this widget to highlighted

Reimplemented from vrui::coBackground.

◆ setImage()

void vrui::coTextureRectBackground::setImage ( uint *  normalImage,
int  comp,
int  ns,
int  nt,
int  nr 
)

set the image data Params: normalImage = texture data comp = components/Bytes per pixel ns = texture width nt = texture height nr = texture depth (unused, since this is a 2D-rect-texture!)

◆ setRepeat()

void vrui::coTextureRectBackground::setRepeat ( bool  r)

set texture repeat (deprecated!)

set repeating of the texture

Parameters
rif set to true, texture will be repeated, otherwise it is clamped, default is false

◆ setTexSize()

void vrui::coTextureRectBackground::setTexSize ( float  x,
float  y 
)

set the texture dimensions (need to be pixel-exact)

set the size of the texture

Parameters
xwidth 0 means fit to Background
yheight 0 means fit to Background

◆ setUpdated()

void vrui::coTextureRectBackground::setUpdated ( bool  update)
inline

after setting the image data, set this to true.

after updating the texture, set this to false

Member Data Documentation

◆ myActor

coTextureRectBackgroundActor* vrui::coTextureRectBackground::myActor
protected

action listener, triggered on pointer intersections


The documentation for this class was generated from the following files:
PreviousNext

Authors: Martin Aumüller, Ruth Lang, Daniela Rainer, Jürgen Schulze-Döbold, Andreas Werner, Peter Wolf, Uwe Wössner
Copyright © 1993-2009 HLRS, 2004-2009 RRZK, 2005-2009 Visenso
COVISE Version 6.5 Academic