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

Safe HaskellNone

Graphics.Implicit.Primitives

Synopsis

Documentation

3D Primitives

sphereSource

Arguments

::

Radius of the sphere

-> SymbolicObj3

Resulting sphere

rect3RSource

Arguments

::

Rounding of corners

-> ℝ3

Bottom.. corner

-> ℝ3

Top right... corner

-> SymbolicObj3

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

cylinder2Source

Arguments

::

Radius of the cylinder

->

Second radius of the cylinder

->

Height of the cylinder

-> SymbolicObj3

Resulting cylinder

2D Primitives

circleSource

Arguments

::

radius of the circle

-> SymbolicObj2

resulting circle

rectRSource

Arguments

::  
-> ℝ2

Bottom left corner

-> ℝ2

Top right corner

-> SymbolicObj2

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

polygonRSource

Arguments

::

Rouding of the polygon

-> [ℝ2]

Verticies of the polygon

-> SymbolicObj2

Resulting polygon

Shared Operations

class Object obj vec | obj -> vec whereSource

Methods

translateSource

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.

scaleSource

Arguments

:: vec

Amount to scale by

-> obj

Object to scale

-> obj

Resulting scaled object

Scale an object

complementSource

Arguments

:: obj

Object to complement

-> obj

Result

Complement an Object

unionRSource

Arguments

::

The radius of rounding

-> [obj]

objects to union

-> obj

Resulting object

Rounded union

intersectRSource

Arguments

::

The radius of rounding

-> [obj]

Objects to intersect

-> obj

Resulting object

Rounded minimum

differenceRSource

Arguments

::

The radius of rounding

-> [obj]

Objects to difference

-> obj

Resulting object

Rounded difference

outsetSource

Arguments

::

distance to outset

-> obj

object to outset

-> obj

resulting object

Outset an object.

shellSource

Arguments

::

width of shell

-> obj

object to take shell of

-> obj

resulting shell

Make a shell of an object.

getBoxSource

Arguments

:: obj

Object to get box of

-> (vec, vec)

Bounding box

Get the bounding box an object

getImplicitSource

Arguments

:: obj

Object to get implicit function of

-> vec ->

Implicit function

Get the implicit function for an object

implicitSource

Arguments

:: (vec -> )

Implicit function

-> (vec, vec)

Bounding box

-> obj

Resulting object

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

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

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