class Core::Interpolator

Overview

Base class for conversion between value range and normalized domain. More…

#include <coreinterpolator.h>

class Interpolator
{
public:
    // construction

    Interpolator(
        float minRange = 0.f,
        float maxRange = 1.f,
        float midRange = 1.f,
        CStringPtr name = nullptr
    );

    // methods

    CStringPtr getName() const;
    void setName(CStringPtr _name);
    float getMinRange() const;
    float getMaxRange() const;
    float getMidRange() const;
    virtual void setRange(float minRange, float maxRange, float midRange = 1.f);
    virtual float normalizedToRange(float normalized) const;
    virtual float rangeToNormalized(float value) const;
};

// direct descendants

class LinearInterpolator;
class LinearReverseInterpolator;
class SegmentInterpolator;
class ZoomInterpolator;

Detailed Documentation

Base class for conversion between value range and normalized domain.

Methods

virtual void setRange(float minRange, float maxRange, float midRange = 1.f)

Set value range [min..max].

(middle value optional)

virtual float normalizedToRange(float normalized) const

Convert from normalized domain [0..1] to value range [min..max].

virtual float rangeToNormalized(float value) const

Convert from value range [min..max] to normalized domain [0..1].