LineSegs
from panda3d.core import LineSegs
- class LineSegs
Bases:
Bases:
Namable
Encapsulates 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
LineSegs
object, 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 aGeomNode
which will render the described path.
- create(previous: GeomNode, dynamic: bool) GeomNode
Appends to an existing
GeomNode
a 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
GeomNode
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.
- 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()
.