9 #include "imstkDeviceClient.h" 11 #include <unordered_map> 31 m_deviceType(deviceType), m_trackpadPosition(Vec2d::Zero()) { }
36 static std::shared_ptr<OpenVRDeviceClient>
New(DeviceType deviceType);
42 friend class ::vtkInteractorStyleVR;
45 DeviceType getDeviceType()
const {
return m_deviceType; }
47 const Vec2d& getTrackpadPosition() {
return m_trackpadPosition; }
48 void setTrackpadPosition(
const Vec2d& pos) { m_trackpadPosition = pos; }
53 void setPose(
const Vec3d& pos,
const Quatd& orientation)
65 void emitButtonUntouched(
const int buttonId);
66 void emitButtonPress(
const int buttonId);
67 void emitButtonRelease(
const int buttonId);
70 DeviceType m_deviceType;
71 Vec2d m_trackpadPosition;
The device client's represents the device and provides an interface to acquire data from a device...
bool m_trackingEnabled
Tracking enabled if true.
void setPose(const Vec3d &pos, const Quatd &orientation)
Set the current position and orientation.
void emitButtonTouched(const int buttonId)
Emit various button events.
Quatd m_orientation
Orientation of the end effector.
Vec3d m_position
Position of end effector.
OpenVRDeviceClient(DeviceType deviceType)
This class provides quantities for the specified VR device The devices creation is tied to the viewer...
static std::shared_ptr< OpenVRDeviceClient > New(DeviceType deviceType)
VTK Interactor style for VR.