waterfall-cad-0.2.2.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.

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 #

The Semigroup for Path attempts to join two paths that share a common endpoint.

Attempts to combine paths that do not share a common endpoint currently in an error case that is not currently handled gracefully.

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

Methods

fromWire :: Acquire (Ptr Wire) -> Path

pointToGPPnt :: Proxy Path -> V3 Double -> Acquire (Ptr Pnt)

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