- translate :: (Additive a a a, AdditiveInvertable a) => a -> (a -> ℝ) -> a -> ℝ
- scale :: Multiplicative a ℝ a => ℝ -> (a -> ℝ) -> a -> ℝ
- complement :: (a -> ℝ) -> a -> ℝ
- union :: [a -> ℝ] -> a -> ℝ
- intersect :: [a -> ℝ] -> a -> ℝ
- difference :: [a -> ℝ] -> a -> ℝ
- unionR :: ℝ -> [a -> ℝ] -> a -> ℝ
- intersectR :: ℝ -> [a -> ℝ] -> a -> ℝ
- differenceR :: ℝ -> [a -> ℝ] -> a -> ℝ
- shell :: ℝ -> (a -> ℝ) -> a -> ℝ
- slice :: ℝ -> Obj3 -> Obj2
- bubble :: ℝ -> Obj2 -> Obj3
- extrude :: ℝ -> Obj2 -> Obj3
- extrudeR :: ℝ -> ℝ -> Obj2 -> Obj3
- extrudeOnEdgeOf :: Obj2 -> Obj2 -> Obj3
- sphere :: ℝ -> Obj3
- cube :: ℝ -> Obj3
- circle :: ℝ -> Obj2
- cylinder :: ℝ -> ℝ -> Obj3
- square :: ℝ -> Obj2
- regularPolygon :: ℕ -> ℝ -> Obj2
- zsurface :: (ℝ2 -> ℝ) -> Obj3
- polygon :: [ℝ2] -> Obj2
- writeSVG :: ℝ2 -> ℝ2 -> ℝ -> String -> Obj2 -> IO ()
- writeSTL :: ℝ3 -> ℝ3 -> ℝ -> FilePath -> Obj3 -> IO ()
Documentation
:: (Additive a a a, AdditiveInvertable a) | |
=> a | Vector to translate by (Also: a is a vector, blah, blah) |
-> (a -> ℝ) | Object to translate |
-> a -> ℝ | Resulting object |
Translate an object by a vector of appropriate dimension.
:: Multiplicative a ℝ a | |
=> ℝ | Amount to scale by |
-> (a -> ℝ) | Object to scale |
-> a -> ℝ | Resulting scaled object |
Scale an object
Union a list of objects
Intersect a list of objects
Difference a list of objects
Rounded union
Rounded minimum
Rounded difference
Slice a 3D objects at a given z value to make a 2D object.
Extrude a 2D object. (The extrusion goes into the z-plane)
Rounded extrude. Instead of the extrude having a flat top or bottom, it is bevelled.
Create a 3D object by extruding a 2D object along the edge of another 2D object. For example, extruding a circle on the edge of another circle would make a torus.