diff --git a/eos/graph/fitDistanceVsTime.py b/eos/graph/fitDistanceVsTime.py deleted file mode 100644 index f1762b18a..000000000 --- a/eos/graph/fitDistanceVsTime.py +++ /dev/null @@ -1,17 +0,0 @@ -import math - -from .base import SmoothGraph - - -class FitDistanceVsTimeGraph(SmoothGraph): - - def getYForX(self, fit, extraData, time): - maxSpeed = fit.ship.getModifiedItemAttr('maxVelocity') - mass = fit.ship.getModifiedItemAttr('mass') - agility = fit.ship.getModifiedItemAttr('agility') - # Definite integral of: - # https://wiki.eveuniversity.org/Acceleration#Mathematics_and_formulae - distance_t = maxSpeed * time + (maxSpeed * agility * mass * math.exp((-time * 1000000) / (agility * mass)) / 1000000) - distance_0 = maxSpeed * 0 + (maxSpeed * agility * mass * math.exp((-0 * 1000000) / (agility * mass)) / 1000000) - distance = distance_t - distance_0 - return distance diff --git a/gui/builtinGraphs/__init__.py b/gui/builtinGraphs/__init__.py index f8495c26e..5e3cf7838 100644 --- a/gui/builtinGraphs/__init__.py +++ b/gui/builtinGraphs/__init__.py @@ -1,6 +1,6 @@ # noinspection PyUnresolvedReferences from gui.builtinGraphs import ( # noqa: E402,F401 - # fitDamageStats, + fitDamageStats, # fitDmgVsTime, # fitShieldRegenVsShieldPerc, # fitShieldAmountVsTime, diff --git a/gui/builtinGraphs/fitDamageStats.py b/gui/builtinGraphs/fitDamageStats.py index 45aa71ef9..00385df83 100644 --- a/gui/builtinGraphs/fitDamageStats.py +++ b/gui/builtinGraphs/fitDamageStats.py @@ -18,8 +18,6 @@ # ============================================================================= -import math - from .base import FitGraph, XDef, YDef, Input, VectorDef @@ -27,6 +25,7 @@ class FitDamageStatsGraph(FitGraph): name = 'Damage Stats' + # UI stuff @property def xDefs(self): return [ @@ -64,5 +63,18 @@ class FitDamageStatsGraph(FitGraph): def hasTargets(self): return True + # Calculation stuff + _normalizers = { + ('atkSpeed', '%'): lambda v, fit, tgt: v * fit.ship.getModifiedItemAttr('maxVelocity', 0), + ('tgtSpeed', '%'): lambda v, fit, tgt: v * tgt.ship.getModifiedItemAttr('maxVelocity', 0), + ('tgtSigRad', '%'): lambda v, fit, tgt: v * fit.ship.getModifiedItemAttr('signatureRadius', 0)} + + _limiters = { + 'time': lambda fit, tgt: (0, 2500)} + + _denormalizers = { + ('tgtSpeed', '%'): lambda v, fit, tgt: v / tgt.ship.getModifiedItemAttr('maxVelocity', 0), + ('tgtSigRad', '%'): lambda v, fit, tgt: v / fit.ship.getModifiedItemAttr('signatureRadius', 0)} + FitDamageStatsGraph.register()