| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
OpenGL 3D viewer for ImplicitCAD.
Allows quick preview of ImplicitCAD SymbolicObj3 objects by transforming NormedTriangleMesh into format accepted by GPipe.
Based on GPipe-Test
or enter development shell using nix-shell where you can use
cabal run implicitview
or cabal repl.
Like ghcid for ImplicitCAD. Features autoreload functionality that can reload both Haskell modules via hint or ExtOpenSCAD files using ImplicitCADs SCAD engine.
Try it on provided examples:
implicitview examples-haskell/SomeModule.hs
or ExtOpenSCAD variant:
implicitview examples-escad/obj.escad
While the application is running you can open the source file in your editor and it will automatically reload the preview on saves.
Haskell loader expects obj :: SymbolicObj3 variable and optionally allows changing resolution by also defining res variable (tried types for res are Double, Int and Integer).
ExtOpenSCAD loader works with standard $res variable. It renders both 2D and 3D objects by unioning and extruding 2D ones by 1mm. To achieve the same with Haskell loader, extrude your 2D objects using extrudeR 0 (unionR 0 objs2) 1.
implicitview supports viewer configuration via command line, for full list of options see:
implicitview --help
An example of some parameters:
implicitview --rotate --rotate-init 1 --rotate-step 0.01 --zoom 0.5 example-escad/obj.escad
Demo of animation functionality.
Left mouse button controls camera rotation, scroll wheel zooming, holding space increases animation speed.
Via cabal repl:
import Graphics.Implicit
import Graphics.Implicit.Viewer
view $ sphere 10
animate $ \t -> unionR 1 [ sphere 5, cylinder2 1 3 (4 + 5 * t) ]Support for animating objects is available - objects can be parametrized by time variable in [0..1] interval and viewed using animate function.
animSample :: Double -> SymbolicObj3
animSample t = sphere (2 + t*2)
animate animSampleAnimations are experimental and are currently being reworked to use composable Animation wrapper similar to Reanimate.Animation.
| Back | FazBrowse Home | New Git URL |