8 #ifndef META_OCEAN_INTERACTION_EXPERIENCES_EXPERIENCE_H
9 #define META_OCEAN_INTERACTION_EXPERIENCES_EXPERIENCE_H
This class is the base class for all experiences defined via the interaction plugin mechanism.
Definition: Experience.h:33
virtual void onKeyPress(const UserInterface &userInterface, const Rendering::EngineRef &engine, const std::string &key, const Timestamp timestamp)
Key press function.
Experience()=default
Creates a new experience object.
virtual void onKeyRelease(const UserInterface &userInterface, const Rendering::EngineRef &engine, const std::string &key, const Timestamp timestamp)
Key release function.
virtual ~Experience()=default
Destructs the experience.
virtual bool load(const UserInterface &userInterface, const Rendering::EngineRef &engine, const Timestamp timestamp, const std::string &properties=std::string())
Loads this experience.
virtual bool unload(const UserInterface &userInterface, const Rendering::EngineRef &engine, const Timestamp timestamp)
Unloads this experience.
virtual bool postUnload(const UserInterface &userInterface, const Rendering::EngineRef &engine, const Timestamp timestamp)
Event function after the experience is unloaded.
virtual Timestamp preUpdate(const UserInterface &userInterface, const Rendering::EngineRef &engine, const Rendering::ViewRef &view, const Timestamp timestamp)
Pre update interaction function.
virtual void postUpdate(const UserInterface &userInterface, const Rendering::EngineRef &engine, const Rendering::ViewRef &view, const Timestamp timestamp)
Post update interaction function.
virtual void onMouseRelease(const UserInterface &userInterface, const Rendering::EngineRef &engine, const std::string &button, const Vector2 &screenPosition, const Line3 &ray, const Timestamp timestamp)
Mouse release event function.
virtual void onMouseMove(const UserInterface &userInterface, const Rendering::EngineRef &engine, const std::string &button, const Vector2 &screenPosition, const Line3 &ray, const Timestamp timestamp)
Mouse move event function.
virtual void onMousePress(const UserInterface &userInterface, const Rendering::EngineRef &engine, const std::string &button, const Vector2 &screenPosition, const Line3 &ray, const Timestamp timestamp)
Mouse press event function.
virtual void release()
Explicitly releases this experience.
virtual bool preLoad(const UserInterface &userInterface, const Rendering::EngineRef &engine, const Timestamp timestamp, const std::string &properties)
Event function before the experience is loaded.
This class implements the experiences interaction library object.
Definition: ExperiencesLibrary.h:34
This class holds UI elements of the application from which the interaction is executed.
Definition: UserInterface.h:28
This class implements an infinite line in 3D space.
Definition: Line3.h:70
This class implements a timestamp.
Definition: Timestamp.h:36
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15