waterfall-cad-0.5.1.0: Declarative CAD/Solid Modeling Library
Safe HaskellNone
LanguageHaskell2010

Waterfall.Path

Description

Paths in 3D space.

Synopsis

Documentation

data Path Source #

A Path in 3D Space

Under the hood, this is represented by an OpenCascade Wire.

The monoid instance Joins Paths, a <> b connects the end point of a to the start of b , if these points are not coincident, a line is created between them.

Instances

Instances details
Monoid Path Source # 
Instance details

Defined in Waterfall.Internal.Path

Methods

mempty :: Path #

mappend :: Path -> Path -> Path #

mconcat :: [Path] -> Path #

Semigroup Path Source # 
Instance details

Defined in Waterfall.Internal.Path

Methods

(<>) :: Path -> Path -> Path #

sconcat :: NonEmpty Path -> Path #

stimes :: Integral b => b -> Path -> Path #

Transformable Path Source # 
Instance details

Defined in Waterfall.Transforms

AnyPath (V3 Double) Path Source # 
Instance details

Defined in Waterfall.Path.Common

fromPath2D :: Path2D -> Path Source #

convert a Path2D into a Path on the \( xy \) plane (with \( z = 0 \) )

line3D :: V3 Double -> V3 Double -> Path Source #

line, with the type fixed to Path

lineTo3D :: V3 Double -> V3 Double -> (V3 Double, Path) Source #

lineTo, with the type fixed to Path

lineRelative3D :: V3 Double -> V3 Double -> (V3 Double, Path) Source #

lineRelative, with the type fixed to Path

arcVia3D :: V3 Double -> V3 Double -> V3 Double -> Path Source #

arcVia, with the type fixed to Path

arcViaTo3D :: V3 Double -> V3 Double -> V3 Double -> (V3 Double, Path) Source #

arcViaTo, with the type fixed to Path

bezier3D :: V3 Double -> V3 Double -> V3 Double -> V3 Double -> Path Source #

bezier, with the type fixed to Path

bezierTo3D :: V3 Double -> V3 Double -> V3 Double -> V3 Double -> (V3 Double, Path) Source #

bezierTo, with the type fixed to Path

pathFrom3D :: V3 Double -> [V3 Double -> (V3 Double, Path)] -> Path Source #

pathFrom, with the type fixed to Path

pathFromTo3D :: [V3 Double -> (V3 Double, Path)] -> V3 Double -> (V3 Double, Path) Source #

pathFromTo, with the type fixed to Path

pathEndpoints3D :: Path -> Maybe (V3 Double, V3 Double) Source #

pathEndpoints, with the type fixed to Path

closeLoop3D :: Path -> Path Source #

closeLoop with the type fixed to Path

reversePath3D :: Path -> Path Source #

reversePath with the type fixed to Path

splice3D :: Path -> V3 Double -> (V3 Double, Path) Source #

splice with the type fixed to Path

splitPath3D :: Path -> [Path] Source #

splitPath with the type fixed to Path