LineNode

open class LineNode(line: Line, var style: ShapeStyle = ShapeStyle.LINE, var tags: Set<String> = emptySet()) : Line, PrimitiveNode

A scene-graph leaf that is a Line: the line's geometry carrying the concrete style it renders with, plus optional tags.

Construction copies line's components, so the leaf carries the same geometry at full Double precision. Everything a Line offers is inherited, and every operation typed against Line accepts the leaf as-is — the shape-preserving operations, canonical included, return through copy and come back as the leaf, style and tags riding along; everything else returns plain shapes.

Parameters

line

The geometry to decorate; its components are copied.

style

The concrete paint; the line default when omitted.

tags

Free-form tokens riding the leaf; empty by default.

Constructors

Link copied to clipboard
constructor(line: Line, style: ShapeStyle = ShapeStyle.LINE, tags: Set<String> = emptySet())

Builds the leaf around line's geometry.

constructor(node: LineNode, style: ShapeStyle = node.style, tags: Set<String> = node.tags)

Builds the leaf as a copy of node: the same geometry, and node's own style and tags unless either is overridden.

Properties

Link copied to clipboard
Link copied to clipboard
open val canonical: Line
Link copied to clipboard
val gx: Double
Link copied to clipboard
val gy: Double
Link copied to clipboard
val gz: Double
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override var style: ShapeStyle
Link copied to clipboard
open override var tags: Set<String>

Functions

Link copied to clipboard
open override fun copy(line: Line): LineNode

Returns a LineNode around line, carrying this leaf's style and tags.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

Rounded, style-inclusive identity: equal when the geometry matches at the SCALE quantum and style and tags match exactly.

Link copied to clipboard
open override fun hashCode(): Int

Returns the geometry hash combined with style's and tags', consistent with equals.

Link copied to clipboard
operator fun ShapeNode.times(versor: Versor): ShapeNode

node * Versor => ShapeNode
Returns this leaf with versor's motion applied to its geometry — style and tags untouched.

Link copied to clipboard
open override fun toString(): String

Returns the raw geometry with the style and tags — full stored precision, no rounding.

Link copied to clipboard