HODE-2008.10.27: src/Physics/ODE/Overloading.hs
module Physics.ODE.Overloading where
import Physics.ODE.Types
import Data.Typeable
import Foreign
class HasDestroy a where
destroy :: a -> IO ()
class IsPlaceable a where
getPosition :: a -> IO (ODEreal, ODEreal, ODEreal)
setPosition :: a -> ODEreal -> ODEreal -> ODEreal -> IO ()
getQuaternion :: a -> IO (ODEreal, ODEreal, ODEreal, ODEreal)
setQuaternion :: a -> (ODEreal, ODEreal, ODEreal, ODEreal) -> IO ()
getRotation :: a -> IO Matrix3
setRotation :: a -> Matrix3 -> IO ()
class HasData a where
setRawData :: a -> Ptr b -> IO ()
setData :: a -> b -> IO ()
setSafeData :: Typeable b => a -> b -> IO ()
getRawData :: a -> IO (Ptr b)
getData :: a -> IO b
getSafeData :: Typeable b => a -> IO b
tryGetSafeData :: Typeable b => a -> IO (Maybe b)
class HasEnable a where
enable :: a -> IO ()
disable :: a -> IO ()
isEnabled :: a -> IO Bool