Plot

class Plot(dimensions: Vector2, var name: String? = null, val origin: Origin = Origin.BOTTOM_LEFT, var generator: Generator = noopGenerator(), var distanceTolerance: Double = 0.5, var layerMode: LayerMode = LayerMode.SINGLE_FILE, var defaultDrawColor: ColorRGBa = ColorRGBa.BLACK, var defaultPenWeight: Double = 1.0, var backgroundColor: ColorRGBa = ColorRGBa.WHITE, val manualRedraw: Boolean = true, var renderMode: RenderMode = RenderMode.AFTER, val gCodeBind: String? = "g", val redrawBind: String? = "r", var folder: String? = "gcode") : Extension(source)

Configuration: When manualRedraw is true, the programs presentation mode is set to Manual on startup. "r" to trigger redraw. When renderMode is set to manual, the plot will not be rendered to the programms drawer. Then render has to be called to draw the plot. origin

Constructors

Link copied to clipboard
constructor(dimensions: Vector2, name: String? = null, origin: Origin = Origin.BOTTOM_LEFT, generator: Generator = noopGenerator(), distanceTolerance: Double = 0.5, layerMode: LayerMode = LayerMode.SINGLE_FILE, defaultDrawColor: ColorRGBa = ColorRGBa.BLACK, defaultPenWeight: Double = 1.0, backgroundColor: ColorRGBa = ColorRGBa.WHITE, manualRedraw: Boolean = true, renderMode: RenderMode = RenderMode.AFTER, gCodeBind: String? = "g", redrawBind: String? = "r", folder: String? = "gcode")

Properties

Link copied to clipboard
var backgroundColor: ColorRGBa
Link copied to clipboard
var defaultDrawColor: ColorRGBa
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val docBounds: Rectangle
Link copied to clipboard
open override var enabled: Boolean
Link copied to clipboard

The folder where the g-code will be saved to. Default value is "gcode", saves in current working directory when set to null.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
var name: String?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open override fun afterDraw(drawer: Drawer, program: Program)
Link copied to clipboard
open override fun beforeDraw(drawer: Drawer, program: Program)
Link copied to clipboard
fun draw(drawFunction: DrawFunction)

Draws to the "default" layer. See layer.

Link copied to clipboard
fun forEachLayer(block: (layer: String, composition: Composition) -> Unit)

Executes block once for each layer in the order they were added.

Link copied to clipboard
fun layer(name: String, drawFunction: DrawFunction)

Draws to the given layer. If the layer with given name already exists, it is replaced.

Link copied to clipboard
fun render(drawer: Drawer)

Renders this plot to the given drawer.

Link copied to clipboard
fun scale(): Double

Scale from document space to screen space.

Link copied to clipboard

Double v scaled from document space to screen space.

fun scaled(v: Vector2): Vector2

Vector v scaled from document space to screen space.

fun scaled(drawer: Drawer, drawFunction: (Drawer) -> Unit)

Drawer scaled to document space, to fit to the window.

Link copied to clipboard
open override fun setup(program: Program)
Link copied to clipboard
open fun shutdown(program: Program)
Link copied to clipboard

Combines the gcode of all layers.

Link copied to clipboard
fun toDocumentSpace(p: Vector2): Vector2

Scales and translates the given position from screen space to document space. Can be used to translate mouse events to draw to the plot.

Link copied to clipboard

Returns a map of layer names to gcode.

Link copied to clipboard

Writes all layers to a single file.

Link copied to clipboard

Writes each layer to a separate file.

Link copied to clipboard
fun writeFile(name: String, extension: String = "gcode", content: () -> String)

Writes content to file "folder/timestamp-name.extension"

Link copied to clipboard

Writes the gcode to file(s) based on layerMode, name and folder.