module HGamer3D.Bindings.Ogre.ClassFrustum where
import Foreign
import Foreign.Ptr
import Foreign.C
import HGamer3D.Data.HG3DClass
import HGamer3D.Data.Vector
import HGamer3D.Data.Colour
import HGamer3D.Data.Angle
import HGamer3D.Bindings.Ogre.Utils
import HGamer3D.Bindings.Ogre.ClassPtr
import HGamer3D.Bindings.Ogre.StructHG3DClass
import HGamer3D.Bindings.Ogre.StructRadians
import HGamer3D.Bindings.Ogre.StructVec2
import HGamer3D.Bindings.Ogre.StructVec3
import HGamer3D.Bindings.Ogre.EnumFrustumPlane
import HGamer3D.Bindings.Ogre.StructSharedPtr
import HGamer3D.Bindings.Ogre.EnumProjectionType
import HGamer3D.Bindings.Ogre.StructQuaternion
import HGamer3D.Bindings.Ogre.EnumOrientationMode
new :: String
-> IO (HG3DClass)
new a1 =
withCString a1 $ \a1' ->
alloca $ \a2' ->
new'_ a1' a2' >>= \res ->
peek a2'>>= \a2'' ->
return (a2'')
delete :: HG3DClass
-> IO ()
delete a1 =
withHG3DClass a1 $ \a1' ->
delete'_ a1' >>= \res ->
return ()
setFOVy :: HG3DClass
-> Radians
-> IO ()
setFOVy a1 a2 =
withHG3DClass a1 $ \a1' ->
withRadians a2 $ \a2' ->
setFOVy'_ a1' a2' >>= \res ->
return ()
getFOVy :: HG3DClass
-> IO (Radians)
getFOVy a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getFOVy'_ a1' a2' >>= \res ->
peekRadians a2'>>= \a2'' ->
return (a2'')
setNearClipDistance :: HG3DClass
-> Float
-> IO ()
setNearClipDistance a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
setNearClipDistance'_ a1' a2' >>= \res ->
return ()
getNearClipDistance :: HG3DClass
-> IO (Float)
getNearClipDistance a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getNearClipDistance'_ a1' a2' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
return (a2'')
setFarClipDistance :: HG3DClass
-> Float
-> IO ()
setFarClipDistance a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
setFarClipDistance'_ a1' a2' >>= \res ->
return ()
getFarClipDistance :: HG3DClass
-> IO (Float)
getFarClipDistance a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getFarClipDistance'_ a1' a2' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
return (a2'')
setAspectRatio :: HG3DClass
-> Float
-> IO ()
setAspectRatio a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
setAspectRatio'_ a1' a2' >>= \res ->
return ()
getAspectRatio :: HG3DClass
-> IO (Float)
getAspectRatio a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getAspectRatio'_ a1' a2' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
return (a2'')
setFrustumOffset :: HG3DClass
-> Vec2
-> IO ()
setFrustumOffset a1 a2 =
withHG3DClass a1 $ \a1' ->
withVec2 a2 $ \a2' ->
setFrustumOffset'_ a1' a2' >>= \res ->
return ()
setFrustumOffset2 :: HG3DClass
-> Float
-> Float
-> IO ()
setFrustumOffset2 a1 a2 a3 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
let {a3' = realToFrac a3} in
setFrustumOffset2'_ a1' a2' a3' >>= \res ->
return ()
getFrustumOffset :: HG3DClass
-> IO (Vec2)
getFrustumOffset a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getFrustumOffset'_ a1' a2' >>= \res ->
peekVec2 a2'>>= \a2'' ->
return (a2'')
setFocalLength :: HG3DClass
-> Float
-> IO ()
setFocalLength a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
setFocalLength'_ a1' a2' >>= \res ->
return ()
getFocalLength :: HG3DClass
-> IO (Float)
getFocalLength a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getFocalLength'_ a1' a2' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
return (a2'')
setFrustumExtents :: HG3DClass
-> Float
-> Float
-> Float
-> Float
-> IO ()
setFrustumExtents a1 a2 a3 a4 a5 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
let {a3' = realToFrac a3} in
let {a4' = realToFrac a4} in
let {a5' = realToFrac a5} in
setFrustumExtents'_ a1' a2' a3' a4' a5' >>= \res ->
return ()
resetFrustumExtents :: HG3DClass
-> IO ()
resetFrustumExtents a1 =
withHG3DClass a1 $ \a1' ->
resetFrustumExtents'_ a1' >>= \res ->
return ()
getFrustumExtents :: HG3DClass
-> IO (Float, Float, Float, Float)
getFrustumExtents a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
alloca $ \a5' ->
getFrustumExtents'_ a1' a2' a3' a4' a5' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
peekFloatConv a3'>>= \a3'' ->
peekFloatConv a4'>>= \a4'' ->
peekFloatConv a5'>>= \a5'' ->
return (a2'', a3'', a4'', a5'')
isCustomViewMatrixEnabled :: HG3DClass
-> IO (Bool)
isCustomViewMatrixEnabled a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
isCustomViewMatrixEnabled'_ a1' a2' >>= \res ->
peekBoolUtil a2'>>= \a2'' ->
return (a2'')
isCustomProjectionMatrixEnabled :: HG3DClass
-> IO (Bool)
isCustomProjectionMatrixEnabled a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
isCustomProjectionMatrixEnabled'_ a1' a2' >>= \res ->
peekBoolUtil a2'>>= \a2'' ->
return (a2'')
isVisible3 :: HG3DClass
-> Vec3
-> IO (EnumFrustumPlane, Bool)
isVisible3 a1 a2 =
withHG3DClass a1 $ \a1' ->
withVec3 a2 $ \a2' ->
alloca $ \a3' ->
alloca $ \a4' ->
isVisible3'_ a1' a2' a3' a4' >>= \res ->
peekEnumUtil a3'>>= \a3'' ->
peekBoolUtil a4'>>= \a4'' ->
return (a3'', a4'')
getTypeFlags :: HG3DClass
-> IO (Int)
getTypeFlags a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getTypeFlags'_ a1' a2' >>= \res ->
peekIntConv a2'>>= \a2'' ->
return (a2'')
getBoundingRadius :: HG3DClass
-> IO (Float)
getBoundingRadius a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getBoundingRadius'_ a1' a2' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
return (a2'')
getMovableType :: HG3DClass
-> IO (String)
getMovableType a1 =
withHG3DClass a1 $ \a1' ->
alloc64k $ \a2' ->
getMovableType'_ a1' a2' >>= \res ->
peekCString a2'>>= \a2'' ->
return (a2'')
getMaterial :: HG3DClass
-> IO (SharedPtr)
getMaterial a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getMaterial'_ a1' a2' >>= \res ->
peekSharedPtr a2'>>= \a2'' ->
return (a2'')
getSquaredViewDepth :: HG3DClass
-> HG3DClass
-> IO (Float)
getSquaredViewDepth a1 a2 =
withHG3DClass a1 $ \a1' ->
withHG3DClass a2 $ \a2' ->
alloca $ \a3' ->
getSquaredViewDepth'_ a1' a2' a3' >>= \res ->
peekFloatConv a3'>>= \a3'' ->
return (a3'')
getWorldSpaceCorners :: HG3DClass
-> IO (Vec3)
getWorldSpaceCorners a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getWorldSpaceCorners'_ a1' a2' >>= \res ->
peekVec3 a2'>>= \a2'' ->
return (a2'')
setProjectionType :: HG3DClass
-> EnumProjectionType
-> IO ()
setProjectionType a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = cIntFromEnum a2} in
setProjectionType'_ a1' a2' >>= \res ->
return ()
getProjectionType :: HG3DClass
-> IO (EnumProjectionType)
getProjectionType a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getProjectionType'_ a1' a2' >>= \res ->
peekEnumUtil a2'>>= \a2'' ->
return (a2'')
setOrthoWindow :: HG3DClass
-> Float
-> Float
-> IO ()
setOrthoWindow a1 a2 a3 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
let {a3' = realToFrac a3} in
setOrthoWindow'_ a1' a2' a3' >>= \res ->
return ()
setOrthoWindowHeight :: HG3DClass
-> Float
-> IO ()
setOrthoWindowHeight a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
setOrthoWindowHeight'_ a1' a2' >>= \res ->
return ()
setOrthoWindowWidth :: HG3DClass
-> Float
-> IO ()
setOrthoWindowWidth a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = realToFrac a2} in
setOrthoWindowWidth'_ a1' a2' >>= \res ->
return ()
getOrthoWindowHeight :: HG3DClass
-> IO (Float)
getOrthoWindowHeight a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getOrthoWindowHeight'_ a1' a2' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
return (a2'')
getOrthoWindowWidth :: HG3DClass
-> IO (Float)
getOrthoWindowWidth a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getOrthoWindowWidth'_ a1' a2' >>= \res ->
peekFloatConv a2'>>= \a2'' ->
return (a2'')
disableReflection :: HG3DClass
-> IO ()
disableReflection a1 =
withHG3DClass a1 $ \a1' ->
disableReflection'_ a1' >>= \res ->
return ()
isReflected :: HG3DClass
-> IO (Bool)
isReflected a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
isReflected'_ a1' a2' >>= \res ->
peekBoolUtil a2'>>= \a2'' ->
return (a2'')
disableCustomNearClipPlane :: HG3DClass
-> IO ()
disableCustomNearClipPlane a1 =
withHG3DClass a1 $ \a1' ->
disableCustomNearClipPlane'_ a1' >>= \res ->
return ()
isCustomNearClipPlaneEnabled :: HG3DClass
-> IO (Bool)
isCustomNearClipPlaneEnabled a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
isCustomNearClipPlaneEnabled'_ a1' a2' >>= \res ->
peekBoolUtil a2'>>= \a2'' ->
return (a2'')
getPositionForViewUpdate :: HG3DClass
-> IO (Vec3)
getPositionForViewUpdate a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getPositionForViewUpdate'_ a1' a2' >>= \res ->
peekVec3 a2'>>= \a2'' ->
return (a2'')
getOrientationForViewUpdate :: HG3DClass
-> IO (Quaternion)
getOrientationForViewUpdate a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getOrientationForViewUpdate'_ a1' a2' >>= \res ->
peekQuaternion a2'>>= \a2'' ->
return (a2'')
setOrientationMode :: HG3DClass
-> EnumOrientationMode
-> IO ()
setOrientationMode a1 a2 =
withHG3DClass a1 $ \a1' ->
let {a2' = cIntFromEnum a2} in
setOrientationMode'_ a1' a2' >>= \res ->
return ()
getOrientationMode :: HG3DClass
-> IO (EnumOrientationMode)
getOrientationMode a1 =
withHG3DClass a1 $ \a1' ->
alloca $ \a2' ->
getOrientationMode'_ a1' a2' >>= \res ->
peekEnumUtil a2'>>= \a2'' ->
return (a2'')
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_construct"
new'_ :: ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_destruct"
delete'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setFOVy"
setFOVy'_ :: ((HG3DClassPtr) -> ((RadiansPtr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getFOVy"
getFOVy'_ :: ((HG3DClassPtr) -> ((RadiansPtr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setNearClipDistance"
setNearClipDistance'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getNearClipDistance"
getNearClipDistance'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setFarClipDistance"
setFarClipDistance'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getFarClipDistance"
getFarClipDistance'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setAspectRatio"
setAspectRatio'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getAspectRatio"
getAspectRatio'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setFrustumOffset"
setFrustumOffset'_ :: ((HG3DClassPtr) -> ((Vec2Ptr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setFrustumOffset2"
setFrustumOffset2'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getFrustumOffset"
getFrustumOffset'_ :: ((HG3DClassPtr) -> ((Vec2Ptr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setFocalLength"
setFocalLength'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getFocalLength"
getFocalLength'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setFrustumExtents"
setFrustumExtents'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> (CFloat -> (CFloat -> (IO ()))))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_resetFrustumExtents"
resetFrustumExtents'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getFrustumExtents"
getFrustumExtents'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> ((Ptr CFloat) -> (IO ()))))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_isCustomViewMatrixEnabled"
isCustomViewMatrixEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_isCustomProjectionMatrixEnabled"
isCustomProjectionMatrixEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_isVisible3"
isVisible3'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> ((Ptr CInt) -> ((Ptr CInt) -> (IO ())))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getTypeFlags"
getTypeFlags'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getBoundingRadius"
getBoundingRadius'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getMovableType"
getMovableType'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getMaterial"
getMaterial'_ :: ((HG3DClassPtr) -> ((SharedPtrPtr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getSquaredViewDepth"
getSquaredViewDepth'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getWorldSpaceCorners"
getWorldSpaceCorners'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setProjectionType"
setProjectionType'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getProjectionType"
getProjectionType'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setOrthoWindow"
setOrthoWindow'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> (IO ()))))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setOrthoWindowHeight"
setOrthoWindowHeight'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setOrthoWindowWidth"
setOrthoWindowWidth'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getOrthoWindowHeight"
getOrthoWindowHeight'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getOrthoWindowWidth"
getOrthoWindowWidth'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_disableReflection"
disableReflection'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_isReflected"
isReflected'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_disableCustomNearClipPlane"
disableCustomNearClipPlane'_ :: ((HG3DClassPtr) -> (IO ()))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_isCustomNearClipPlaneEnabled"
isCustomNearClipPlaneEnabled'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getPositionForViewUpdate"
getPositionForViewUpdate'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getOrientationForViewUpdate"
getOrientationForViewUpdate'_ :: ((HG3DClassPtr) -> ((QuaternionPtr) -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_setOrientationMode"
setOrientationMode'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))
foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassFrustum.chs.h ogre_frst_getOrientationMode"
getOrientationMode'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))