vrecko
virtual reality framework
|
#include <ConstrainedObjectMovement.h>
Public Member Functions | |
ConstrainedObjectMovement () | |
virtual | ~ConstrainedObjectMovement () |
virtual void | update (void) |
Public Member Functions inherited from vrecko::ControllableAbility | |
ControllableAbility (const char *abilityName) | |
virtual | ~ControllableAbility () |
virtual bool | initialize (XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *parameters=NULL) |
virtual bool | isActive () |
It shouldn't be necessary to override this function. 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 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... | |
Protected Member Functions | |
virtual CAINFO * | createInfo () |
virtual void | fillDefaultInfo () |
virtual bool | activate () |
virtual void | deactivate () |
virtual void | processButtonPress (CABUTTONEVENT *eventData) |
virtual void | processButtonRelease (CABUTTONEVENT *eventData) |
void | issueRequests (bool bStopIfNoSelection) |
bool | objectTransformationFromPointer (EnvironmentObject *eo, osg::Matrix *outTrans, osg::Vec3 *outTranslationVector) |
bool | applyConstrainedSnapping (EnvironmentObject *eo, osg::Matrix *inoutTrans, osg::Vec3 *inoutTranslationVector) |
void | readWatchedObjectIDs () |
void | writeObjectPosition (int id, ofstream &stream) |
void | writeObjectRotation (int id, ofstream &stream) |
void | writeObjectFullMatrix (int id, ofstream &stream) |
void | writeObjectPositionsAndRotations () |
void | compareObjectPosition (int id, ifstream &stream, double &linearDifference, double &quadraticDifference) |
void | compareObjectRotation (int id, ifstream &stream, double &linearDifference, double &quadraticDifference) |
void | compareObjectPositionsAndRotations () |
void | loadObjectFullMatrix (int id, ifstream &stream) |
void | loadObjectPositionsAndRotations () |
Protected Member Functions inherited from vrecko::ControllableAbility | |
virtual void | createInterface () |
virtual void | destroyInterface () |
virtual int | processNotification (BaseClass *sender, unsigned long notificationType, void *notificationData) |
bool | requestPointerLoc (bool bCancelIfNotActive=true) |
bool | requestPointerLocRaw (bool bCancelIfNotActive=true) |
bool | requestSelectionID (bool bCancelIfNotActive=true) |
bool | requestSelectionPath (bool bCancelIfNotActive=true) |
bool | isMenuCreated () |
bool | isMenuVisible () |
virtual bool | createMenu (const char *menuString, bool bForceCreate=true) |
virtual void | destroyMenu () |
virtual bool | showMenu () |
virtual bool | hideMenu () |
virtual void | processMenuButtonPress (CABUTTONEVENT *eventData) |
virtual void | processMenuButtonRelease (CABUTTONEVENT *eventData) |
virtual void | menuItemClicked (const char *itemID) |
virtual void | menuSliderChanged (const char *sliderID, float sliderPos) |
DECLARE_INPUT (ButtonStateChange, MessageCAButtonEvent) | |
DECLARE_INPUT (Menu_Clicked, MessageString) | |
DECLARE_REQUEST_INPUT (ActivePointerID, MessageInt, MessageInt) | |
DECLARE_REQUEST_INPUT (GetInfo, MessageVoid, MessageCAINFO) | |
DECLARE_REQUEST_OUTPUT (PointerPos, MessageInt, MessageVec3) | |
DECLARE_REQUEST_OUTPUT (PointerRot, MessageInt, MessageQuat) | |
DECLARE_REQUEST_OUTPUT (PointerPosRaw, MessageInt, MessageVec3) | |
DECLARE_REQUEST_OUTPUT (PointerRotRaw, MessageInt, MessageQuat) | |
DECLARE_REQUEST_OUTPUT (SelectionID, MessageInt, MessageObjectID) | |
DECLARE_REQUEST_OUTPUT (SelectionPath, MessageInt, MessageNodeList) | |
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) |
IOPinBase * | findPinInList (const char *strName, PinList *pinList) |
Internal method to find a given pin in a given list. More... | |
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 |
The ability for semantically constrained movement of objects
APConstrainedMovement::ConstrainedObjectMovement::ConstrainedObjectMovement | ( | ) |
Creates the ability
|
virtual |
Frees the ability
|
protectedvirtual |
Activation of the ability
Reimplemented from vrecko::ControllableAbility.
|
protected |
MAIN SNAPPING PART
|
protected |
|
protected |
|
protected |
|
protectedvirtual |
Creates the info of the ability
Reimplemented from vrecko::ControllableAbility.
|
protectedvirtual |
Deactivation of the ability
Reimplemented from vrecko::ControllableAbility.
|
protectedvirtual |
Fills the info of the ability
Implements vrecko::ControllableAbility.
|
protected |
Request pointer data
|
protected |
|
protected |
|
protected |
Calculates object transformation from pointer position. Can perform either translation, or rotation. If objectTransformationFromPointer returns false, neither movement nor rotation should take place.
|
protectedvirtual |
Process button pressing: depending on the button, start either translation, or rotation
Reimplemented from vrecko::ControllableAbility.
|
protectedvirtual |
Process button releasing
Reimplemented from vrecko::ControllableAbility.
|
protected |
Functions for efficiency testing and evaluation purposes
|
virtual |
Update the object position
Reimplemented from vrecko::ControllableAbility.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |