From 7be3bda2b664068bf47404278fa9ee1ce552ea0e Mon Sep 17 00:00:00 2001 From: Joshua Rahm Date: Sat, 23 Nov 2013 20:27:01 -0700 Subject: Got application to a point of displaying model objects --- sons_of_sol/ControlMotionEvent.hpp | 65 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 sons_of_sol/ControlMotionEvent.hpp (limited to 'sons_of_sol/ControlMotionEvent.hpp') diff --git a/sons_of_sol/ControlMotionEvent.hpp b/sons_of_sol/ControlMotionEvent.hpp new file mode 100644 index 0000000..5a93a69 --- /dev/null +++ b/sons_of_sol/ControlMotionEvent.hpp @@ -0,0 +1,65 @@ +#ifndef CONTROLMOTIONEVENT_HPP_ +#define CONTROLMOTIONEVENT_HPP_ + +/* + * Author: jrahm + * created: 2013/11/01 + * ControlMotionEvent.hpp: + */ + +/* This is the class used to + * signal an event from the controller. + * + * These values have been normalized */ +class ControlMotionEvent { +public: + enum MotionEventType { + NONE + , PITCH + , ROLL + , YAW + , THROTTLE + , STRAFE_SIDE + , STRAFE_UP + , FIRE_PRIMARY + }; + + enum MotionOrigin { + JOYSTICK, + MOUSE, + BUTTON + }; + + ControlMotionEvent( MotionEventType type, double mag, MotionOrigin origin ) : + mag( mag ), type( type ), origin( origin ) {} + + inline double getMagnitude() const { + return mag; + } + + inline MotionEventType getType() const { + return type; + } + + inline MotionOrigin getOrigin() const { + return origin; + } + + inline void setMagnitude( double mag ) { + this->mag = mag; + } + + inline void setType( MotionEventType type ) { + this->type = type; + } + + inline void setOrigin( MotionOrigin origin ) { + this->origin = origin; + } +private: + double mag; + MotionEventType type; + MotionOrigin origin; +}; + +#endif /* CONTROLMOTIONEVENT_HPP_ */ -- cgit