Safe Haskell | None |
---|---|
Language | Haskell98 |
- translate :: Object obj vec => vec -> obj -> obj
- scale :: Object obj vec => vec -> obj -> obj
- complement :: Object obj vec => obj -> obj
- union :: Object obj vec => [obj] -> obj
- intersect :: Object obj vec => [obj] -> obj
- difference :: Object obj vec => [obj] -> obj
- unionR :: Object obj vec => ℝ -> [obj] -> obj
- intersectR :: Object obj vec => ℝ -> [obj] -> obj
- differenceR :: Object obj vec => ℝ -> [obj] -> obj
- shell :: Object obj vec => ℝ -> obj -> obj
- extrudeR :: ℝ -> SymbolicObj2 -> ℝ -> SymbolicObj3
- extrudeOnEdgeOf :: SymbolicObj2 -> SymbolicObj2 -> SymbolicObj3
- sphere :: ℝ -> SymbolicObj3
- rect3R :: ℝ -> ℝ3 -> ℝ3 -> SymbolicObj3
- circle :: ℝ -> SymbolicObj2
- cylinder :: ℝ -> ℝ -> SymbolicObj3
- cylinder2 :: ℝ -> ℝ -> ℝ -> SymbolicObj3
- rectR :: ℝ -> ℝ2 -> ℝ2 -> SymbolicObj2
- polygon :: [ℝ2] -> SymbolicObj2
- writeSVG :: ℝ -> FilePath -> SymbolicObj2 -> IO ()
- writeSTL :: ℝ -> FilePath -> SymbolicObj3 -> IO ()
- writeBinSTL :: ℝ -> FilePath -> SymbolicObj3 -> IO ()
- writeOBJ :: ℝ -> FilePath -> SymbolicObj3 -> IO ()
- writeTHREEJS :: ℝ -> FilePath -> SymbolicObj3 -> IO ()
- writeSCAD2 :: ℝ -> FilePath -> SymbolicObj2 -> IO ()
- writeSCAD3 :: ℝ -> FilePath -> SymbolicObj3 -> IO ()
- writeGCodeHacklabLaser :: ℝ -> FilePath -> SymbolicObj2 -> IO ()
- writePNG2 :: ℝ -> FilePath -> SymbolicObj2 -> IO ()
- writePNG3 :: ℝ -> FilePath -> SymbolicObj3 -> IO ()
- runOpenscad :: [Char] -> Either ParseError (IO (VarLookup, [SymbolicObj2], [SymbolicObj3]))
- implicit :: Object obj vec => (vec -> ℝ) -> (vec, vec) -> obj
- data SymbolicObj2
- data SymbolicObj3
Documentation
:: Object obj vec | |
=> vec | Vector to translate by (Also: a is a vector, blah, blah) |
-> obj | Object to translate |
-> obj | Resulting object |
Translate an object by a vector of appropriate dimension.
:: Object obj vec | |
=> vec | Amount to scale by |
-> obj | Object to scale |
-> obj | Resulting scaled object |
Scale an object
difference :: Object obj vec => [obj] -> obj Source
Rounded union
Rounded minimum
Rounded difference
Make a shell of an object.
extrudeR :: ℝ -> SymbolicObj2 -> ℝ -> SymbolicObj3 Source
:: ℝ | Radius of the sphere |
-> SymbolicObj3 | Resulting sphere |
:: ℝ | Rounding of corners |
-> ℝ3 | Bottom.. corner |
-> ℝ3 | Top right... corner |
-> SymbolicObj3 | Resuting cube - (0,0,0) is bottom left... |
:: ℝ | radius of the circle |
-> SymbolicObj2 | resulting circle |
cylinder :: ℝ -> ℝ -> SymbolicObj3 Source
:: ℝ | Radius of the cylinder |
-> ℝ | Second radius of the cylinder |
-> ℝ | Height of the cylinder |
-> SymbolicObj3 | Resulting cylinder |
:: ℝ | |
-> ℝ2 | Bottom left corner |
-> ℝ2 | Top right corner |
-> SymbolicObj2 | Resulting square (bottom right = (0,0) ) |
polygon :: [ℝ2] -> SymbolicObj2 Source
writeBinSTL :: ℝ -> FilePath -> SymbolicObj3 -> IO () Source
writeTHREEJS :: ℝ -> FilePath -> SymbolicObj3 -> IO () Source
writeSCAD2 :: ℝ -> FilePath -> SymbolicObj2 -> IO () Source
writeSCAD3 :: ℝ -> FilePath -> SymbolicObj3 -> IO () Source
writeGCodeHacklabLaser :: ℝ -> FilePath -> SymbolicObj2 -> IO () Source
runOpenscad :: [Char] -> Either ParseError (IO (VarLookup, [SymbolicObj2], [SymbolicObj3])) Source
data SymbolicObj2 Source
A symbolic 2D object format. We want to have a symbolic object so that we can accelerate rendering & give ideal meshes for simple cases.