10 #ifndef hifi_Controllers_Filters_Rotate_h
11 #define hifi_Controllers_Filters_Rotate_h
13 #include <glm/gtx/transform.hpp>
15 #include "../Filter.h"
17 namespace controller {
19 class RotateFilter :
public Filter {
20 REGISTER_FILTER_CLASS(RotateFilter);
22 RotateFilter() =
default;
23 RotateFilter(glm::quat rotation) : _rotation(rotation) {}
25 virtual AxisValue apply(AxisValue value)
const override {
return value; }
27 virtual Pose apply(Pose value)
const override {
28 return value.transform(glm::mat4(glm::quat(_rotation)));
31 virtual bool parseParameters(
const QJsonValue& parameters)
override {
return parseQuatParameter(parameters, _rotation); }