forked from hertog/godot-module-template
28 lines
701 B
C++
28 lines
701 B
C++
|
|
#include "DistanceMapping.h"
|
|
|
|
namespace msdfgen {
|
|
|
|
DistanceMapping DistanceMapping::inverse(Range range) {
|
|
double rangeWidth = range.upper-range.lower;
|
|
return DistanceMapping(rangeWidth, range.lower/(rangeWidth ? rangeWidth : 1));
|
|
}
|
|
|
|
DistanceMapping::DistanceMapping() : scale(1), translate(0) { }
|
|
|
|
DistanceMapping::DistanceMapping(Range range) : scale(1/(range.upper-range.lower)), translate(-range.lower) { }
|
|
|
|
double DistanceMapping::operator()(double d) const {
|
|
return scale*(d+translate);
|
|
}
|
|
|
|
double DistanceMapping::operator()(Delta d) const {
|
|
return scale*d.value;
|
|
}
|
|
|
|
DistanceMapping DistanceMapping::inverse() const {
|
|
return DistanceMapping(1/scale, -scale*translate);
|
|
}
|
|
|
|
}
|