io.github.scala_tessella.dcel.geometry

Members list

Type members

Classlikes

object AngleDegree

Companion object for AngleDegree. Holds the smart constructors and the extension method set.

Companion object for AngleDegree. Holds the smart constructors and the extension method set.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
case class BigBox(min: BigPoint, max: BigPoint)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object BigBox

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
BigBox.type

Planar geometry toolbox using Spire for precise calculations.

Planar geometry toolbox using Spire for precise calculations.

This object uses Spire's numeric types to avoid floating-point inaccuracies.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object BigPoint

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
BigPoint.type
object BigRadian

Companion object for BigRadian

Companion object for BigRadian

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
BigRadian.type

Companion object for RegularPolygon.

Companion object for RegularPolygon.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object SimplePolygon

Companion object for SimplePolygon. Holds the smart constructor fromUntrusted and the static helper alphaSum used both internally and by callers building their own polygons.

Companion object for SimplePolygon. Holds the smart constructor fromUntrusted and the static helper alphaSum used both internally and by callers building their own polygons.

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Types

opaque type AngleDegree

An angle in degrees, opaque-typed over spire.math.Rational for exact arithmetic. Backed by Rational so that values like 60, 120, 60/7 and their sums round-trip exactly — critical for the angle-sum closure checks performed by SimplePolygon.fromUntrusted and TilingValidation.validateGeometrically.

An angle in degrees, opaque-typed over spire.math.Rational for exact arithmetic. Backed by Rational so that values like 60, 120, 60/7 and their sums round-trip exactly — critical for the angle-sum closure checks performed by SimplePolygon.fromUntrusted and TilingValidation.validateGeometrically.

Construct from an Int, a Rational, or a BigRadian via AngleDegree.apply. The companion's extensions cover arithmetic (+, -, *, /), normalisation, and the three usual transforms: inverted (-d), supplement (180 - d), conjugate (360 - d).

Attributes

opaque type BigLineSegment
opaque type BigPoint
opaque type BigRadian

Standard unit of angular measure.

Standard unit of angular measure.

Backed by Double as of ADR-0009 candidate C. AngleDegree.toBigRadian already capped precision at Double via (d / 180).toDouble on master, so the prior BigDecimal backing was pure allocation overhead for callers that only fed the value to trig primitives. See ADR finding 1.

Attributes

opaque type RegularPolygon

A unit-side regular polygon, opaque-typed over its number of sides. Two regular polygons are equal iff they have the same side count; an ordering by side count is provided in the companion.

A unit-side regular polygon, opaque-typed over its number of sides. Two regular polygons are equal iff they have the same side count; an ordering by side count is provided in the companion.

Construct via RegularPolygon.apply (RegularPolygon(6)) or via RegularPolygon.fromInteriorAngle when only the interior angle is known. Use toSides, alpha, angles to read back the geometric attributes.

Attributes

opaque type SimplePolygon

A simple (non-self-intersecting) polygon with unit-length sides, opaque-typed over its ordered vector of interior angles. "Simple" here is the standard geometric meaning — edges meet only at vertices.

A simple (non-self-intersecting) polygon with unit-length sides, opaque-typed over its ordered vector of interior angles. "Simple" here is the standard geometric meaning — edges meet only at vertices.

Construct from untrusted input via SimplePolygon.fromUntrusted; the smart constructor runs the full closure / simplicity / angle-sum validation. The extensions on SimplePolygon expose readback, coordinate generation, symmetry analysis and parallelogon detection (for torus tiling).

Attributes