This commit is contained in:
ZappoMan 2017-04-11 14:18:21 -07:00
parent 82166f4947
commit 6daf68b338
7 changed files with 18 additions and 1 deletions

View file

@ -36,7 +36,7 @@ namespace controller {
using Factory = hifi::SimpleFactory<Filter, QString>;
virtual float apply(float value) const = 0;
virtual Pose apply(Pose value) const { return value; } // most filters don't operate on poses
virtual Pose apply(Pose value) const = 0;
// Factory features
virtual bool parseParameters(const QJsonValue& parameters) { return true; }

View file

@ -21,6 +21,9 @@ public:
virtual float apply(float value) const override {
return glm::clamp(value, _min, _max);
}
virtual Pose apply(Pose value) const override { return value; }
virtual bool parseParameters(const QJsonValue& parameters) override;
protected:
float _min = 0.0f;

View file

@ -22,6 +22,9 @@ public:
virtual float apply(float value) const override {
return glm::sign(value);
}
virtual Pose apply(Pose value) const override { return value; }
protected:
};

View file

@ -22,6 +22,9 @@ public:
virtual float apply(float value) const override {
return (value <= 0.0f) ? 0.0f : 1.0f;
}
virtual Pose apply(Pose value) const override { return value; }
protected:
};

View file

@ -20,6 +20,9 @@ public:
DeadZoneFilter(float min = 0.0) : _min(min) {};
virtual float apply(float value) const override;
virtual Pose apply(Pose value) const override { return value; }
virtual bool parseParameters(const QJsonValue& parameters) override;
protected:
float _min = 0.0f;

View file

@ -19,6 +19,9 @@ class HysteresisFilter : public Filter {
public:
HysteresisFilter(float min = 0.25, float max = 0.75);
virtual float apply(float value) const override;
virtual Pose apply(Pose value) const override { return value; }
virtual bool parseParameters(const QJsonValue& parameters) override;
protected:
float _min;

View file

@ -23,6 +23,8 @@ public:
virtual float apply(float value) const override;
virtual Pose apply(Pose value) const override { return value; }
virtual bool parseParameters(const QJsonValue& parameters) override;
private: