Path: blob/master/thirdparty/msdfgen/core/DistanceMapping.h
9903 views
1#pragma once23#include "Range.hpp"45namespace msdfgen {67/// Linear transformation of signed distance values.8class DistanceMapping {910public:11/// Explicitly designates value as distance delta rather than an absolute distance.12class Delta {13public:14double value;15inline explicit Delta(double distanceDelta) : value(distanceDelta) { }16inline operator double() const { return value; }17};1819static DistanceMapping inverse(Range range);2021DistanceMapping();22DistanceMapping(Range range);23double operator()(double d) const;24double operator()(Delta d) const;25DistanceMapping inverse() const;2627private:28double scale;29double translate;3031inline DistanceMapping(double scale, double translate) : scale(scale), translate(translate) { }3233};3435}363738