virtual_knitting_machine.visualizer.visualizer_elements.diagram_elements.carriage_element module

Module containing the Carriage Trapezoid diagram element.

class Carriage_Element(last_direction, needle_index, render_sliders, diagram_settings, **shape_kwargs)[source]

Bases: Polygon_Element

__init__(last_direction, needle_index, render_sliders, diagram_settings, **shape_kwargs)[source]
Parameters:
  • points (list[tuple[float, float]]) – The ordered coordinates of the vertices of the polygon element.

  • name (str) – The name-id of the shape.

  • stroke_width (int) – The width of the outline of the shape.

  • orientation (int | tuple[int, int], optional) – If given a tuple, the vertices will be oriented from the given coordinate x, y point (e.g., a center point). If given an integer, the vertices will be oriented from the vertex at that index. Defaults to orienting around the first point in the points list.

  • fill (str | int, optional) – The fill color of the shape or the factor to lighten the stroke color by. Defaults to no fill color.

  • stroke (str | float, optional) – The color of the outline of the shape or the factor to darken the fill color by. Defaults to darkening the fill color by a factor of 0.7.

  • **shape_kwargs (Any) – Additional keyword arguments to pass to the shape.

property leftward: bool

Returns: bool: True if the carriage is moving leftward.

property carriage_origin: tuple[float, float]
Returns:

The origin of the carriage derived from its current position.

Return type:

tuple[float, float]

Notes

The x origin of the carriage is derived from the needle position that the carriage sits at. The Y origin of the carriage is positioned below the needle bed and labels. When transferring, the carriage is shown as a box with ambiguous direction. When not transferring, the carriage is shown as an arrow with origin as the point of the direction it is moving.

property carriage_vertices: list[tuple[float, float]]

Returns: list[tuple[float, float]]: The vertices that draw the carriage in its current state.

__getitem__(item)
Parameters:

item (int) – The index of the polygon vertice to return.

Returns:

The coordinate of the indexed vertice.

Return type:

tuple[float, float]

Raises:

KeyError – If the index is out of bounds.

__len__()
Returns:

The number of vertices in the polygon.

Return type:

int

add_to_drawing(drawing)

Adds this element to the given svg drawing. :param drawing: The drawing to add. :type drawing: Drawing

static darken_color(color='none', factor=0.7)

Darken a hex or named color.

Parameters:
  • color (str) – The color to darken. Either a named color or a hex representation of the color.

  • factor (float, optional) –

    A factor to darken. Defaults to 0.7.

    • 0.0 = No change.

    • 1.0 = black.

Returns:

The color-string of the darkened color. If “none” color is given, this will return “black”.

Return type:

str

static fill_from_stroke(stroke, lighten_factor=0.3)
Parameters:
  • stroke (str) – The color string of the stroke to be lightened for infill.

  • lighten_factor (float, optional) – The factor to lighten the stroke color by. Defaults to 0.3.

Returns:

The fill color string created by lightening the stroke color.

Return type:

str

property global_points: list[tuple[float, float]]

Returns: list[tuple[float, float]]: The global coordinates of the polygon vertices.

property global_x: float

Returns: float: The global x coordinate of this element based on its parent’s coordinates.

global_x_position(x)
Parameters:

x (float) – An X-coordinate position relative to this element’s coordinate system.

Returns:

The x-coordinate adjusted to the global coordinate system.

Return type:

float

property global_y: float

Returns: float: The global y coordinate of this element based on its parent’s coordinates.

global_y_position(y)
Parameters:

y (float) – An Y-coordinate position relative to this element’s coordinate system.

Returns:

The y-coordinate adjusted to the global coordinate system.

Return type:

float

static lighten_color(color='none', factor=0.3)

Lighten a hex or named color.

Parameters:
  • color (str, optional) – The color to lighten. Either a named color or a hex representation of the color. Defaults to transparent (“none”).

  • factor (float, optional) –

    A factor to lighten (0.0 to 1.0). Defaults to 0.3.

    • 0.0 = no change.

    • 1.0 = white.

Returns:

The color-string of the lightened color. If “none” color is given, this will return “black”.

Return type:

str

property name: str

Returns: str: The unique name of this element. This will match the id of the svg element being wrapped.

static stroke_from_fill(fill, darken_factor=0.7)
Parameters:
  • fill (str) – The color string of the fill to be darkened for an outline.

  • darken_factor (float, optional) – The factor to darken the fill color by. Defaults to 0.7.

Returns:

The stroke color string created by darkening the fill color.

Return type:

str

property x: float

Returns: float: The x coordinate of this element relative to its parent (or globally).

property x_coordinates: list[float]

Returns: list[float]: The x coordinate values for each vertex in the polygon.

property y: float

Returns: float: The y coordinate of this element relative to its parent (or globally).

property y_coordinates: list[float]

Returns: list[float]: The y coordinate values for each vertex in the polygon.