12 #ifndef hifi_Controllers_Impl_RouteBuilderProxy_h
13 #define hifi_Controllers_Impl_RouteBuilderProxy_h
15 #include <QtCore/QObject>
21 #include "../UserInputMapper.h"
27 namespace controller {
29 class ScriptingInterface;
51 class RouteBuilderProxy :
public QObject {
54 RouteBuilderProxy(UserInputMapper& parent, Mapping::Pointer mapping, Route::Pointer route)
55 : _parent(parent), _mapping(mapping), _route(route) { }
66 Q_INVOKABLE
void toQml(
const QJSValue& destination);
85 Q_INVOKABLE QObject* whenQml(
const QJSValue& expression);
121 Q_INVOKABLE
void to(
const ScriptValue& destination);
151 Q_INVOKABLE QObject* debug(
bool enable =
true);
161 Q_INVOKABLE QObject* peek(
bool enable =
true);
199 Q_INVOKABLE QObject* when(
const ScriptValue& expression);
220 Q_INVOKABLE QObject* clamp(
float min,
float max);
245 Q_INVOKABLE QObject* hysteresis(
float min,
float max);
264 Q_INVOKABLE QObject* pulse(
float interval);
286 Q_INVOKABLE QObject* scale(
float multiplier);
308 Q_INVOKABLE QObject* invert();
330 Q_INVOKABLE QObject* deadZone(
float min);
351 Q_INVOKABLE QObject* constrainToInteger();
370 Q_INVOKABLE QObject* constrainToPositiveInteger();
379 Q_INVOKABLE QObject* translate(glm::vec3 translate);
388 Q_INVOKABLE QObject* transform(glm::mat4 transform);
397 Q_INVOKABLE QObject* postTransform(glm::mat4 transform);
406 Q_INVOKABLE QObject* rotate(glm::quat rotation);
421 Q_INVOKABLE QObject* lowVelocity(
float rotationConstant,
float translationConstant);
434 Q_INVOKABLE QObject* exponentialSmoothing(
float rotationConstant,
float translationConstant);
457 Q_INVOKABLE QObject* logicalNot();
460 void to(
const Endpoint::Pointer& destination);
461 void conditional(
const Conditional::Pointer& conditional);
462 void addFilter(Filter::Pointer filter);
463 UserInputMapper& _parent;
464 Mapping::Pointer _mapping;
465 Route::Pointer _route;
[ScriptInterface] Provides an engine-independent interface for QScriptValue
Definition: ScriptValue.h:40