vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
APGUI::Slider Class Reference

Slider GUI item. More...

#include <Slider.h>

Inheritance diagram for APGUI::Slider:
APGUI::GUI_Item vrecko::Ability vrecko::BaseClass

Public Member Functions

 Slider ()
 
 ~Slider ()
 
bool createModels (string geometryType)
 
bool initialize (string name, string receiver, string label, string tooltip, osg::Vec3 position=osg::Vec3())
 
bool initialize (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parametersNode)
 
osg::ref_ptr< GUI_TextgetText ()
 
double getValue ()
 
bool processAction (const int sensorNumber, const GUI_ACTION action, const bool pressed)
 Called when user presses (or releases0 defined button. More...
 
virtual void pointed (bool pointed)
 Called when user point slider. More...
 
void setColours (osg::Vec4 colourActive, osg::Vec4 colourDefault, osg::Vec4 colourHovered, osg::Vec4 colourPressed, osg::Vec4 colourDisabled)
 Called, when visual models have to be switched (user pointed or clicked on some GUI item) More...
 
void setSliderParameters (double width, double heigh, double minValue, double MaxValue, double step)
 
void setState (GUI_ITEM_STATE newState)
 Set new state of item. More...
 
void setValue (double value)
 
void update ()
 This method is called periodically in case this instance is registered in Scheduler. More...
 
- Public Member Functions inherited from APGUI::GUI_Item
 GUI_Item (const char *abName)
 
 ~GUI_Item ()
 
string getGUIItemName ()
 
bool isDefaultStateActive ()
 returns if initial state of this item is active (false in most cases) More...
 
void show ()
 
void hide ()
 
void hideTooltip ()
 
void showTooltip ()
 
- Public Member Functions inherited from vrecko::Ability
virtual ~Ability ()
 copy constructor More...
 
const std::string & getName () const
 Returns the ability name. More...
 
void setPluginName (const char *pName)
 Sets the plugin name. More...
 
const std::string & getPluginName (void) const
 Returns the plugin name. More...
 
const std::string & getID (void) const
 Returns ability the identification string. More...
 
void setID (const char *pID)
 (Internal usage, most people should not need to use it.) Sets the ability ID. More...
 
virtual void clean (void)
 
void setOwner (BaseClass *owner)
 (Internal usage, most people should not need to use it.) Sets ability owner. *l This method is called automatically in World::createAbility(), so one would (almost?) never want to use it directly. More...
 
BaseClassgetOwner (void)
 Returns the ability owner. More...
 
virtual ParameterVectorgetParameterVector (void)
 Return vector of the parameter description. More...
 
bool isUpdated (void)
 Set update flag. More...
 
virtual const std::string & getSenderString (void)
 Returns the identification string of sender. More...
 
- Public Member Functions inherited from vrecko::BaseClass
 BaseClass (const char *startingSenderString)
 The main constructor. More...
 
 BaseClass (BaseClass &bc)
 Copy constructor. Probably not really used. More...
 
virtual ~BaseClass ()
 Destructor. More...
 
virtual bool initializeFromString (const char *xmlString)
 Helper method that allows to initialize ability from a XML-formatted string. More...
 
virtual
XERCES_CPP_NAMESPACE_QUALIFIER
DOMNode
saveXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *)
 Save current setting into a XML node. More...
 
bool inputPresent (const std::string &name)
 Returns true if input pin (not request inputpin ) with given name is present. More...
 
bool outputPresent (const std::string &name)
 Returns true if output pin (not request output pin) with given name is present. More...
 
void addInputPin (InputPinBase *pin)
 Adds an input pin. More...
 
void removeInputPin (InputPinBase *pin)
 Removes an input pin. More...
 
void addOutputPin (OutputPinBase *pin)
 Adds an output pin. More...
 
void removeOutputPin (OutputPinBase *pin)
 Removes and output pin. More...
 
void addRequestInputPin (RequestInputPinBase *pin)
 Adds a request input pin. More...
 
void removeRequestInputPin (RequestInputPinBase *pin)
 Removes a request input pin. More...
 
void addRequestOutputPin (RequestOutputPinBase *pin)
 Adds a request output pin. More...
 
void removeRequestOutputPin (RequestOutputPinBase *pin)
 Removes a request output pin. More...
 
bool addNotification (BaseClass *receiver, unsigned long notificationTypes)
 Registers an observer that will be notified if a specific change occurs. More...
 
bool removeNotification (BaseClass *receiver, unsigned long notificationTypes=NOTIFICATION_ALL)
 Unregisters a previously registered observer. More...
 
virtual void processEvent (const std::string &input_name, VreckoMessage *pMessage)
 Internal method for processing the events. More...
 
virtual VreckoMessageprocessRequest (const std::string &request_input_name, VreckoMessage *pMessage)
 Internal method for processing the requests. More...
 
void reportError (const std::string &error)
 Print error message. More...
 
void setPriority (long int pr)
 Sets the priority. (Possible problems - read the full description for more info) More...
 
long int getPriority (void) const
 Returns current object priority. More...
 
void setAttribute (const std::string &attr_name, int attr_value)
 Sets an attribute value. More...
 
int getAttribute (const std::string &attr_name)
 Returns attribute value. More...
 
int getAttribute (const char *attr_name)
 Returns attribute value. More...
 
void deleteAttribute (const std::string &attr_name)
 Delete an attribute. More...
 
void setSceneFile (const std::string &sceneFileName)
 Set the name of the file this component was in (and possibly will be saved to). More...
 
const std::string & getSceneFile () const
 Get the name of the file this component was in. More...
 
virtual void preInitialize (void)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
virtual void postInitialize (void)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
virtual bool loadXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
virtual bool loadXMLParameters (const char *xmlString)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
InputPinBasegetInputPin (const char *strName)
 Returns pointer to an input pin with specified name. More...
 
OutputPinBasegetOutputPin (const char *strName)
 Returns pointer to an output pin with specified name. More...
 
RequestInputPinBasegetRequestInputPin (const char *strName)
 Returns pointer to an request input pin with specified name. More...
 
RequestOutputPinBasegetRequestOutputPin (const char *strName)
 Returns pointer to an input pin with specified name. More...
 

Protected Member Functions

void createGeometry ()
 
void setAndSendValue (double value)
 
void sendValue (double value)
 
void switchVisuals ()
 Called, when visual models have to be switched (user pointed or clicked on some GUI item) More...
 
void updateSlider (osg::Vec3 handPosition)
 
osg::Vec3 transformHandPosition (osg::Vec3 &handPosition)
 
int Slider::intersectSegmentandPlane (osg::Vec3 point0, osg::Vec3 point1, osg::Vec3 planeNormal, osg::Vec3 planePoint, osg::Vec3 *resultPoint)
 
bool postInitialize (string name, string receiver, string label, string tooltip, osg::Vec3 position)
 last part of initialization process - common for both initialize() methods More...
 
 DECLARE_INPUT (SliderValue, MessageFloat)
 
 DECLARE_OUTPUT (GUIItemClicked, MessageString)
 
 DECLARE_REQUEST_OUTPUT (SensorPosition, MessageInt, MessageVec3)
 
void processInputPosition (int sensor_num, osg::Vec3 pos)
 
- Protected Member Functions inherited from APGUI::GUI_Item
osgText::Text * GUI_Item::createLabel ()
 
bool initialize (bool pointable=true, int sensor=-1)
 basic initialization - common for all GUI Item types More...
 
- Protected Member Functions inherited from vrecko::Ability
 Ability (const char *theAbilityName)
 
- Protected Member Functions inherited from vrecko::BaseClass
bool sendNotifications (unsigned long notificationType, void *notificationData)
 
virtual int processNotification (BaseClass *sender, unsigned long notificationType, void *notificationData)
 Process an incoming notification. More...
 
IOPinBasefindPinInList (const char *strName, PinList *pinList)
 Internal method to find a given pin in a given list. More...
 

Protected Attributes

int _sensorNumber
 number of sensor actually working with More...
 
double _oldValue
 
double _minimumValue
 
double _maximumValue
 
double _step
 
double _width
 width of slider More...
 
double _height
 
osg::ref_ptr< osg::Switch > _staticModel
 
osg::ref_ptr
< osg::MatrixTransform > 
_movableTransform
 
osg::ref_ptr< osg::Switch > _movableModel
 
osg::ref_ptr< GUI_Text_text
 
- Protected Attributes inherited from APGUI::GUI_Item
string _name
 Identification of this GUI item. More...
 
string _receiver
 name of target object or ability More...
 
GUI_ITEM_STATE _state
 state of item - default, active, disabled, ... More...
 
GUI_Controller_controller
 pointer to GUI controller More...
 
osg::Group * _texts
 
osg::ref_ptr< GUI_Text_label
 Label - just a static label of Item. More...
 
osg::ref_ptr< GUI_Text_toolTip
 Tooltip - appears, when user hover with pointer over item for some time. Controller controls showing and hiding of tooltip. More...
 
EnvironmentObject_parent
 Pointer to parent object. More...
 
int _sensorNumber
 index of input device, that currently pressed GUI item More...
 
osg::ref_ptr
< osg::MatrixTransform > 
_itemTransform
 transformation node of GUI item - mainly for setting position of GUI Item relatively to the parent Environment Object More...
 
int _pointedCounter
 How many sensors is pointing to this GUI Item. More...
 
bool _pressed
 True, when user holds GUI-interaction button pressed, pointing on this GUI item. More...
 
bool _defaultStateActive
 flag, if this item should be in 'active' state after startup / reset More...
 
osg::Vec4 _colourActive
 
osg::Vec4 _colourDefault
 
osg::Vec4 _colourHovered
 
osg::Vec4 _colourPressed
 
osg::Vec4 _colourDisabled
 
std::vector< Interconnection * > _interconnections
 list of all created interconnections, More...
 
- Protected Attributes inherited from vrecko::Ability
BaseClasspOwner
 Pointer to the owner of this ability. (Almost?) always an EnvironmentObject class. More...
 
std::vector< std::string > parameterString
 
bool updated
 Update flag. It is used for save. More...
 
- Protected Attributes inherited from vrecko::BaseClass
AttributeMap attribute
 
MTReadWriteLock attributeLock
 
std::string senderString
 
MTLock notificationsLock
 
std::vector
< NOTIFICATION_DESCRIPTION
notifications
 
long int priority
 
const std::string * sceneFile
 
PinList inputPinsList
 
PinList outputPinsList
 
PinList requestInputPinsList
 
PinList requestOutputPinsList
 

Additional Inherited Members

- Public Types inherited from vrecko::Ability
typedef std::vector
< ParameterStruct
ParameterVector
 Vector of the description of parameters. More...
 
- Protected Types inherited from vrecko::BaseClass
typedef std::map< std::string,
int > 
AttributeMap
 Attributes. More...
 
typedef std::vector
< osg::ref_ptr< IOPinBase > > 
PinList
 

Detailed Description

Slider GUI item.

Ability for slider functionality to scene. Handle situations, when user point to slider and change slider value. Ability should be added as child to EO with some geometry.

Author
Jiri Chmelik
Date
2011

Constructor & Destructor Documentation

APGUI::Slider::Slider ( )
APGUI::Slider::~Slider ( )

Member Function Documentation

void APGUI::Slider::createGeometry ( )
protected
bool APGUI::Slider::createModels ( string  geometryType)
APGUI::Slider::DECLARE_INPUT ( SliderValue  ,
MessageFloat   
)
protected
APGUI::Slider::DECLARE_OUTPUT ( GUIItemClicked  ,
MessageString   
)
protected
APGUI::Slider::DECLARE_REQUEST_OUTPUT ( SensorPosition  ,
MessageInt  ,
MessageVec3   
)
protected
osg::ref_ptr<GUI_Text> APGUI::Slider::getText ( )
inline
double APGUI::Slider::getValue ( )
inline
bool APGUI::Slider::initialize ( string  name,
string  receiver,
string  label,
string  tooltip,
osg::Vec3  position = osg::Vec3() 
)

Initialization of GUI item Called when Icon is defined from source code (not from XML)

Parameters
name- unique identifier of GUI Item, required
receiver- identifier of receiver (target) of this icon, required
label- text shown somewhere near icon, optional
tooltip- textual tooltip, shown after some hover time, optional
position- relative position of icon to its parent environment object
Returns
successfulness of operation
bool APGUI::Slider::initialize ( XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *  parametersNode)
virtual

Initialization of GUI item Called when Icon is defined in XML scene description

Warning
do NOT call this method, if you are creating GUI Items from code - use other initialization method (the one with more parameters)
Returns
successfulness of operation

Reimplemented from vrecko::BaseClass.

void APGUI::Slider::pointed ( bool  pointed)
virtual

Called when user point slider.

Implements APGUI::GUI_Item.

bool APGUI::Slider::postInitialize ( string  name,
string  receiver,
string  label,
string  tooltip,
osg::Vec3  position 
)
protected

last part of initialization process - common for both initialize() methods

bool APGUI::Slider::processAction ( const int  sensorNumber,
const GUI_ACTION  action,
const bool  pressed 
)
virtual

Called when user presses (or releases0 defined button.

Implements APGUI::GUI_Item.

void APGUI::Slider::processInputPosition ( int  sensor_num,
osg::Vec3  pos 
)
protected
void APGUI::Slider::sendValue ( double  value)
protected
void APGUI::Slider::setAndSendValue ( double  value)
protected
void APGUI::Slider::setColours ( osg::Vec4  colourActive,
osg::Vec4  colourDefault,
osg::Vec4  colourHovered,
osg::Vec4  colourPressed,
osg::Vec4  colourDisabled 
)
virtual

Called, when visual models have to be switched (user pointed or clicked on some GUI item)

Reimplemented from APGUI::GUI_Item.

void APGUI::Slider::setSliderParameters ( double  width,
double  heigh,
double  minValue,
double  MaxValue,
double  step 
)
void APGUI::Slider::setState ( GUI_ITEM_STATE  newState)
virtual

Set new state of item.

Implements APGUI::GUI_Item.

void APGUI::Slider::setValue ( double  value)
int APGUI::Slider::Slider::intersectSegmentandPlane ( osg::Vec3  point0,
osg::Vec3  point1,
osg::Vec3  planeNormal,
osg::Vec3  planePoint,
osg::Vec3 *  resultPoint 
)
protected
void APGUI::Slider::switchVisuals ( )
protected

Called, when visual models have to be switched (user pointed or clicked on some GUI item)

osg::Vec3 APGUI::Slider::transformHandPosition ( osg::Vec3 &  handPosition)
protected
void APGUI::Slider::update ( void  )
virtual

This method is called periodically in case this instance is registered in Scheduler.

The method is called periodically at specified frequency or every frame. Use the Scheduler::addEntity() method to register your class and set the frequency.

Reimplemented from vrecko::BaseClass.

void APGUI::Slider::updateSlider ( osg::Vec3  handPosition)
protected

Member Data Documentation

double APGUI::Slider::_height
protected
double APGUI::Slider::_maximumValue
protected
double APGUI::Slider::_minimumValue
protected
osg::ref_ptr<osg::Switch> APGUI::Slider::_movableModel
protected
osg::ref_ptr<osg::MatrixTransform> APGUI::Slider::_movableTransform
protected
double APGUI::Slider::_oldValue
protected
int APGUI::Slider::_sensorNumber
protected

number of sensor actually working with

osg::ref_ptr<osg::Switch> APGUI::Slider::_staticModel
protected
double APGUI::Slider::_step
protected
osg::ref_ptr<GUI_Text> APGUI::Slider::_text
protected
double APGUI::Slider::_width
protected

width of slider


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