waterfall-cad-examples 0.6.0.1 → 0.6.1.0
raw patch · 4 files changed
+35/−7 lines, 4 filesdep ~opencascade-hsdep ~waterfall-caddep ~waterfall-cad-svgPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: opencascade-hs, waterfall-cad, waterfall-cad-svg
API changes (from Hackage documentation)
+ PlatonicSolidsExample: platonicSolidsExample :: Solid
Files
- CHANGELOG.md +6/−0
- app/Main.hs +2/−0
- src/PlatonicSolidsExample.hs +19/−0
- waterfall-cad-examples.cabal +8/−7
CHANGELOG.md view
@@ -8,6 +8,12 @@ ## Unreleased +## 0.6.1.0++### Added ++- Added `PlatonicSolidsExample`, demonstrating `tetrahedron`, `centeredCube`, `octahedron`, `dodecahedron` and `icosahedron`+ ## 0.6.0.1 - Adjusted `CsgExample` to use `centeredCylinder`, and removed use of `Booleans.Operators`
app/Main.hs view
@@ -9,6 +9,7 @@ import SweepExample (sweepExample) import OffsetExample (offsetExample) import LoftExample (loftExample)+import PlatonicSolidsExample (platonicSolidsExample) import TextExample (textExample) import BoundingBoxExample (boundingBoxExample) import ReadSolidExpressionExample (readSolidExpressionExample)@@ -76,6 +77,7 @@ OA.flag' loftExample (OA.long "loft" <> OA.help "generating a boat, defined as a loft of a series of paths" ) <|> OA.flag' boundingBoxExample (OA.long "bound" <> OA.help "demonstrates calculating the oriented bounding box, and axis aligned bounding box, of a shape" ) <|> OA.flag' twoDBooleansExample (OA.long "2d-booleans" <> OA.help "demonstrates 2D boolean operations (union, intersection, difference) on shapes" ) <|>+ OA.flag' platonicSolidsExample (OA.long "platonic-solids" <> OA.help "demonstrates the 5 platonic solids (tetrahedron, cube, octahedron, dodecahedron and icosahedron)") <|> (OA.flag' gearExample (OA.long "gear" <> OA.help "generate an involute gear") <*> (OA.option OA.auto (OA.long "thickness" <> OA.help "gear depth") <|> pure 1.0) <*> (OA.option OA.auto (OA.long "module" <> OA.help "gear module") <|> pure 5.0) <*>
+ src/PlatonicSolidsExample.hs view
@@ -0,0 +1,19 @@+{-|+<<models/platonic.glb>>+-}+module PlatonicSolidsExample+( platonicSolidsExample+) where++import qualified Waterfall.Transforms as Transforms+import qualified Waterfall.Solids as Solids+import Linear ((^*), unit, _y)+platonicSolidsExample :: Solids.Solid+platonicSolidsExample = + mconcat . zipWith (Transforms.translate . (unit _y ^*)) [0, -2.5 ..] $+ [ Solids.tetrahedron+ , Solids.centeredCube+ , Solids.octahedron+ , Solids.icosahedron+ , Solids.dodecahedron+ ]
waterfall-cad-examples.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: waterfall-cad-examples-version: 0.6.0.1+version: 0.6.1.0 synopsis: Examples for Waterfall CAD, a Declarative CAD/Solid Modeling Library description: Please see the README on GitHub at <https://github.com/joe-warren/opencascade-hs#readme> category: Graphics@@ -35,6 +35,7 @@ GearExample LoftExample OffsetExample+ PlatonicSolidsExample PrismExample ReadSolidExpressionExample RevolutionExample@@ -52,14 +53,14 @@ base >=4.7 && <5 , lens ==5.* , linear >=1.21 && <2- , opencascade-hs >=0.6.0.1 && <0.7+ , opencascade-hs >=0.6.1.0 && <0.7 , optparse-applicative >=0.17 && <0.19 , parsec ==3.1.* , parser-combinators >=1.2 && <1.4 , raw-strings-qq >=1.1 && <2 , svg-tree >=0.6 && <1.0- , waterfall-cad >=0.6.0.1 && <0.7- , waterfall-cad-svg >=0.6.0.1 && <0.7+ , waterfall-cad >=0.6.1.0 && <0.7+ , waterfall-cad-svg >=0.6.1.0 && <0.7 , xml ==1.* default-language: Haskell2010 @@ -74,14 +75,14 @@ base >=4.7 && <5 , lens ==5.* , linear >=1.21 && <2- , opencascade-hs >=0.6.0.1 && <0.7+ , opencascade-hs >=0.6.1.0 && <0.7 , optparse-applicative >=0.17 && <0.19 , parsec ==3.1.* , parser-combinators >=1.2 && <1.4 , raw-strings-qq >=1.1 && <2 , svg-tree >=0.6 && <1.0- , waterfall-cad >=0.6.0.1 && <0.7+ , waterfall-cad >=0.6.1.0 && <0.7 , waterfall-cad-examples- , waterfall-cad-svg >=0.6.0.1 && <0.7+ , waterfall-cad-svg >=0.6.1.0 && <0.7 , xml ==1.* default-language: Haskell2010