Animations¶
- class manim_extensions.mindmap.LayoutAnimation(scene, root, layout_type=LayoutType.MindMap, layout_config=<manim_extensions.mindmap.algorithms.layout_config.LayoutConfig object>, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>, **kwargs)[source]¶
Bases:
AbstractLayoutAnimationGeneral layout animation: apply a layout to the whole tree and play all change animations.
Example: LayoutAnimationDocExample ¶
from manim import * from manim_extensions.mindmap import Node, LayoutAnimation class LayoutAnimationDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) a2 = Node(MathTex("A2", font_size=36)) root.add_child(a1) root.add_child(a2) self.play(LayoutAnimation(self, root)) self.wait()
from manim import * from manim_extensions.mindmap import Node, LayoutAnimation class LayoutAnimationDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) a2 = Node(MathTex("A2", font_size=36)) root.add_child(a1) root.add_child(a2) self.play(LayoutAnimation(self, root)) self.wait()- __init__(scene, root, layout_type=LayoutType.MindMap, layout_config=<manim_extensions.mindmap.algorithms.layout_config.LayoutConfig object>, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>, **kwargs)[source]¶
After operating on the tree nodes, run the full Layout algorithm and generate the animation.
- Parameters:
scene (
Scene) – The current sceneroot (
Node) – The root nodelayout_type (
LayoutType) – Layout type. Defaults to LayoutType.MindMap.layout_config (
LayoutConfig) – Layout parameters. Defaults to LayoutConfig().node_style (
NodeStyle) – Layout and node styles. Defaults to NodeStyle().
- class manim_extensions.mindmap.InsertNode(scene, father_children=None, layout_type=LayoutType.MindMap, layout_config=<manim_extensions.mindmap.algorithms.layout_config.LayoutConfig object>, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>, **kwargs)[source]¶
Bases:
LayoutAnimationInsert one or more child nodes into the mind map.
Example: InsertNodeDocExample ¶
from manim import * from manim_extensions.mindmap import Node, InsertNode class InsertNodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) a2 = Node(MathTex("A2", font_size=36)) self.play(InsertNode(self, {root: [a1, a2]})) self.wait()
from manim import * from manim_extensions.mindmap import Node, InsertNode class InsertNodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) a2 = Node(MathTex("A2", font_size=36)) self.play(InsertNode(self, {root: [a1, a2]})) self.wait()- __init__(scene, father_children=None, layout_type=LayoutType.MindMap, layout_config=<manim_extensions.mindmap.algorithms.layout_config.LayoutConfig object>, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>, **kwargs)[source]¶
Insert a child node (or list of child nodes) under the specified parent nodes.
- class manim_extensions.mindmap.RemoveNode(scene, nodes, layout_type=LayoutType.MindMap, layout_config=<manim_extensions.mindmap.algorithms.layout_config.LayoutConfig object>, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>, **kwargs)[source]¶
Bases:
LayoutAnimationRemove the tree or subtree rooted at nodes; nodes may be a single node or a list of nodes.
Example: RemoveNodeDocExample ¶
from manim import * from manim_extensions.mindmap import Node, InsertNode, RemoveNode class RemoveNodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) a2 = Node(MathTex("A2", font_size=36)) self.play(InsertNode(self, {root: [a1, a2]})) self.play(RemoveNode(self, [a1, a2])) self.wait()
from manim import * from manim_extensions.mindmap import Node, InsertNode, RemoveNode class RemoveNodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) a2 = Node(MathTex("A2", font_size=36)) self.play(InsertNode(self, {root: [a1, a2]})) self.play(RemoveNode(self, [a1, a2])) self.wait()- __init__(scene, nodes, layout_type=LayoutType.MindMap, layout_config=<manim_extensions.mindmap.algorithms.layout_config.LayoutConfig object>, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>, **kwargs)[source]¶
After operating on the tree nodes, run the full Layout algorithm and generate the animation.
- Parameters:
scene (
Scene) – The current sceneroot (Node) – The root node
layout_type (
LayoutType) – Layout type. Defaults to LayoutType.MindMap.layout_config (
LayoutConfig) – Layout parameters. Defaults to LayoutConfig().node_style (
NodeStyle) – Layout and node styles. Defaults to NodeStyle().
- class manim_extensions.mindmap.AlterNode(scene, node_vmobject=None, layout_type=LayoutType.MindMap, layout_config=<manim_extensions.mindmap.algorithms.layout_config.LayoutConfig object>, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>, **kwargs)[source]¶
Bases:
LayoutAnimationReplace the content of one or more nodes in the mind map.
Example: AlterNodeDocExample ¶
from manim import * from manim_extensions.mindmap import Node, InsertNode, AlterNode class AlterNodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) self.play(InsertNode(self, {root: [a1]})) self.play(AlterNode(self, {a1: MathTex("Updated", font_size=36)})) self.wait()
from manim import * from manim_extensions.mindmap import Node, InsertNode, AlterNode class AlterNodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) self.play(InsertNode(self, {root: [a1]})) self.play(AlterNode(self, {a1: MathTex("Updated", font_size=36)})) self.wait()
- class manim_extensions.mindmap.ScaleNode(scene, node_scale=None, layout_type=LayoutType.MindMap, layout_config=<manim_extensions.mindmap.algorithms.layout_config.LayoutConfig object>, node_style=<manim_extensions.mindmap.nodes.node.NodeStyle object>, **kwargs)[source]¶
Bases:
LayoutAnimationScale one or more nodes in the mind map.
Example: ScaleNodeDocExample ¶
from manim import * from manim_extensions.mindmap import Node, InsertNode, ScaleNode class ScaleNodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) self.play(InsertNode(self, {root: [a1]})) self.play(ScaleNode(self, {a1: 1.5})) self.wait()
from manim import * from manim_extensions.mindmap import Node, InsertNode, ScaleNode class ScaleNodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36).to_edge(LEFT)) a1 = Node(MathTex("A1", font_size=36)) self.play(InsertNode(self, {root: [a1]})) self.play(ScaleNode(self, {a1: 1.5})) self.wait()