Math.Geometry


Builders

Create a size with zero length and zero height.

Size2D.empty
No value returned by any evaluator
Size2D.create (Length.meters 4.) (Length.meters 3.)

Modifiers

let size: Size2D<Meters, Cartesian> =
    Size2D.create (Length.meters 2.) (Length.meters 7.)
Size2D.scale 1.5 size
No value returned by any evaluator
Size2D.normalizeBelowOne size
No value returned by any evaluator
Size2D.withMaxSize (Length.meters 14.) size
No value returned by any evaluator
namespace Math
namespace Math.Geometry
namespace Math.Units
Multiple items
union case Cartesian.Cartesian: Cartesian

--------------------
type Cartesian = | Cartesian
Multiple items
module Size2D from Math.Geometry

--------------------
[<Struct>] type Size2D<'Units,'Coordinates> = { Width: Quantity<'Units> Height: Quantity<'Units> } interface IGeometry<'Coordinates> override Equals : obj:obj -> bool override GetHashCode : unit -> int
val empty<'Units,'Coordinates> : Size2D<'Units,'Coordinates>
val create : width:Quantity<'Units> -> height:Quantity<'Units> -> Size2D<'Units,'Coordinates>
Multiple items
module Length from Math.Units
<category>Module: Unit System</category>
<summary> A <c>Length</c> represents a length in meters, feet, centimeters, miles etc. It is stored as a number of meters. </summary>


--------------------
type Length = Quantity<Meters>
<category>Unit System</category>
val meters : m:float -> Length
<category index="2">Metric</category>
val size : Size2D<Meters,Cartesian>
Multiple items
union case Meters.Meters: Meters

--------------------
type Meters = | Meters
<category>Unit</category>
val scale : scale:float -> size:Size2D<'Units,'Coordinates> -> Size2D<'Units,'Coordinates>
val normalizeBelowOne : size:Size2D<'Units,'Coordinates> -> Size2D<'Units,'Coordinates>
val withMaxSize : maxSize:Length -> size:Size2D<'Units,'Coordinates> -> Size2D<'Units,'Coordinates>