mirror of
https://github.com/3b1b/manim.git
synced 2025-04-13 09:47:07 +00:00
Change how DecimalNumber.set_value works so that it's not creating new instances each time
This commit is contained in:
parent
6537258f24
commit
20593d8fa8
1 changed files with 11 additions and 16 deletions
|
@ -21,8 +21,12 @@ class DecimalNumber(VMobject):
|
|||
|
||||
def __init__(self, number=0, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
self.set_submobjects_from_number(number)
|
||||
self.init_colors()
|
||||
|
||||
def set_submobjects_from_number(self, number):
|
||||
self.number = number
|
||||
self.initial_config = kwargs
|
||||
self.set_submobjects([])
|
||||
|
||||
if isinstance(number, complex):
|
||||
formatter = self.get_complex_formatter()
|
||||
|
@ -70,9 +74,6 @@ class DecimalNumber(VMobject):
|
|||
if self.unit and self.unit.startswith("^"):
|
||||
self.unit_sign.align_to(self, UP)
|
||||
|
||||
# Styling
|
||||
self.init_colors()
|
||||
|
||||
if self.include_background_rectangle:
|
||||
self.add_background_rectangle()
|
||||
|
||||
|
@ -122,18 +123,12 @@ class DecimalNumber(VMobject):
|
|||
"i"
|
||||
])
|
||||
|
||||
def set_value(self, number, **config):
|
||||
full_config = dict(self.CONFIG)
|
||||
full_config.update(self.initial_config)
|
||||
full_config["font_size"] = self.get_font_size()
|
||||
full_config.update(config)
|
||||
new_decimal = DecimalNumber(number, **full_config)
|
||||
new_decimal.move_to(self, self.edge_to_fix)
|
||||
new_decimal.match_style(self)
|
||||
if self.is_fixed_in_frame:
|
||||
new_decimal.fix_in_frame()
|
||||
self.set_submobjects(new_decimal.submobjects)
|
||||
self.number = number
|
||||
def set_value(self, number):
|
||||
move_to_point = self.get_edge_center(self.edge_to_fix)
|
||||
style = self.get_style()
|
||||
self.set_submobjects_from_number(number)
|
||||
self.move_to(move_to_point, self.edge_to_fix)
|
||||
self.set_style(**style)
|
||||
return self
|
||||
|
||||
def scale(self, scale_factor, **kwargs):
|
||||
|
|
Loading…
Add table
Reference in a new issue