[apps/shared/curve_view_range] Refactor computeGridUnit

This commit is contained in:
Ruben Dashyan
2019-06-28 14:04:21 +02:00
parent 9ca0bd2359
commit 98427cfbdd
2 changed files with 8 additions and 6 deletions

View File

@@ -15,11 +15,9 @@ uint32_t CurveViewRange::rangeChecksum() {
return Ion::crc32Word((uint32_t *)data, dataLengthInBytes/sizeof(uint32_t));
}
float CurveViewRange::computeGridUnit(Axis axis, float range) const {
float CurveViewRange::computeGridUnit(float minNumberOfUnits, float maxNumberOfUnits, float range) const {
int a = 0;
int b = 0;
float maxNumberOfUnits = (axis == Axis::X) ? k_maxNumberOfXGridUnits : k_maxNumberOfYGridUnits;
float minNumberOfUnits = (axis == Axis::X) ? k_minNumberOfXGridUnits : k_minNumberOfYGridUnits;
constexpr int unitsCount = 3;
float units[unitsCount] = {k_smallGridUnitMantissa, k_mediumGridUnitMantissa, k_largeGridUnitMantissa};
for (int k = 0; k < unitsCount; k++) {

View File

@@ -19,8 +19,12 @@ public:
virtual float yMax() const = 0;
const float xCenter() const { return (xMin() + xMax()) / 2; }
const float yCenter() const { return (yMin() + yMax()) / 2; }
virtual float xGridUnit() const { return computeGridUnit(Axis::X, xMax() - xMin()); }
virtual float yGridUnit() const { return computeGridUnit(Axis::Y, yMax() - yMin()); }
virtual float xGridUnit() const {
return computeGridUnit(k_minNumberOfXGridUnits, k_maxNumberOfXGridUnits, xMax() - xMin());
}
virtual float yGridUnit() const {
return computeGridUnit(k_minNumberOfYGridUnits, k_maxNumberOfYGridUnits, yMax() - yMin());
}
constexpr static float k_maxNumberOfXGridUnits = 18.0f;
constexpr static float k_maxNumberOfYGridUnits = 13.0f;
private:
@@ -32,7 +36,7 @@ private:
constexpr static float k_smallGridUnitMantissa = 1.0f;
constexpr static float k_mediumGridUnitMantissa = 2.0f;
constexpr static float k_largeGridUnitMantissa = 5.0f;
float computeGridUnit(Axis axis, float range) const;
float computeGridUnit(float minNumberOfUnits, float maxNumberOfUnits, float range) const;
};
}