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

Inheritance diagram of LineSegs

__init__(param0: LineSegs)
__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, call move_to() and draw_to() repeatedly to describe the path, then call create() to create a GeomNode 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 to move_to() and draw_to(). The lines and points are created with the color and thickness established by calls to set_color() and set_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 to move_to() and draw_to(). The lines and points are created with the color and thickness established by calls to set_color() and set_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 when create() 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 when create() 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 through get_vertex() and set_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 first move_to() generates vertex 0; subsequent move_to() and draw_to() calls generate consecutively higher vertex numbers.

get_vertex_color(vertex: int) LColor

Returns the color of the nth point or vertex.

get_vertex_colors() list
get_vertices() list
is_empty() bool

Returns true if move_to() or draw_to() have not been called since the last reset() or create(), 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() or create(), 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() or create(), 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() and draw_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() and draw_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 first move_to() generates vertex 0; subsequent move_to() and draw_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 first move_to() generates vertex 0; subsequent move_to() and draw_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().

set_vertex_color(vertex: int, r: float, g: float, b: float, a: float)

Changes the vertex color of the nth point or vertex. See set_vertex().