mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/shared/curve_view_range] Refactor computeGridUnit
This commit is contained in:
@@ -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++) {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user