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

controller of Motion Trail PoAs More...

#include <Ctrl_MotionVisualization.h>

Inheritance diagram for APDYNAMICART::Ctrl_MotionVisualization:
APDYNAMICART::Ctrl_FreeHandPainting APDYNAMICART::Controller vrecko::Ability vrecko::BaseClass

Public Member Functions

 Ctrl_MotionVisualization ()
 
 ~Ctrl_MotionVisualization ()
 
void activateTool ()
 Called by Dynamic Art Environment (DAEnvironment) when user press "useTool" button. More...
 
void clear ()
 clear controller - called before new scene is created or loaded More...
 
std::string createMenuStructure (void) const
 
osg::ref_ptr< PoAcreatePoA ()
 Crete new instance of MotionTrail object. More...
 
void deactivateTool ()
 Called by Dynamic Art Environment (DAEnvironment) when user release "useTool" button. More...
 
void initialize (DAEnvironment *p_dae, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters=NULL)
 
void guiSliderChanged (const char *sliderID, float sliderPos)
 
void setSensorCount (int newCount)
 
void switchGUIVisibility ()
 
void switchTools (DAToolType newType)
 switching between tools More...
 
void turnOn ()
 Called when Dynamic Art Environment (DAEnvironment) context is switched to this controller. More...
 
void turnOff ()
 Called when Dynamic Art Environment (DAEnvironment) context is switched to another controller. More...
 
- Public Member Functions inherited from APDYNAMICART::Ctrl_FreeHandPainting
 Ctrl_FreeHandPainting ()
 warning IDs of controllers must contain NO spaces (because of XML parsing) More...
 
 Ctrl_FreeHandPainting (const char *abName, const char *contextName, PoAType type)
 
 ~Ctrl_FreeHandPainting ()
 
void createMenuStructure (osg::ref_ptr< vreckoUtils::MenuBase > parentMenu) const
 Creates structure of menu items for this Controller. More...
 
osg::ref_ptr< PoAcreatePoA ()
 Crete new instance of BrushStroke object. More...
 
void debugKeyPressed ()
 Called by Dynamic Art Environment (DAEnvironment) when user release "Debug Purpose" Key (F11 by default) More...
 
DAToolType getNextToolType ()
 set pointer to Dynamic Art Environment ability More...
 
double getPaintingDuration ()
 return how long the painting takes More...
 
void guiItemClicked (const char *itemID)
 Called when user click on some item of GUI - icon, slider, menu item, ... More...
 
int importScene (const string &fileName)
 Import scene from old Modeller plug-in. More...
 
void load (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parametersNode, XERCES_CPP_NAMESPACE_QUALIFIER DOMNodeList *poaNodeList)
 Load controller parameters and all PoAs from XML nodes. More...
 
void processEvent (const std::string &input_name, void *value)
 
void save (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *Document, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *controllerNode)
 save controller settings (if there are some) and all PoAs to XML node More...
 
void setColour (osg::Vec4 newColour)
 
- Public Member Functions inherited from APDYNAMICART::Controller
 Controller (const char *controllerID, const char *description, PoAType type)
 
 ~Controller ()
 
void clearAllPoAs ()
 
const char * getDescription (void) const
 
const PoAType getType (void) const
 Returns type of this controller. More...
 
const char * getPoAsName (void) const
 Return name of ... More...
 
float getDaareaScale () const
 scale of dynamic art area More...
 
bool isEmpty ()
 
void removePoA (PoA *toRemove)
 Remove single PoA. More...
 
std::vector< ref_ptr_PoA > * getPoAs ()
 
- 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 initialize (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters=NULL)
 Core initialization. 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 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

bool loadXMLParameters (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parametersNode)
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
void preInitialize ()
 
void postInitialize ()
 OBSOLETE METHOD, kept for backwards compatibility. More...
 
void turnOnTool (DAToolType type)
 Turn on given tool or tools - used only during turning on of this controller. More...
 
void turnOffTool (DAToolType type)
 Turn off given tool or tools - used only during turning off of this controller. More...
 
void update ()
 Scheduled for per-frame updates. More...
 
 DECLARE_OUTPUT (SetSensorsCount, MessageInt)
 
- Protected Member Functions inherited from APDYNAMICART::Ctrl_FreeHandPainting
std::string getShowControlPointsString () const
 
void playback (double _playbackTime)
 
string getPlaybackTimeText ()
 
void recomputeStrokesTimes ()
 
- Protected Member Functions inherited from APDYNAMICART::Controller
void initTools ()
 Init available tools (filled in _tools) 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 _sensorCount
 number of actually tracked input sensors More...
 
ToolBrush_toolBrushes [MAX_NUMBER_OF_TRACKED_SENSORS]
 
- Protected Attributes inherited from APDYNAMICART::Ctrl_FreeHandPainting
bool _firstTimeUpdate
 solve initialization timing problems... first time update is used as last part of initialization, More...
 
BrushPtr _brush
 default brush More...
 
bool _showControlPoints
 Flag determining if control points should be visualized by SimpleBoxes. More...
 
ToolBrush_toolBrush
 
ToolTongs_toolTongs
 common tool for basic manipulation with PoAs More...
 
ToolEraser_toolEraser
 tool for deleting strokes More...
 
bool _playbackActive
 is playback active? More...
 
PlaybackType _playbackType
 type of playback More...
 
double _playbackTime
 actual playback time More...
 
time_t _lastPlaybackTime
 last actualized playback time More...
 
time_t _nowTime
 
APGUI::Slider_playbackSlider
 pointer to slider GUI item More...
 
APGUI::Icon_playbackIcon
 
APGUI::Menu_menuAbility
 
- Protected Attributes inherited from APDYNAMICART::Controller
const char * _description
 users friendly name of controller / context... such as "Free-hand Painting". Appears in menus. More...
 
const PoAType _type
 Type of this controller - type of contained PoAs. More...
 
const char * _poasName
 
EnvironmentObject_artArea
 Art Area = owner of this ability. More...
 
DAEnvironment_daEnvironment
 pointer to DA environment More...
 
std::vector< ref_ptr_PoA > * _poas
 vector containing all PoAs of this controller More...
 
DATool_actualTool
 pointer to actual tool More...
 
DATools _tools
 Available tools. 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...
 
- Static Public Member Functions inherited from APDYNAMICART::Controller
static const PoAType getType (std::string type)
 
- 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

controller of Motion Trail PoAs

Controls Motion Trails PoA manage tools, brushes definitions and other stuff

most function are inherited from Free Hand Painting controller

Author
Jiri Chmelik
Date
2010-...

Constructor & Destructor Documentation

APDYNAMICART::Ctrl_MotionVisualization::Ctrl_MotionVisualization ( )
APDYNAMICART::Ctrl_MotionVisualization::~Ctrl_MotionVisualization ( )

Member Function Documentation

void APDYNAMICART::Ctrl_MotionVisualization::activateTool ( )
virtual

Called by Dynamic Art Environment (DAEnvironment) when user press "useTool" button.

do whatever is necessary before activation of tool

  • e.g. create new PoA
  • set "link" between Tool and PoA(s)

activate current tool (or multiple tools)

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

void APDYNAMICART::Ctrl_MotionVisualization::clear ( void  )
virtual

clear controller - called before new scene is created or loaded

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

std::string APDYNAMICART::Ctrl_MotionVisualization::createMenuStructure ( void  ) const
osg::ref_ptr< PoA > APDYNAMICART::Ctrl_MotionVisualization::createPoA ( )

Crete new instance of MotionTrail object.

Creates new Motion Trail object, set pointers, adds it to scene.

Returns
reference pointer to new object
void APDYNAMICART::Ctrl_MotionVisualization::deactivateTool ( )
virtual

Called by Dynamic Art Environment (DAEnvironment) when user release "useTool" button.

do whatever is necessary before deactivation of tool deactivate current tool (or multiple tools)

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

APDYNAMICART::Ctrl_MotionVisualization::DECLARE_OUTPUT ( SetSensorsCount  ,
MessageInt   
)
protected
void APDYNAMICART::Ctrl_MotionVisualization::guiSliderChanged ( const char *  sliderID,
float  sliderPos 
)
virtual

not used

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

void APDYNAMICART::Ctrl_MotionVisualization::initialize ( DAEnvironment p_dae,
XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *  parameters = NULL 
)
virtual
bool APDYNAMICART::Ctrl_MotionVisualization::loadXMLParameters ( XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *  )
protectedvirtual

OBSOLETE METHOD, kept for backwards compatibility.

The preInitialize(), loadXMLParameters() and postInitialize() methods were replaced in 2011 by a single method initialize().

Parameters
*(XERCES_CPP_NAMESPACE_QUALIFIER DOMNode)
Returns
(bool)

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

void APDYNAMICART::Ctrl_MotionVisualization::postInitialize ( void  )
protectedvirtual

OBSOLETE METHOD, kept for backwards compatibility.

The preInitialize(), loadXMLParameters() and postInitialize() methods were replaced in 2011 by a single method initialize().

Set proper pointer

Schedule controller to regular updates - all loaded controllers DO their updates all the time

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

void APDYNAMICART::Ctrl_MotionVisualization::preInitialize ( void  )
protectedvirtual

This methods provide basic controller initialization. If you need more control, override them in your inherited class.

Warning
: When overriding, don't forget to call parent function first in order to correct variable initialize!

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

void APDYNAMICART::Ctrl_MotionVisualization::setSensorCount ( int  newCount)
void APDYNAMICART::Ctrl_MotionVisualization::switchGUIVisibility ( )
virtual
void APDYNAMICART::Ctrl_MotionVisualization::switchTools ( DAToolType  newType)
virtual

switching between tools

  • _actualTool->turnOff()
  • switch tools - do whatever is necessary
  • _actualTool->turnOn()

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

void APDYNAMICART::Ctrl_MotionVisualization::turnOff ( )
virtual

Called when Dynamic Art Environment (DAEnvironment) context is switched to another controller.

do whatever is necessary when this controller stops (pause)

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

void APDYNAMICART::Ctrl_MotionVisualization::turnOffTool ( DAToolType  type)
protected

Turn off given tool or tools - used only during turning off of this controller.

void APDYNAMICART::Ctrl_MotionVisualization::turnOn ( )
virtual

Called when Dynamic Art Environment (DAEnvironment) context is switched to this controller.

do whatever is necessary when this controller starts

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

void APDYNAMICART::Ctrl_MotionVisualization::turnOnTool ( DAToolType  type)
protected

Turn on given tool or tools - used only during turning on of this controller.

void APDYNAMICART::Ctrl_MotionVisualization::update ( )
protectedvirtual

Scheduled for per-frame updates.

Reimplemented from APDYNAMICART::Ctrl_FreeHandPainting.

Member Data Documentation

int APDYNAMICART::Ctrl_MotionVisualization::_sensorCount
protected

number of actually tracked input sensors

ToolBrush* APDYNAMICART::Ctrl_MotionVisualization::_toolBrushes[MAX_NUMBER_OF_TRACKED_SENSORS]
protected

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