ianmackenzie / elm-geometry / Ellipse3d

An Ellipse3d is an Ellipse2d in 3D space. This module contains functionality for:


type alias Ellipse3d units coordinates =
Geometry.Types.Ellipse3d units coordinates

Constructors

on : SketchPlane3d units coordinates { defines : coordinates2d } -> Ellipse2d units coordinates2d -> Ellipse3d units coordinates

Construct a 3D ellipse by placing a 2D ellipse on a sketch plane.

Properties

centerPoint : Ellipse3d units coordinates -> Point3d units coordinates

Get the center point of an ellipse.

axes : Ellipse3d units coordinates -> SketchPlane3d units coordinates defines

Get the X and Y axes of an ellipse as a SketchPlane3d.

xAxis : Ellipse3d units coordinates -> Axis3d units coordinates

Get the X axis of an ellipse.

yAxis : Ellipse3d units coordinates -> Axis3d units coordinates

Get the Y axis of an ellipse.

xDirection : Ellipse3d units coordinates -> Direction3d coordinates

Get the direction of the ellipse's X axis.

yDirection : Ellipse3d units coordinates -> Direction3d coordinates

Get the direction of an ellipse's Y axis.

xRadius : Ellipse3d units coordinates -> Quantity Basics.Float units

Get the radius of an ellipse along its X axis. This may be either the minimum or maximum radius.

yRadius : Ellipse3d units coordinates -> Quantity Basics.Float units

Get the radius of an ellipse along its Y axis. This may be either the minimum or maximum radius.

area : Ellipse3d units coordinates -> Quantity Basics.Float (Quantity.Squared units)

Get the area of an ellipse.

Conversion

toEllipticalArc : Ellipse3d units coordinates -> Geometry.Types.EllipticalArc3d units coordinates

Convert an ellipse to a 360 degree elliptical arc.

Transformations

These transformations generally behave just like the ones in the Point3d module.

scaleAbout : Point3d units coordinates -> Basics.Float -> Ellipse3d units coordinates -> Ellipse3d units coordinates

Scale an ellipse about a given point by a given scale.

rotateAround : Axis3d units coordinates -> Angle -> Ellipse3d units coordinates -> Ellipse3d units coordinates

Rotate an ellipse around a given axis by a given angle.

translateBy : Vector3d units coordinates -> Ellipse3d units coordinates -> Ellipse3d units coordinates

Translate an ellipse by a given displacement.

translateIn : Direction3d coordinates -> Quantity Basics.Float units -> Ellipse3d units coordinates -> Ellipse3d units coordinates

Translate an ellipse in a given direction by a given distance.

mirrorAcross : Plane3d units coordinates -> Ellipse3d units coordinates -> Ellipse3d units coordinates

Mirror an ellipse across a given plane.

Unit conversions

at : Quantity Basics.Float (Quantity.Rate units2 units1) -> Ellipse3d units1 coordinates -> Ellipse3d units2 coordinates

Convert an ellipse from one units type to another, by providing a conversion factor given as a rate of change of destination units with respect to source units.

at_ : Quantity Basics.Float (Quantity.Rate units1 units2) -> Ellipse3d units1 coordinates -> Ellipse3d units2 coordinates

Convert an ellipse from one units type to another, by providing an 'inverse' conversion factor given as a rate of change of source units with respect to destination units.

Coordinate conversions

relativeTo : Frame3d units globalCoordinates { defines : localCoordinates } -> Ellipse3d units globalCoordinates -> Ellipse3d units localCoordinates

Take an ellipse defined in global coordinates, and return it expressed in local coordinates relative to a given reference frame.

placeIn : Frame3d units globalCoordinates { defines : localCoordinates } -> Ellipse3d units localCoordinates -> Ellipse3d units globalCoordinates

Take an ellipse considered to be defined in local coordinates relative to a given reference frame, and return that circle expressed in global coordinates.