Package-level declarations

Types

Link copied to clipboard
class AxisHelper(var size: Int = 80) : Extension
Link copied to clipboard
class Camera2D : Extension, ChangeEvents

The Camera2D extension enables panning, rotating, and zooming the view with the mouse:

Link copied to clipboard
interface ChangeEvents
Link copied to clipboard
class GridHelper(val size: Int = 10, val divisions: Int = 10) : Extension
Link copied to clipboard
class Orbital : Extension, ChangeEvents

Extension that provides orbital camera view and controls.

Link copied to clipboard
class OrbitalCamera(eye: Vector3 = Vector3.ZERO, lookAt: Vector3 = Vector3.UNIT_Z, var fov: Double = 90.0, var near: Double = 0.1, var far: Double = 1000.0, var projectionType: ProjectionType = ProjectionType.PERSPECTIVE) : Extension, ChangeEvents
Link copied to clipboard
class OrbitalControls(val orbitalCamera: OrbitalCamera, var userInteraction: Boolean = true, val keySpeed: Double = 1.0) : Extension
Link copied to clipboard
class ParametricOrbital : Extension, ChangeEvents

Extension that provides orbital camera through annotated parameters

Link copied to clipboard

Functions

Link copied to clipboard
fun Program.Camera2DManual(configure: Camera2D.() -> Unit = { }): Camera2D

Creates and sets up a custom-configured Camera2D instance within a Program.

Link copied to clipboard
fun OrbitalCamera.isolated(drawer: Drawer, function: Drawer.() -> Unit)

Temporarily enables this camera, calls function to draw using that camera, then disables it by popping the last matrix changes. It makes it easy to combine perspective and orthographic projections in the same program.

Link copied to clipboard
fun Program.OrbitalManual(): Orbital

Creates an instance of the Orbital extension, sets it up with the calling Program, and returns the configured instance.