ianmackenzie/elm-geometry/1.0.0

NOTE: this package is not compatible with Elm 0.19.1

Polyline3d

Polyline3d

A Polyline3d represents a sequence of vertices in 3D connected by line segments. This module contains a variety of polyline-related functionality, such as

  • Computing the length of polylines
  • Scaling, rotating, translating and mirroring polylines
  • Converting polylines between different coordinate systems
type alias Polyline3d =
Polyline3d

Constructors

fromVertices : List Point3d -> Polyline3d
on : SketchPlane3d -> Polyline2d -> Polyline3d

Properties

vertices : Polyline3d -> List Point3d
segments : Polyline3d -> List LineSegment3d
length : Polyline3d -> Float
boundingBox : Polyline3d -> Maybe BoundingBox3d

Transformations

Transforming a polyline is equivalent to transforming each of its vertices.

scaleAbout : Point3d -> Float -> Polyline3d -> Polyline3d
rotateAround : Axis3d -> Float -> Polyline3d -> Polyline3d
translateBy : Vector3d -> Polyline3d -> Polyline3d
translateIn : Direction3d -> Float -> Polyline3d -> Polyline3d
mirrorAcross : Plane3d -> Polyline3d -> Polyline3d
projectOnto : Plane3d -> Polyline3d -> Polyline3d
mapVertices : (Point3d -> Point3d) -> Polyline3d -> Polyline3d

Coordinate conversions

relativeTo : Frame3d -> Polyline3d -> Polyline3d
placeIn : Frame3d -> Polyline3d -> Polyline3d
projectInto : SketchPlane3d -> Polyline3d -> Polyline2d