implicit-0.3.0.1: A math-inspired programmatic 2D & 3D CAD system.

Safe HaskellNone
LanguageHaskell2010

Graphics.Implicit

Synopsis

Documentation

scale Source #

Arguments

:: Object obj vec 
=> vec

Amount to scale by

-> obj

Object to scale

-> obj

Resulting scaled object

Scale an object

complement Source #

Arguments

:: Object obj vec 
=> obj

Object to complement

-> obj

Result

Complement an Object

translate Source #

Arguments

:: 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.

unionR Source #

Arguments

:: Object obj vec 
=>

The radius of rounding

-> [obj]

objects to union

-> obj

Resulting object

Rounded union

intersectR Source #

Arguments

:: Object obj vec 
=>

The radius of rounding

-> [obj]

Objects to intersect

-> obj

Resulting object

Rounded minimum

differenceR Source #

Arguments

:: Object obj vec 
=>

The radius of rounding

-> [obj]

Objects to difference

-> obj

Resulting object

Rounded difference

shell Source #

Arguments

:: Object obj vec 
=>

width of shell

-> obj

object to take shell of

-> obj

resulting shell

Make a shell of an object.

implicit Source #

Arguments

:: Object obj vec 
=> (vec -> )

Implicit function

-> (vec, vec)

Bounding box

-> obj

Resulting object

sphere Source #

Arguments

::

Radius of the sphere

-> SymbolicObj3

Resulting sphere

rect3R Source #

Arguments

::

Rounding of corners

-> ℝ3

Bottom.. corner

-> ℝ3

Top right... corner

-> SymbolicObj3

Resuting cube - (0,0,0) is bottom left...

cylinder2 Source #

Arguments

::

Radius of the cylinder

->

Second radius of the cylinder

->

Height of the cylinder

-> SymbolicObj3

Resulting cylinder

cylinder Source #

Arguments

::

Radius of the cylinder

->

Height of the cylinder

-> SymbolicObj3

Resulting cylinder

circle Source #

Arguments

::

radius of the circle

-> SymbolicObj2

resulting circle

rectR Source #

Arguments

::  
-> ℝ2

Bottom left corner

-> ℝ2

Top right corner

-> SymbolicObj2

Resulting square (bottom right = (0,0) )

polygonR Source #

Arguments

::

Rouding of the polygon

-> [ℝ2]

Verticies of the polygon

-> SymbolicObj2

Resulting polygon

union :: Object obj vec => [obj] -> obj Source #

difference :: Object obj vec => [obj] -> obj Source #

intersect :: Object obj vec => [obj] -> obj Source #

runOpenscad :: ScadOpts -> [String] -> String -> IO (VarLookup, [SymbolicObj2], [SymbolicObj3], [Message]) Source #

Small wrapper of our parser to handle parse errors, etc.

data SymbolicObj2 Source #

A symbolic 2D object format. We want to have symbolic objects so that we can accelerate rendering & give ideal meshes for simple cases.