implicit-0.0.5: Math-inspired programmatic 2&3D CAD: CSG, bevels, and shells; gcode export..

Safe HaskellNone
LanguageHaskell98

Graphics.Implicit

Synopsis

Documentation

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.

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

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

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

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

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.

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

circle Source

Arguments

::

radius of the circle

-> SymbolicObj2

resulting circle

cylinder2 Source

Arguments

::

Radius of the cylinder

->

Second radius of the cylinder

->

Height of the cylinder

-> SymbolicObj3

Resulting cylinder

rectR Source

Arguments

::  
-> ℝ2

Bottom left corner

-> ℝ2

Top right corner

-> SymbolicObj2

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

implicit Source

Arguments

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

Implicit function

-> (vec, vec)

Bounding box

-> obj

Resulting object

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.

data SymbolicObj3 Source

A symbolic 3D format!