packages feed

HGamer3D-Ogre-Binding-0.5.0: HGamer3D/Bindings/Ogre/ClassCamera.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.
-- 


-- ClassCamera.chs

-- 

module HGamer3D.Bindings.Ogre.ClassCamera 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.StructVec3 #}
{# import HGamer3D.Bindings.Ogre.StructRadians #}
{# import HGamer3D.Bindings.Ogre.StructQuaternion #}
{# import HGamer3D.Bindings.Ogre.EnumFrustumPlane #}

#include "ClassCamera.h"
{- function Camera -}
{#fun ogre_cam_construct as new 
{ withCString* `String' ,
 withHG3DClass* `HG3DClass' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function ~Camera -}
{#fun ogre_cam_destruct as delete 
{ withHG3DClass* `HG3DClass' } -> `()'  #}

{- function getSceneManager -}
{#fun ogre_cam_getSceneManager as getSceneManager 
{ withHG3DClass* `HG3DClass' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function setPosition -}
{#fun ogre_cam_setPosition as setPosition 
{ withHG3DClass* `HG3DClass' ,
 realToFrac `Float' ,
 realToFrac `Float' ,
 realToFrac `Float' } -> `()'  #}

{- function setPosition2 -}
{#fun ogre_cam_setPosition2 as setPosition2 
{ withHG3DClass* `HG3DClass' ,
 withVec3* `Vec3' } -> `()'  #}

{- function getPosition -}
{#fun ogre_cam_getPosition as getPosition 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function move -}
{#fun ogre_cam_move as move 
{ withHG3DClass* `HG3DClass' ,
 withVec3* `Vec3' } -> `()'  #}

{- function moveRelative -}
{#fun ogre_cam_moveRelative as moveRelative 
{ withHG3DClass* `HG3DClass' ,
 withVec3* `Vec3' } -> `()'  #}

{- function setDirection -}
{#fun ogre_cam_setDirection as setDirection 
{ withHG3DClass* `HG3DClass' ,
 realToFrac `Float' ,
 realToFrac `Float' ,
 realToFrac `Float' } -> `()'  #}

{- function setDirection2 -}
{#fun ogre_cam_setDirection2 as setDirection2 
{ withHG3DClass* `HG3DClass' ,
 withVec3* `Vec3' } -> `()'  #}

{- function getDirection -}
{#fun ogre_cam_getDirection as getDirection 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getUp -}
{#fun ogre_cam_getUp as getUp 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getRight -}
{#fun ogre_cam_getRight as getRight 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function lookAt -}
{#fun ogre_cam_lookAt as lookAt 
{ withHG3DClass* `HG3DClass' ,
 withVec3* `Vec3' } -> `()'  #}

{- function lookAt2 -}
{#fun ogre_cam_lookAt2 as lookAt2 
{ withHG3DClass* `HG3DClass' ,
 realToFrac `Float' ,
 realToFrac `Float' ,
 realToFrac `Float' } -> `()'  #}

{- function roll -}
{#fun ogre_cam_roll as roll 
{ withHG3DClass* `HG3DClass' ,
 withRadians* `Radians' } -> `()'  #}

{- function yaw -}
{#fun ogre_cam_yaw as yaw 
{ withHG3DClass* `HG3DClass' ,
 withRadians* `Radians' } -> `()'  #}

{- function pitch -}
{#fun ogre_cam_pitch as pitch 
{ withHG3DClass* `HG3DClass' ,
 withRadians* `Radians' } -> `()'  #}

{- function rotate -}
{#fun ogre_cam_rotate as rotate 
{ withHG3DClass* `HG3DClass' ,
 withVec3* `Vec3' ,
 withRadians* `Radians' } -> `()'  #}

{- function rotate2 -}
{#fun ogre_cam_rotate2 as rotate2 
{ withHG3DClass* `HG3DClass' ,
 withQuaternion* `Quaternion' } -> `()'  #}

{- function setFixedYawAxis -}
{#fun ogre_cam_setFixedYawAxis as setFixedYawAxis 
{ withHG3DClass* `HG3DClass' ,
 fromBool `Bool' ,
 withVec3* `Vec3' } -> `()'  #}

{- function getOrientation -}
{#fun ogre_cam_getOrientation as getOrientation 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Quaternion' peekQuaternion*} -> `()'  #}

{- function setOrientation -}
{#fun ogre_cam_setOrientation as setOrientation 
{ withHG3DClass* `HG3DClass' ,
 withQuaternion* `Quaternion' } -> `()'  #}

{- function getDerivedOrientation -}
{#fun ogre_cam_getDerivedOrientation as getDerivedOrientation 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Quaternion' peekQuaternion*} -> `()'  #}

{- function getDerivedPosition -}
{#fun ogre_cam_getDerivedPosition as getDerivedPosition 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getDerivedDirection -}
{#fun ogre_cam_getDerivedDirection as getDerivedDirection 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getDerivedUp -}
{#fun ogre_cam_getDerivedUp as getDerivedUp 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getDerivedRight -}
{#fun ogre_cam_getDerivedRight as getDerivedRight 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getRealOrientation -}
{#fun ogre_cam_getRealOrientation as getRealOrientation 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Quaternion' peekQuaternion*} -> `()'  #}

{- function getRealPosition -}
{#fun ogre_cam_getRealPosition as getRealPosition 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getRealDirection -}
{#fun ogre_cam_getRealDirection as getRealDirection 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getRealUp -}
{#fun ogre_cam_getRealUp as getRealUp 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getRealRight -}
{#fun ogre_cam_getRealRight as getRealRight 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getMovableType -}
{#fun ogre_cam_getMovableType as getMovableType 
{ withHG3DClass* `HG3DClass' ,
 alloc64k- `String' peekCString*} -> `()'  #}

{- function setLodBias -}
{#fun ogre_cam_setLodBias as setLodBias 
{ withHG3DClass* `HG3DClass' ,
 realToFrac `Float' } -> `()'  #}

{- function getLodBias -}
{#fun ogre_cam_getLodBias as getLodBias 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Float' peekFloatConv*} -> `()'  #}

{- function setLodCamera -}
{#fun ogre_cam_setLodCamera as setLodCamera 
{ withHG3DClass* `HG3DClass' ,
 withHG3DClass* `HG3DClass' } -> `()'  #}

{- function getLodCamera -}
{#fun ogre_cam_getLodCamera as getLodCamera 
{ withHG3DClass* `HG3DClass' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function setWindow -}
{#fun ogre_cam_setWindow as setWindow 
{ withHG3DClass* `HG3DClass' ,
 realToFrac `Float' ,
 realToFrac `Float' ,
 realToFrac `Float' ,
 realToFrac `Float' } -> `()'  #}

{- function resetWindow -}
{#fun ogre_cam_resetWindow as resetWindow 
{ withHG3DClass* `HG3DClass' } -> `()'  #}

{- function isWindowSet -}
{#fun ogre_cam_isWindowSet as isWindowSet 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Bool' peekBoolUtil*} -> `()'  #}

{- function getBoundingRadius -}
{#fun ogre_cam_getBoundingRadius as getBoundingRadius 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Float' peekFloatConv*} -> `()'  #}

{- function getAutoTrackTarget -}
{#fun ogre_cam_getAutoTrackTarget as getAutoTrackTarget 
{ withHG3DClass* `HG3DClass' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function getAutoTrackOffset -}
{#fun ogre_cam_getAutoTrackOffset as getAutoTrackOffset 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getViewport -}
{#fun ogre_cam_getViewport as getViewport 
{ withHG3DClass* `HG3DClass' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function setAutoAspectRatio -}
{#fun ogre_cam_setAutoAspectRatio as setAutoAspectRatio 
{ withHG3DClass* `HG3DClass' ,
 fromBool `Bool' } -> `()'  #}

{- function getAutoAspectRatio -}
{#fun ogre_cam_getAutoAspectRatio as getAutoAspectRatio 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Bool' peekBoolUtil*} -> `()'  #}

{- function setCullingFrustum -}
{#fun ogre_cam_setCullingFrustum as setCullingFrustum 
{ withHG3DClass* `HG3DClass' ,
 withHG3DClass* `HG3DClass' } -> `()'  #}

{- function getCullingFrustum -}
{#fun ogre_cam_getCullingFrustum as getCullingFrustum 
{ withHG3DClass* `HG3DClass' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function isVisible3 -}
{#fun ogre_cam_isVisible3 as isVisible3 
{ withHG3DClass* `HG3DClass' ,
 withVec3* `Vec3' ,
 alloca- `EnumFrustumPlane' peekEnumUtil*,
 alloca- `Bool' peekBoolUtil*} -> `()'  #}

{- function getWorldSpaceCorners -}
{#fun ogre_cam_getWorldSpaceCorners as getWorldSpaceCorners 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getNearClipDistance -}
{#fun ogre_cam_getNearClipDistance as getNearClipDistance 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Float' peekFloatConv*} -> `()'  #}

{- function getFarClipDistance -}
{#fun ogre_cam_getFarClipDistance as getFarClipDistance 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Float' peekFloatConv*} -> `()'  #}

{- function setUseRenderingDistance -}
{#fun ogre_cam_setUseRenderingDistance as setUseRenderingDistance 
{ withHG3DClass* `HG3DClass' ,
 fromBool `Bool' } -> `()'  #}

{- function getUseRenderingDistance -}
{#fun ogre_cam_getUseRenderingDistance as getUseRenderingDistance 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Bool' peekBoolUtil*} -> `()'  #}

{- function synchroniseBaseSettingsWith -}
{#fun ogre_cam_synchroniseBaseSettingsWith as synchroniseBaseSettingsWith 
{ withHG3DClass* `HG3DClass' ,
 withHG3DClass* `HG3DClass' } -> `()'  #}

{- function getPositionForViewUpdate -}
{#fun ogre_cam_getPositionForViewUpdate as getPositionForViewUpdate 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Vec3' peekVec3*} -> `()'  #}

{- function getOrientationForViewUpdate -}
{#fun ogre_cam_getOrientationForViewUpdate as getOrientationForViewUpdate 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Quaternion' peekQuaternion*} -> `()'  #}

{- function setUseMinPixelSize -}
{#fun ogre_cam_setUseMinPixelSize as setUseMinPixelSize 
{ withHG3DClass* `HG3DClass' ,
 fromBool `Bool' } -> `()'  #}

{- function getUseMinPixelSize -}
{#fun ogre_cam_getUseMinPixelSize as getUseMinPixelSize 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Bool' peekBoolUtil*} -> `()'  #}

{- function getPixelDisplayRatio -}
{#fun ogre_cam_getPixelDisplayRatio as getPixelDisplayRatio 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Float' peekFloatConv*} -> `()'  #}