vrecko
virtual reality framework
|
#include <ToolMagicWand.h>
Public Member Functions | |
ToolMagicWand () | |
virtual void | activate () |
Activate tool. More... | |
void | createMenuAbilities () |
std::string | createMenuStructure () |
PoA * | getSelectedPoA () |
virtual void | deactivate () |
Deactivate tool. More... | |
virtual bool | initialize (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters=NULL) |
Core initialization. More... | |
virtual void | turnOn () |
"Start" tool More... | |
virtual void | turnOff () |
"Stop" tool More... | |
virtual void | update () |
This method is called periodically in case this instance is registered in Scheduler. More... | |
Public Member Functions inherited from APDYNAMICART::DATool | |
DATool (const char *abilityName) | |
~DATool () | |
void | createCursor (EnvironmentObject *parent, string fileName) |
Create new EO, load geometry from given file and attach it to parent EnvironmentObject. More... | |
EnvironmentObject * | getCursor () |
DAToolType | getType () |
osg::Vec3 * | getSize () |
bool | isActive () |
void | setSize (osg::Vec3 p_size) |
set size of tool and optional its visual cursor, too More... | |
void | setPoA (osg::ref_ptr< PoA > newPoa) |
Set reference pointer to PoA to work with. More... | |
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... | |
BaseClass * | getOwner (void) |
Returns the ability owner. More... | |
virtual ParameterVector * | getParameterVector (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 VreckoMessage * | processRequest (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... | |
InputPinBase * | getInputPin (const char *strName) |
Returns pointer to an input pin with specified name. More... | |
OutputPinBase * | getOutputPin (const char *strName) |
Returns pointer to an output pin with specified name. More... | |
RequestInputPinBase * | getRequestInputPin (const char *strName) |
Returns pointer to an request input pin with specified name. More... | |
RequestOutputPinBase * | getRequestOutputPin (const char *strName) |
Returns pointer to an input pin with specified name. More... | |
Public Member Functions inherited from vreckoUtils::Observable | |
void | addObserver (Observer *observer) |
void | removeObserver (Observer *observer) |
void | notifyObservers (void *userData=NULL) |
Protected Member Functions | |
void | changeAttractor (osg::Vec3 newHandPosition) |
void | setValuesXYZ (double newValueX, double newValueY, double newValueZ) |
DECLARE_INPUT (GUIItemClicked, MessageString) | |
DECLARE_INPUT (CreateMenuStructure, MessageInt) | |
DECLARE_INPUT (HidingMenu, MessageBool) | |
void | guiItemClicked (const char *itemID) |
Called when user click on some item of GUI - icon, menu item, ... More... | |
void | menuSliderChanged (const char *sliderID, float sliderPos) |
Called when user moves with slider on some item of menu. More... | |
DECLARE_OUTPUT (MenuStructure, MessageString) | |
DECLARE_REQUEST_OUTPUT (SensorTransformation, MessageInt, MessageSensorTransformation) | |
DECLARE_REQUEST_OUTPUT (SelectedObjectID, MessageInt, MessageObjectID) | |
Protected Attributes | |
int | _sensorNumber |
number of optitrack sensor (trackable in TrackingTools). Usually 0 (right hand) More... | |
std::string | PointerPosReqString |
request for (initial) position string More... | |
osg::ref_ptr< OrdinaryAttractor > | attractor |
Attractor to be influenced by this tool. More... | |
bool | dominantAxis |
dominant axis mode or free hand mode More... | |
APGUI::Menu * | _MenuAbility |
APGUI::GUI_Controller * | _guiController |
osg::Vec3 | _originalHandposition |
osg::Vec3 | newHandPosition |
double | handMoveMin |
range of movement of hand - todo - may it differ in different axes? More... | |
double | handMoveMax |
osg::Vec3 | paramRangeStart |
osg::Vec3 | paramRangeEnd |
osg::Vec3 | initialParamValue |
osg::Vec3 | paramShift1 |
osg::Vec3 | paramShift2 |
osg::Vec3 | paramMult |
int | indexX |
index of parameter infuenced by movement in X axis More... | |
int | indexY |
index of parameter infuenced by movement in Y axis More... | |
int | indexZ |
index of parameter infuenced by movement in Z axis More... | |
Controller * | controller |
int | originalIterations |
int | _lastDominantAxis |
int | _precision |
osg::Vec3 | _lastHandPosition |
Protected Attributes inherited from APDYNAMICART::DATool | |
DAToolType | toolType |
Type of tool. More... | |
DAEnvironment * | _daEnvironment |
DAEnvironment. More... | |
EnvironmentObject * | _daArea |
owner of this ability More... | |
bool | active |
Is active right now? More... | |
osg::ref_ptr< PoA > | _poa |
actual _poa More... | |
osg::ref_ptr< EnvironmentObject > | _cursor |
visual cursor of tool More... | |
osg::Vec3 * | size |
Size (area of influence) of tool. More... | |
Protected Attributes inherited from vrecko::Ability | |
BaseClass * | pOwner |
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 |
Protected Attributes inherited from vreckoUtils::Observable | |
std::vector< Observer * > | _observers |
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 |
APDYNAMICART::ToolMagicWand::ToolMagicWand | ( | ) |
|
virtual |
Activate tool.
< index of parameter infuenced by movement in X axis
< index of parameter infuenced by movement in Y axis
< index of parameter infuenced by movement in Z axis
Implements APDYNAMICART::DATool.
|
protected |
void APDYNAMICART::ToolMagicWand::createMenuAbilities | ( | ) |
std::string APDYNAMICART::ToolMagicWand::createMenuStructure | ( | void | ) |
Color of menu item representing actually selected choice e.g. actual context in switch context menu
|
virtual |
Deactivate tool.
Implements APDYNAMICART::DATool.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
PoA * APDYNAMICART::ToolMagicWand::getSelectedPoA | ( | ) |
|
protected |
Called when user click on some item of GUI - icon, menu item, ...
itemID | contains 'name' of menu item. |
|
virtual |
Core initialization.
It is important to place the initializing code here, because especially in the case of Abilities, this is the point when the ID and owner is known and we can react accordingly. (This information is unknown in the constructor.)
You will probably want to override this method. This method supersedes the original preInitialize() / loadXMLParameters() / postInitialize() methods, which are now obsolete, but for the sake of compatibility they are called from the initialize() if the method is not overridden. You can override it and forget about pre/postInitialize() or loadParameters() - it's now an old solution.
parameters | (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *) Pointer to a XML DOM node, might be NULL if no parameters were specified. The ability should initialize to default values in that case. |
Reimplemented from vrecko::BaseClass.
|
protected |
Called when user moves with slider on some item of menu.
sliderID | contains 'name' of menu item |
value | contains current value of slider |
|
protected |
|
virtual |
"Stop" tool
Implements APDYNAMICART::DATool.
|
virtual |
"Start" tool
Implements APDYNAMICART::DATool.
|
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.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
number of optitrack sensor (trackable in TrackingTools). Usually 0 (right hand)
|
protected |
Attractor to be influenced by this tool.
|
protected |
|
protected |
dominant axis mode or free hand mode
|
protected |
|
protected |
range of movement of hand - todo - may it differ in different axes?
|
protected |
index of parameter infuenced by movement in X axis
|
protected |
index of parameter infuenced by movement in Y axis
|
protected |
index of parameter infuenced by movement in Z axis
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
request for (initial) position string