pang-a-lambda-0.2.0.0: src/Physics/TwoDimensions/PhysicalObjects.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
module Physics.TwoDimensions.PhysicalObjects where
import Physics.TwoDimensions.Dimensions
class Eq b => PhysicalObject a b c | a -> b, a -> c where
physObjectPos :: a -> Pos2D
physObjectVel :: a -> Vel2D
physObjectElas :: a -> Double
physObjectShape :: a -> c
physObjectCollides :: a -> Bool
physObjectId :: a -> b
physObjectUpdatePos :: a -> Pos2D -> a
physObjectUpdateVel :: a -> Vel2D -> a