8 #ifndef hifi_pointers_PointerManager_h
9 #define hifi_pointers_PointerManager_h
11 #include <DependencyManager.h>
12 #include <PointerEvent.h>
16 #include <shared/ReadWriteLockable.h>
20 class PointerManager :
public QObject,
public Dependency,
protected ReadWriteLockable {
26 unsigned int addPointer(std::shared_ptr<Pointer> pointer);
27 void removePointer(
unsigned int uid);
28 void enablePointer(
unsigned int uid)
const;
29 void disablePointer(
unsigned int uid)
const;
30 bool isPointerEnabled(
unsigned int uid)
const;
31 QVector<unsigned int> getPointers()
const;
33 void setRenderState(
unsigned int uid,
const std::string& renderState)
const;
34 void editRenderState(
unsigned int uid,
const std::string& state,
const QVariant& startProps,
const QVariant& pathProps,
const QVariant& endProps)
const;
36 PickResultPointer getPrevPickResult(
unsigned int uid)
const;
38 QVariantMap getPointerProperties(
unsigned int uid)
const;
40 QVariantMap getPointerScriptParameters(
unsigned int uid)
const;
42 void setPrecisionPicking(
unsigned int uid,
bool precisionPicking)
const;
43 void setIgnoreItems(
unsigned int uid,
const QVector<QUuid>& ignoreEntities)
const;
44 void setIncludeItems(
unsigned int uid,
const QVector<QUuid>& includeEntities)
const;
46 void setLength(
unsigned int uid,
float length)
const;
47 void setLockEndUUID(
unsigned int uid,
const QUuid& objectID,
bool isAvatar,
const glm::mat4& offsetMat = glm::mat4())
const;
51 bool isLeftHand(
unsigned int uid);
52 bool isRightHand(
unsigned int uid);
53 bool isMouse(
unsigned int uid);
55 static const unsigned int MOUSE_POINTER_ID { PointerEvent::INVALID_POINTER_ID + 1 };
58 std::shared_ptr<Pointer> find(
unsigned int uid)
const;
59 std::unordered_map<unsigned int, std::shared_ptr<Pointer>> _pointers;
60 unsigned int _nextPointerID { MOUSE_POINTER_ID + 1 };
63 void triggerBeginOverlay(
const QUuid&
id,
const PointerEvent& pointerEvent);
64 void triggerContinueOverlay(
const QUuid&
id,
const PointerEvent& pointerEvent);
65 void triggerEndOverlay(
const QUuid&
id,
const PointerEvent& pointerEvent);
66 void hoverBeginOverlay(
const QUuid&
id,
const PointerEvent& pointerEvent);
67 void hoverContinueOverlay(
const QUuid&
id,
const PointerEvent& pointerEvent);
68 void hoverEndOverlay(
const QUuid&
id,
const PointerEvent& pointerEvent);
70 void triggerBeginEntity(
const QUuid&
id,
const PointerEvent& pointerEvent);
71 void triggerContinueEntity(
const QUuid&
id,
const PointerEvent& pointerEvent);
72 void triggerEndEntity(
const QUuid&
id,
const PointerEvent& pointerEvent);
73 void hoverBeginEntity(
const QUuid&
id,
const PointerEvent& pointerEvent);
74 void hoverContinueEntity(
const QUuid&
id,
const PointerEvent& pointerEvent);
75 void hoverEndEntity(
const QUuid&
id,
const PointerEvent& pointerEvent);
78 void triggerContinueHUD(
const PointerEvent& pointerEvent);
Represents a 2D or 3D pointer to the scripting engine. Exposed as PointerEvent
Definition: PointerEvent.h:30