LineSegs
from panda3d.core import LineSegs
- class LineSegs
Bases:
Bases:
NamableEncapsulates creation of a series of connected or disconnected line segments or points, for drawing paths or rays. This class doesn’t attempt to be the smartest it could possibly be; it’s intended primarily as a visualization and editing tool.
Inheritance diagram
- __init__(name: str)
Constructs a
LineSegsobject, which can be used to create any number of disconnected lines or points of various thicknesses and colors through the visible scene. After creating the object, callmove_to()anddraw_to()repeatedly to describe the path, then callcreate()to create aGeomNodewhich will render the described path.
- create(previous: GeomNode, dynamic: bool) GeomNode
Appends to an existing
GeomNodea new Geom that will render the series of line segments and points described via calls tomove_to()anddraw_to(). The lines and points are created with the color and thickness established by calls toset_color()andset_thickness().If dynamic is true, the line segments will be created with the dynamic Geom setting, optimizing them for runtime vertex animation.
- create(dynamic: bool) GeomNode
Creates a new
GeomNodethat will render the series of line segments and points described via calls tomove_to()anddraw_to(). The lines and points are created with the color and thickness established by calls toset_color()andset_thickness().If dynamic is true, the line segments will be created with the dynamic Geom setting, optimizing them for runtime vertex animation.
- draw_to(v: LVecBase3)
Draws a line segment from the pen’s last position (the last call to
move_to()or draw_to) to the indicated point.move_to()and draw_to() only update tables; the actual drawing is performed whencreate()is called.
- draw_to(x: float, y: float, z: float)
Draws a line segment from the pen’s last position (the last call to
move_to()or draw_to) to the indicated point.move_to()and draw_to() only update tables; the actual drawing is performed whencreate()is called.
- get_current_position() LVertex
Returns the pen’s current position. The next call to
draw_to()will draw a line segment from this point.
- get_num_vertices() int
Returns the total number of line segment and point vertices generated by the last call to
create(). The positions of these vertices may be read and adjusted throughget_vertex()andset_vertex().
- get_vertex(n: int) LVertex
Returns the nth point or vertex of the line segment sequence generated by the last call to
create(). The firstmove_to()generates vertex 0; subsequentmove_to()anddraw_to()calls generate consecutively higher vertex numbers.
- is_empty() bool
Returns true if
move_to()ordraw_to()have not been called since the lastreset()orcreate(), false otherwise.
- move_to(v: LVecBase3)
Moves the pen to the given point without drawing a line. When followed by
draw_to(), this marks the first point of a line segment; when followed by move_to() orcreate(), this creates a single point.
- move_to(x: float, y: float, z: float)
Moves the pen to the given point without drawing a line. When followed by
draw_to(), this marks the first point of a line segment; when followed by move_to() orcreate(), this creates a single point.
- reset()
Removes any lines in progress and resets to the initial empty state.
- set_color(color: LColor)
Establishes the color that will be assigned to all vertices created by future calls to
move_to()anddraw_to().
- set_color(r: float, g: float, b: float, a: float)
Establishes the color that will be assigned to all vertices created by future calls to
move_to()anddraw_to().
- set_thickness(thick: float)
Establishes the line thickness or point size in pixels that will be assigned to all lines and points created by future calls to
create().
- set_vertex(n: int, vert: LVertex)
Moves the nth point or vertex of the line segment sequence generated by the last call to
create(). The firstmove_to()generates vertex 0; subsequentmove_to()anddraw_to()calls generate consecutively higher vertex numbers.
- set_vertex(vertex: int, x: float, y: float, z: float)
Moves the nth point or vertex of the line segment sequence generated by the last call to
create(). The firstmove_to()generates vertex 0; subsequentmove_to()anddraw_to()calls generate consecutively higher vertex numbers.
- set_vertex_color(vertex: int, c: LColor)
Changes the vertex color of the nth point or vertex. See
set_vertex().
