18#include <OpenThreads/Thread>
19#include <OpenThreads/Mutex>
48 std::string
configPath(
const std::string &ent =
"")
const;
84 osg::Vec3 m_calibrationPoints[3];
85 std::string m_calibrationPointNames[3];
90 return m_buttonStates.size();
96 return m_valuatorValues.size();
103 return m_bodyMatrices.size();
114 std::vector<bool> m_buttonStatesFrame;
115 std::vector<double> m_valuatorValuesFrame;
116 std::vector<std::pair<double, double> > m_valuatorRangesFrame;
117 std::vector<bool> m_bodyMatricesValidFrame;
118 std::vector<bool> m_bodyMatricesRelativeFrame;
119 std::vector<osg::Matrix> m_bodyMatricesFrame;
132 const std::string &
name()
const;
142template <
class Driver>
155 return new Driver(instanceName);
160#define INPUT_PLUGIN(Driver) \
161 extern "C" PLUGINEXPORT opencover::DriverFactory<Driver> *newDriverFactory() \
163 return new opencover::DriverFactory<Driver>(#Driver); \
void * CO_SHLIB_HANDLE
Definition: coVRDynLib.h:36
Definition: ARToolKit.h:33
Definition: buttondevice.h:28
The Input class.
Definition: input.h:40
The InputDevice class interacts with input hardware.
Definition: inputdevice.h:38
std::vector< osg::Matrix > m_bodyMatrices
Definition: inputdevice.h:83
bool isBodyMatrixValid(size_t idx) const
std::vector< bool > m_bodyMatricesRelative
Definition: inputdevice.h:82
const osg::Matrix & getBodyMatrix(size_t idx) const
bool getButtonState(size_t idx) const
void setOffsetMat(const osg::Matrix &m)
std::string m_name
Definition: inputdevice.h:71
std::vector< std::pair< double, double > > m_valuatorRanges
Definition: inputdevice.h:80
InputDevice(const std::string &configPath)
std::pair< double, double > getValuatorRange(size_t idx) const
size_t numBodies() const
Definition: inputdevice.h:101
bool m_valid
Definition: inputdevice.h:77
bool m_is6Dof
Definition: inputdevice.h:74
std::vector< double > m_valuatorValues
Definition: inputdevice.h:79
const std::string m_config
Definition: inputdevice.h:70
static osg::Matrix s_identity
Definition: inputdevice.h:66
std::vector< bool > m_bodyMatricesValid
Definition: inputdevice.h:81
size_t numValuators() const
Definition: inputdevice.h:94
std::string & getCalibrationPointName(int i)
bool m_isVarying
Definition: inputdevice.h:73
double getValuatorValue(size_t idx) const
osg::Matrix m_offsetMatrix
Definition: inputdevice.h:72
const std::string & getName() const
bool isBodyMatrixRelative(size_t idx) const
std::vector< bool > m_buttonStates
Definition: inputdevice.h:78
bool loop_is_running
Definition: inputdevice.h:67
virtual bool needsThread() const
std::string configPath(const std::string &ent="") const
osg::Vec3 & getCalibrationPoint(int i)
size_t numButtons() const
Definition: inputdevice.h:88
OpenThreads::Mutex m_mutex
If true, the main loop will run.
Definition: inputdevice.h:68
const osg::Matrix & getOffsetMat() const
Definition: inputdevice.h:123
DriverFactoryBase(const std::string &name)
const std::string & name() const
virtual InputDevice * newInstance(const std::string &name)=0
CO_SHLIB_HANDLE getLibHandle() const
virtual ~DriverFactoryBase()
Definition: inputdevice.h:144
Driver * newInstance(const std::string &instanceName)
Definition: inputdevice.h:152
DriverFactory(const std::string &name)
Definition: inputdevice.h:147
Definition: trackingbody.h:29
Definition: valuator.h:28