From 66a9ef4f0ecccb8420ebcd7c3554f9097e849bcd Mon Sep 17 00:00:00 2001 From: nitzan-treg Date: Fri, 17 Apr 2026 00:51:23 +0300 Subject: [PATCH] add get_entry and get_entry_without_label to table added two new methods to the table class -- `get_entry(pos)` and `get_entry_without_label(pos)` -- that return a single vmobject at the given position. they just delegate to the existing `get_entries` and `get_entries_without_labels` methods so nothing breaks, but now you have dedicated single-entry methods with proper explicit return types instead of the weird union return on the plural methods. the original methods are untouched for backward compat. Signed-off-by: nitzan-treg --- manim/mobject/table.py | 64 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/manim/mobject/table.py b/manim/mobject/table.py index dc4519dea3..7abfdf689f 100644 --- a/manim/mobject/table.py +++ b/manim/mobject/table.py @@ -611,6 +611,38 @@ def construct(self): else: return self.elements + def get_entry(self, pos: Sequence[int]) -> VMobject: + """Return one specific entry of the table (including labels). + + Parameters + ---------- + pos + The position of a specific entry on the table. ``(1,1)`` being the top left entry + of the table. + + Returns + ------- + :class:`~.VMobject` + The :class:`~.VMobject` at the given position. + + Examples + -------- + + .. manim:: GetEntryExample + :save_last_frame: + + class GetEntryExample(Scene): + def construct(self): + table = Table( + [["First", "Second"], + ["Third","Fourth"]], + row_labels=[Text("R1"), Text("R2")], + col_labels=[Text("C1"), Text("C2")]) + table.get_entry((2,2)).rotate(PI) + self.add(table) + """ + return self.get_entries(pos) + def get_entries_without_labels( self, pos: Sequence[int] | None = None, @@ -656,6 +688,38 @@ def construct(self): else: return self.elements_without_labels + def get_entry_without_label(self, pos: Sequence[int]) -> VMobject: + """Return one specific entry of the table (without labels). + + Parameters + ---------- + pos + The position of a specific entry on the table. ``(1,1)`` being the top left entry + of the table (without labels). + + Returns + ------- + :class:`~.VMobject` + The :class:`~.VMobject` at the given position. + + Examples + -------- + + .. manim:: GetEntryWithoutLabelExample + :save_last_frame: + + class GetEntryWithoutLabelExample(Scene): + def construct(self): + table = Table( + [["First", "Second"], + ["Third","Fourth"]], + row_labels=[Text("R1"), Text("R2")], + col_labels=[Text("C1"), Text("C2")]) + table.get_entry_without_label((2,2)).rotate(PI) + self.add(table) + """ + return self.get_entries_without_labels(pos) + def get_row_labels(self) -> VGroup: """Return the row labels of the table.