Skip to content

Commit 7621c6a

Browse files
kolibril13RickyC0626pre-commit-ci[bot]
authored
Added docstrings for :class:~.ValueTracker (#1246)
* added docstings to valuetracker * added more docstings * Move pointer value addition to before animation Could make it transition smoother. * Add test for ValueTracker.__isub__() * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: Ricky Chon <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 7b5d29e commit 7621c6a

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

manim/mobject/value_tracker.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,15 @@ def construct(self):
3636
)
3737
)
3838
self.add(number_line, pointer,label)
39+
pointer_value += 1.5
40+
self.wait(1)
41+
pointer_value -= 4
42+
self.wait(0.5)
3943
self.play(pointer_value.animate.set_value(5)),
40-
self.wait()
44+
self.wait(0.5)
4145
self.play(pointer_value.animate.set_value(3))
42-
46+
self.play(pointer_value.animate.increment_value(-2))
47+
self.wait(0.5)
4348
"""
4449

4550
def __init__(self, value=0, **kwargs):
@@ -48,19 +53,28 @@ def __init__(self, value=0, **kwargs):
4853
self.set_value(value)
4954

5055
def get_value(self):
56+
"""Get the current value of the ValueTracker. This value changes continuously when :attr:`animate` for the ValueTracker is called."""
5157
return self.points[0, 0]
5258

5359
def set_value(self, value):
60+
"""Sets a new value (float, int) to the ValueTracker"""
5461
self.points[0, 0] = value
5562
return self
5663

5764
def increment_value(self, d_value):
65+
"""Increments (adds) a value (float, int) to the ValueTracker"""
5866
self.set_value(self.get_value() + d_value)
5967

6068
def __iadd__(self, d_value):
69+
"""adds `+=` syntax to increment the value of the ValueTracker"""
6170
self.increment_value(d_value)
6271
return self
6372

73+
def __isub__(self, d_value):
74+
"""adds `-=` syntax to decrement the value of the ValueTracker"""
75+
self.increment_value(-d_value)
76+
return self
77+
6478
def interpolate(self, mobject1, mobject2, alpha, path_func=straight_path):
6579
"""
6680
Turns self into an interpolation between mobject1

tests/test_value_tracker.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,10 @@ def test_value_tracker_iadd():
2626
tracker = ValueTracker(0.0)
2727
tracker += 10.0
2828
assert tracker.get_value() == 10.0
29+
30+
31+
def test_value_tracker_isub():
32+
"""Test ValueTracker.__isub__()"""
33+
tracker = ValueTracker(20.0)
34+
tracker -= 10.0
35+
assert tracker.get_value() == 10.0

0 commit comments

Comments
 (0)