controls/DebugVariablePanel/DebugVariableItem.py
changeset 1215 786f2533200a
parent 1214 2ef048b5383c
child 1220 16c283246241
--- a/controls/DebugVariablePanel/DebugVariableItem.py	Mon Jun 03 17:29:03 2013 +0200
+++ b/controls/DebugVariablePanel/DebugVariableItem.py	Mon Jun 03 22:09:01 2013 +0200
@@ -172,6 +172,25 @@
         """
         return self.MinValue, self.MaxValue
     
+    def OrthogonalDataAndRange(self, start_tick, end_tick):
+        """
+        Return variable value range
+        @param start_tick: Start tick of given range (default None, first data)
+        @param end_tick: end tick of given range (default None, last data)
+        @return: (numpy.array([(tick, value, forced),...]), 
+                  min_value, max_value)
+        """
+        # Calculate min_value and max_value so that range size is greater
+        # than 1.0
+        if self.MinValue is not None and self.MaxValue is not None:
+            center = (self.MinValue + self.MaxValue) / 2.
+            range = max(1.0, self.MaxValue - self.MinValue)
+        else:
+            center = 0.5
+            range = 1.0
+        return (self.GetData(start_tick, end_tick), 
+                center - range * 0.55, center + range * 0.55)
+    
     def ResetData(self):
         """
         Reset data stored when store data option enabled