10 #ifndef hifi_Controllers_Filters_Scale_h
11 #define hifi_Controllers_Filters_Scale_h
13 #include <glm/gtc/matrix_transform.hpp>
15 #include "../Filter.h"
17 namespace controller {
19 class ScaleFilter :
public Filter {
20 REGISTER_FILTER_CLASS(ScaleFilter);
22 ScaleFilter() =
default;
23 ScaleFilter(
float scale) : _scale(scale) {}
25 virtual AxisValue apply(AxisValue value)
const override {
26 return { value.value * _scale, value.timestamp, value.valid };
29 virtual Pose apply(Pose value)
const override {
30 return value.transform(glm::scale(glm::mat4(), glm::vec3(_scale)));
33 virtual bool parseParameters(
const QJsonValue& parameters)
override;