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

Safe HaskellNone
LanguageHaskell98

Graphics.Implicit.Primitives

Synopsis

Documentation

3D Primitives

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

2D Primitives

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

Shared Operations

class Object obj vec | obj -> vec where Source

Methods

translate Source

Arguments

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

:: vec

Amount to scale by

-> obj

Object to scale

-> obj

Resulting scaled object

Scale an object

complement Source

Arguments

:: obj

Object to complement

-> obj

Result

Complement an Object

unionR Source

Arguments

::

The radius of rounding

-> [obj]

objects to union

-> obj

Resulting object

Rounded union

intersectR Source

Arguments

::

The radius of rounding

-> [obj]

Objects to intersect

-> obj

Resulting object

Rounded minimum

differenceR Source

Arguments

::

The radius of rounding

-> [obj]

Objects to difference

-> obj

Resulting object

Rounded difference

outset Source

Arguments

::

distance to outset

-> obj

object to outset

-> obj

resulting object

Outset an object.

shell Source

Arguments

::

width of shell

-> obj

object to take shell of

-> obj

resulting shell

Make a shell of an object.

getBox Source

Arguments

:: obj

Object to get box of

-> (vec, vec)

Bounding box

Get the bounding box an object

getImplicit Source

Arguments

:: obj

Object to get implicit function of

-> vec ->

Implicit function

Get the implicit function for an object

implicit Source

Arguments

:: (vec -> )

Implicit function

-> (vec, vec)

Bounding box

-> obj

Resulting object

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

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

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