Nodes¶
- class manim_extensions.mindmap.Node(vmobject=None, buff=0.2, **kwargs)[source]¶
Bases:
objectTree-node class.
Example: NodeDocExample ¶
from manim import * from manim_extensions.mindmap import Node class NodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36)) root.add_child(Node(MathTex("Child", font_size=36))) self.add(root.vmobject, root.surr_rect)
from manim import * from manim_extensions.mindmap import Node class NodeDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36)) root.add_child(Node(MathTex("Child", font_size=36))) self.add(root.vmobject, root.surr_rect)- get_connector(layout_type, direction, **kwargs)[source]¶
Return the connector from this node to its parent based on layout type.
- Return type:
- set_connector(layout_type, direction=array([1., 0., 0.]), **kwargs)[source]¶
Set the connector line.
- change_connector(change_dir, change_layout, layout_type, direction=array([1., 0., 0.]), **kwargs)[source]¶
Change the connector line.
- class manim_extensions.mindmap.NodeStyle(node_style=[{'color': ManimColor('#FC6255'), 'stroke_width': 8}, {'color': ManimColor('#58C4DD'), 'stroke_width': 6}, {'color': ManimColor('#F7D96F'), 'stroke_width': 4}, {'color': ManimColor('#83C167'), 'stroke_width': 4}], line_style=[{'color': ManimColor('#FC6255'), 'stroke_width': 8}, {'color': ManimColor('#58C4DD'), 'stroke_width': 6}, {'color': ManimColor('#F7D96F'), 'stroke_width': 4}, {'color': ManimColor('#83C167'), 'stroke_width': 4}], text_style=[{'color': ManimColor('#FC6255'), 'font_size': 64}, {'color': ManimColor('#F7D96F'), 'font_size': 56}, {'color': ManimColor('#83C167'), 'font_size': 48}, {'color': ManimColor('#FFFFFF'), 'font_size': 36}])[source]¶
Bases:
objectOverall layout parameters and a list of node-style dicts indexed by node level.
Example: NodeStyleDocExample ¶
from manim import * from manim_extensions.mindmap import NodeStyle class NodeStyleDocExample(Scene): def construct(self): style = NodeStyle() self.add(Text(f"levels: {style.node_num}", font_size=36))
from manim import * from manim_extensions.mindmap import NodeStyle class NodeStyleDocExample(Scene): def construct(self): style = NodeStyle() self.add(Text(f"levels: {style.node_num}", font_size=36))- __init__(node_style=[{'color': ManimColor('#FC6255'), 'stroke_width': 8}, {'color': ManimColor('#58C4DD'), 'stroke_width': 6}, {'color': ManimColor('#F7D96F'), 'stroke_width': 4}, {'color': ManimColor('#83C167'), 'stroke_width': 4}], line_style=[{'color': ManimColor('#FC6255'), 'stroke_width': 8}, {'color': ManimColor('#58C4DD'), 'stroke_width': 6}, {'color': ManimColor('#F7D96F'), 'stroke_width': 4}, {'color': ManimColor('#83C167'), 'stroke_width': 4}], text_style=[{'color': ManimColor('#FC6255'), 'font_size': 64}, {'color': ManimColor('#F7D96F'), 'font_size': 56}, {'color': ManimColor('#83C167'), 'font_size': 48}, {'color': ManimColor('#FFFFFF'), 'font_size': 36}])[source]¶
- manim_extensions.mindmap.bfs_walker(root)[source]¶
Breadth-first, level-order traversal: first-in-first-out using a queue.
Example: BfsWalkerDocExample ¶
from manim import * from manim_extensions.mindmap import Node, bfs_walker class BfsWalkerDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36)) root.add_child(Node(MathTex("A", font_size=36))) root.add_child(Node(MathTex("B", font_size=36))) order = [n.vmobject.tex_string for n in bfs_walker(root)] self.add(Text(", ".join(order), font_size=36))
from manim import * from manim_extensions.mindmap import Node, bfs_walker class BfsWalkerDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36)) root.add_child(Node(MathTex("A", font_size=36))) root.add_child(Node(MathTex("B", font_size=36))) order = [n.vmobject.tex_string for n in bfs_walker(root)] self.add(Text(", ".join(order), font_size=36))- Return type:
- manim_extensions.mindmap.dfs_walker(root)[source]¶
Depth-first, pre-order traversal: last-in-first-out using a stack.
Example: DfsWalkerDocExample ¶
from manim import * from manim_extensions.mindmap import Node, dfs_walker class DfsWalkerDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36)) root.add_child(Node(MathTex("A", font_size=36))) root.add_child(Node(MathTex("B", font_size=36))) order = [n.vmobject.tex_string for n in dfs_walker(root)] self.add(Text(", ".join(order), font_size=36))
from manim import * from manim_extensions.mindmap import Node, dfs_walker class DfsWalkerDocExample(Scene): def construct(self): root = Node(MathTex("Root", font_size=36)) root.add_child(Node(MathTex("A", font_size=36))) root.add_child(Node(MathTex("B", font_size=36))) order = [n.vmobject.tex_string for n in dfs_walker(root)] self.add(Text(", ".join(order), font_size=36))- Return type: