diff --git a/interface/src/raypick/PointerScriptingInterface.cpp b/interface/src/raypick/PointerScriptingInterface.cpp index 61fad61ab2..d7b4096fbc 100644 --- a/interface/src/raypick/PointerScriptingInterface.cpp +++ b/interface/src/raypick/PointerScriptingInterface.cpp @@ -62,6 +62,8 @@ unsigned int PointerScriptingInterface::createPointer(const PickQuery::PickType& propertyMap["type"] = (int)type; + pointer->setScriptParameters(propertyMap); + return DependencyManager::get()->addPointer(pointer); } diff --git a/libraries/pointers/src/Pointer.cpp b/libraries/pointers/src/Pointer.cpp index 563de72aac..fa527f95e1 100644 --- a/libraries/pointers/src/Pointer.cpp +++ b/libraries/pointers/src/Pointer.cpp @@ -53,8 +53,12 @@ QVariantMap Pointer::toVariantMap() const { return qVariantMap; } +void Pointer::setScriptParameters(const QVariantMap& scriptParameters) { + _scriptParameters = scriptParameters; +} + QVariantMap Pointer::getScriptParameters() const { - return DependencyManager::get()->getPickScriptParameters(_pickUID); + return _scriptParameters; } void Pointer::setPrecisionPicking(bool precisionPicking) { diff --git a/libraries/pointers/src/Pointer.h b/libraries/pointers/src/Pointer.h index 055bebebe3..c4a0973c14 100644 --- a/libraries/pointers/src/Pointer.h +++ b/libraries/pointers/src/Pointer.h @@ -52,6 +52,7 @@ public: virtual void editRenderState(const std::string& state, const QVariant& startProps, const QVariant& pathProps, const QVariant& endProps) = 0; virtual QVariantMap toVariantMap() const; + virtual void setScriptParameters(const QVariantMap& scriptParameters); virtual QVariantMap getScriptParameters() const; virtual void setPrecisionPicking(bool precisionPicking); @@ -86,6 +87,9 @@ protected: bool _enabled; bool _hover; + // The parameters used to create this pointer when created through a script + QVariantMap _scriptParameters; + virtual PointerEvent buildPointerEvent(const PickedObject& target, const PickResultPointer& pickResult, const std::string& button = "", bool hover = true) = 0; virtual PickedObject getHoveredObject(const PickResultPointer& pickResult) = 0;