HGamer3D-Ogre-Binding-0.3.0: HGamer3D/Bindings/Ogre/ClassFrustum.chs
{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE TypeSynonymInstances #-}
-- This source file is part of HGamer3D, a project to enable 3D game development
-- in Haskell. For the latest info, see http://www.hgamer3d.org .
--
-- (c) 2011-2014 Peter Althainz
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
-- You may obtain a copy of the License at
--
-- http://www.apache.org/licenses/LICENSE-2.0
--
-- Unless required by applicable law or agreed to in writing, software
-- distributed under the License is distributed on an "AS IS" BASIS,
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- See the License for the specific language governing permissions and
-- limitations under the License.
--
-- ClassFrustum.chs
--
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 #}
#include "ClassFrustum.h"
{- function Frustum -}
{#fun ogre_frst_construct as new
{ withCString* `String' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function ~Frustum -}
{#fun ogre_frst_destruct as delete
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function setFOVy -}
{#fun ogre_frst_setFOVy as setFOVy
{ withHG3DClass* `HG3DClass' ,
withRadians* `Radians' } -> `()' #}
{- function getFOVy -}
{#fun ogre_frst_getFOVy as getFOVy
{ withHG3DClass* `HG3DClass' ,
alloca- `Radians' peekRadians*} -> `()' #}
{- function setNearClipDistance -}
{#fun ogre_frst_setNearClipDistance as setNearClipDistance
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' } -> `()' #}
{- function getNearClipDistance -}
{#fun ogre_frst_getNearClipDistance as getNearClipDistance
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function setFarClipDistance -}
{#fun ogre_frst_setFarClipDistance as setFarClipDistance
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' } -> `()' #}
{- function getFarClipDistance -}
{#fun ogre_frst_getFarClipDistance as getFarClipDistance
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function setAspectRatio -}
{#fun ogre_frst_setAspectRatio as setAspectRatio
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' } -> `()' #}
{- function getAspectRatio -}
{#fun ogre_frst_getAspectRatio as getAspectRatio
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function setFrustumOffset -}
{#fun ogre_frst_setFrustumOffset as setFrustumOffset
{ withHG3DClass* `HG3DClass' ,
withVec2* `Vec2' } -> `()' #}
{- function setFrustumOffset2 -}
{#fun ogre_frst_setFrustumOffset2 as setFrustumOffset2
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' ,
realToFrac `Float' } -> `()' #}
{- function getFrustumOffset -}
{#fun ogre_frst_getFrustumOffset as getFrustumOffset
{ withHG3DClass* `HG3DClass' ,
alloca- `Vec2' peekVec2*} -> `()' #}
{- function setFocalLength -}
{#fun ogre_frst_setFocalLength as setFocalLength
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' } -> `()' #}
{- function getFocalLength -}
{#fun ogre_frst_getFocalLength as getFocalLength
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function setFrustumExtents -}
{#fun ogre_frst_setFrustumExtents as setFrustumExtents
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' ,
realToFrac `Float' ,
realToFrac `Float' ,
realToFrac `Float' } -> `()' #}
{- function resetFrustumExtents -}
{#fun ogre_frst_resetFrustumExtents as resetFrustumExtents
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function getFrustumExtents -}
{#fun ogre_frst_getFrustumExtents as getFrustumExtents
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*,
alloca- `Float' peekFloatConv*,
alloca- `Float' peekFloatConv*,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function isCustomViewMatrixEnabled -}
{#fun ogre_frst_isCustomViewMatrixEnabled as isCustomViewMatrixEnabled
{ withHG3DClass* `HG3DClass' ,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function isCustomProjectionMatrixEnabled -}
{#fun ogre_frst_isCustomProjectionMatrixEnabled as isCustomProjectionMatrixEnabled
{ withHG3DClass* `HG3DClass' ,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function isVisible3 -}
{#fun ogre_frst_isVisible3 as isVisible3
{ withHG3DClass* `HG3DClass' ,
withVec3* `Vec3' ,
alloca- `EnumFrustumPlane' peekEnumUtil*,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function getTypeFlags -}
{#fun ogre_frst_getTypeFlags as getTypeFlags
{ withHG3DClass* `HG3DClass' ,
alloca- `Int' peekIntConv*} -> `()' #}
{- function getBoundingRadius -}
{#fun ogre_frst_getBoundingRadius as getBoundingRadius
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function getMovableType -}
{#fun ogre_frst_getMovableType as getMovableType
{ withHG3DClass* `HG3DClass' ,
alloc64k- `String' peekCString*} -> `()' #}
{- function getMaterial -}
{#fun ogre_frst_getMaterial as getMaterial
{ withHG3DClass* `HG3DClass' ,
alloca- `SharedPtr' peekSharedPtr*} -> `()' #}
{- function getSquaredViewDepth -}
{#fun ogre_frst_getSquaredViewDepth as getSquaredViewDepth
{ withHG3DClass* `HG3DClass' ,
withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function getWorldSpaceCorners -}
{#fun ogre_frst_getWorldSpaceCorners as getWorldSpaceCorners
{ withHG3DClass* `HG3DClass' ,
alloca- `Vec3' peekVec3*} -> `()' #}
{- function setProjectionType -}
{#fun ogre_frst_setProjectionType as setProjectionType
{ withHG3DClass* `HG3DClass' ,
cIntFromEnum `EnumProjectionType' } -> `()' #}
{- function getProjectionType -}
{#fun ogre_frst_getProjectionType as getProjectionType
{ withHG3DClass* `HG3DClass' ,
alloca- `EnumProjectionType' peekEnumUtil*} -> `()' #}
{- function setOrthoWindow -}
{#fun ogre_frst_setOrthoWindow as setOrthoWindow
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' ,
realToFrac `Float' } -> `()' #}
{- function setOrthoWindowHeight -}
{#fun ogre_frst_setOrthoWindowHeight as setOrthoWindowHeight
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' } -> `()' #}
{- function setOrthoWindowWidth -}
{#fun ogre_frst_setOrthoWindowWidth as setOrthoWindowWidth
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' } -> `()' #}
{- function getOrthoWindowHeight -}
{#fun ogre_frst_getOrthoWindowHeight as getOrthoWindowHeight
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function getOrthoWindowWidth -}
{#fun ogre_frst_getOrthoWindowWidth as getOrthoWindowWidth
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function disableReflection -}
{#fun ogre_frst_disableReflection as disableReflection
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function isReflected -}
{#fun ogre_frst_isReflected as isReflected
{ withHG3DClass* `HG3DClass' ,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function disableCustomNearClipPlane -}
{#fun ogre_frst_disableCustomNearClipPlane as disableCustomNearClipPlane
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function isCustomNearClipPlaneEnabled -}
{#fun ogre_frst_isCustomNearClipPlaneEnabled as isCustomNearClipPlaneEnabled
{ withHG3DClass* `HG3DClass' ,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function getPositionForViewUpdate -}
{#fun ogre_frst_getPositionForViewUpdate as getPositionForViewUpdate
{ withHG3DClass* `HG3DClass' ,
alloca- `Vec3' peekVec3*} -> `()' #}
{- function getOrientationForViewUpdate -}
{#fun ogre_frst_getOrientationForViewUpdate as getOrientationForViewUpdate
{ withHG3DClass* `HG3DClass' ,
alloca- `Quaternion' peekQuaternion*} -> `()' #}
{- function setOrientationMode -}
{#fun ogre_frst_setOrientationMode as setOrientationMode
{ withHG3DClass* `HG3DClass' ,
cIntFromEnum `EnumOrientationMode' } -> `()' #}
{- function getOrientationMode -}
{#fun ogre_frst_getOrientationMode as getOrientationMode
{ withHG3DClass* `HG3DClass' ,
alloca- `EnumOrientationMode' peekEnumUtil*} -> `()' #}