Package-level declarations

Types

Link copied to clipboard
class BezierPatch(points: List<List<Vector2>>, colors: List<List<ColorRGBa>> = emptyList()) : BezierPatchBase<ColorRGBa> , GeometricPrimitive2D
Link copied to clipboard
class BezierPatch3D(points: List<List<Vector3>>, colors: List<List<ColorRGBa>> = emptyList()) : BezierPatch3DBase<ColorRGBa> , GeometricPrimitive3D
Link copied to clipboard
open class BezierPatch3DBase<C : AlgebraicColor<C>, ConvertibleToColorRGBa>(val points: List<List<Vector3>>, val colors: List<List<C>> = emptyList())

Represents a 3D Bezier patch defined by a 4x4 grid of control points and optional color data. This class provides utilities for manipulation, transformation, and evaluation of the patch.

Link copied to clipboard
open class BezierPatchBase<C : AlgebraicColor<C>, ConvertibleToColorRGBa>(val points: List<List<Vector2>>, val colors: List<List<C>> = emptyList())

Represents a base class for a Bezier patch, a surface defined by control points with optional color assignments.

Link copied to clipboard

Functions

Link copied to clipboard
fun bezierPatch(corners: List<Vector2>, alpha: Double = 1.0 / 3.0): BezierPatch
fun bezierPatch(corners: List<Vector3>, alpha: Double = 1.0 / 3.0): BezierPatch3D

Create a bezier patch from 4 corners

fun bezierPatch(path: Path3D, alpha: Double = 1.0 / 3.0): BezierPatch3D
fun bezierPatch(shapeContour: ShapeContour, alpha: Double = 1.0 / 3.0): BezierPatch

Create a bezier patch from a closed shape contour (with 4 segments).

fun bezierPatch(c0: Segment2D, c1: Segment2D, c2: Segment2D, c3: Segment2D): BezierPatch
fun bezierPatch(c0: Segment3D, c1: Segment3D, c2: Segment3D, c3: Segment3D): BezierPatch3D

Create a cubic bezier patch from 4 segments. The control points of the segments are used in row-wise fashion

Link copied to clipboard
@JvmName(name = "bezierPatch3DRGBa")
fun Drawer.bezierPatch(bezierPatch: BezierPatch3DBase<ColorRGBa>, subdivisions: Int = 32)
@JvmName(name = "bezierPatch3DOKLAB")
fun Drawer.bezierPatch(bezierPatch: BezierPatch3DBase<ColorOKLABa>, subdivisions: Int = 32)
@JvmName(name = "bezierPatchRGBa")
fun Drawer.bezierPatch(bezierPatch: BezierPatchBase<ColorRGBa>, subdivisions: Int = 32)
@JvmName(name = "bezierPatchOKLAB")
fun Drawer.bezierPatch(bezierPatch: BezierPatchBase<ColorOKLABa>, subdivisions: Int = 32)
Link copied to clipboard
@JvmName(name = "bezierPatches3DRGBa")
fun Drawer.bezierPatches(bezierPatch: List<BezierPatch3DBase<ColorRGBa>>, subdivisions: Int = 32)
@JvmName(name = "bezierPatches3DOKLAB")
fun Drawer.bezierPatches(bezierPatch: List<BezierPatch3DBase<ColorOKLABa>>, subdivisions: Int = 32)
@JvmName(name = "bezierPatchesRGBa")
fun Drawer.bezierPatches(bezierPatch: List<BezierPatchBase<ColorRGBa>>, subdivisions: Int = 32)
@JvmName(name = "bezierPatchesOKLAB")
fun Drawer.bezierPatches(bezierPatch: List<BezierPatchBase<ColorOKLABa>>, subdivisions: Int = 32)
Link copied to clipboard
fun BezierPatch.distort(shapeContour: ShapeContour, referenceRectangle: Rectangle = shapeContour.bounds): ShapeContour

Distort a shape contour