packages feed

implicit-0.0.1: Graphics/Implicit/Operations/SymbolicObj3.hs

-- Implicit CAD. Copyright (C) 2011, Christopher Olah (chris@colah.ca)
-- Released under the GNU GPL, see LICENSE

{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, FlexibleContexts, TypeSynonymInstances, UndecidableInstances #-}

module Graphics.Implicit.Operations.SymbolicObj3 where

import Prelude hiding ((+),(-),(*),(/))
import Graphics.Implicit.Operations.Definitions
import Graphics.Implicit.Definitions
import Graphics.Implicit.MathUtil
import Graphics.Implicit.SaneOperators


instance BasicObj SymbolicObj3 ℝ3 where
	translate = Translate3
	scale     = Scale3
	rotateXY θ= Rotate3 (0,0, θ)
	complement= Complement3
	union     = UnionR3 0
	intersect = IntersectR3 0
	difference= DifferenceR3 0

instance MagnitudeObj SymbolicObj3 where
	outset      = Outset3
	shell       = Shell3
	unionR      = UnionR3 
	intersectR  = UnionR3 
	differenceR = DifferenceR3