-- GENERATED by C->Haskell Compiler, version 0.16.3 Crystal Seed, 24 Jan 2009 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.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.althainz.de/HGamer3D.html
-- 

-- (c) 2011-2013 Peter Althainz
-- 
-- The files are part of HGamer3D (www.hgamer3d.org)
-- 
-- 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.
-- 


-- ClassRoot.chs

-- 

module HGamer3D.Bindings.Ogre.ClassRoot 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
{-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
import HGamer3D.Bindings.Ogre.ClassPtr
{-# LINE 43 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
import HGamer3D.Bindings.Ogre.StructHG3DClass
{-# LINE 44 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}
import HGamer3D.Bindings.Ogre.StructColour
{-# LINE 45 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function Root -}
new :: String -> String -> String -> IO (HG3DClass)
new a1 a2 a3 =
  withCString a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  alloca $ \a4' -> 
  new'_ a1' a2' a3' a4' >>= \res ->
  peek  a4'>>= \a4'' -> 
  return (a4'')
{-# LINE 53 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function ~Root -}
delete :: HG3DClass -> IO ()
delete a1 =
  withHG3DClass a1 $ \a1' -> 
  delete'_ a1' >>= \res ->
  return ()
{-# LINE 57 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function saveConfig -}
saveConfig :: HG3DClass -> IO ()
saveConfig a1 =
  withHG3DClass a1 $ \a1' -> 
  saveConfig'_ a1' >>= \res ->
  return ()
{-# LINE 61 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function restoreConfig -}
restoreConfig :: HG3DClass -> IO (Bool)
restoreConfig a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  restoreConfig'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 66 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function showConfigDialog -}
showConfigDialog :: HG3DClass -> IO (Bool)
showConfigDialog a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  showConfigDialog'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function addRenderSystem -}
addRenderSystem :: HG3DClass -> HG3DClass -> IO ()
addRenderSystem a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  addRenderSystem'_ a1' a2' >>= \res ->
  return ()
{-# LINE 76 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getRenderSystemByName -}
getRenderSystemByName :: HG3DClass -> String -> IO (HG3DClass)
getRenderSystemByName a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  getRenderSystemByName'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 82 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function setRenderSystem -}
setRenderSystem :: HG3DClass -> HG3DClass -> IO ()
setRenderSystem a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  setRenderSystem'_ a1' a2' >>= \res ->
  return ()
{-# LINE 87 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getRenderSystem -}
getRenderSystem :: HG3DClass -> IO (HG3DClass)
getRenderSystem a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getRenderSystem'_ a1' a2' >>= \res ->
  peek  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 92 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function initialise -}
initialise :: HG3DClass -> Bool -> String -> String -> IO (HG3DClass)
initialise a1 a2 a3 a4 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  withCString a3 $ \a3' -> 
  withCString a4 $ \a4' -> 
  alloca $ \a5' -> 
  initialise'_ a1' a2' a3' a4' a5' >>= \res ->
  peek  a5'>>= \a5'' -> 
  return (a5'')
{-# LINE 100 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function isInitialised -}
isInitialised :: HG3DClass -> IO (Bool)
isInitialised a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isInitialised'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 105 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getRemoveRenderQueueStructuresOnClear -}
getRemoveRenderQueueStructuresOnClear :: HG3DClass -> IO (Bool)
getRemoveRenderQueueStructuresOnClear a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getRemoveRenderQueueStructuresOnClear'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 110 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function setRemoveRenderQueueStructuresOnClear -}
setRemoveRenderQueueStructuresOnClear :: HG3DClass -> Bool -> IO ()
setRemoveRenderQueueStructuresOnClear a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  setRemoveRenderQueueStructuresOnClear'_ a1' a2' >>= \res ->
  return ()
{-# LINE 115 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function addSceneManagerFactory -}
addSceneManagerFactory :: HG3DClass -> HG3DClass -> IO ()
addSceneManagerFactory a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  addSceneManagerFactory'_ a1' a2' >>= \res ->
  return ()
{-# LINE 120 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function removeSceneManagerFactory -}
removeSceneManagerFactory :: HG3DClass -> HG3DClass -> IO ()
removeSceneManagerFactory a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  removeSceneManagerFactory'_ a1' a2' >>= \res ->
  return ()
{-# LINE 125 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function createSceneManager -}
createSceneManager :: HG3DClass -> String -> String -> IO (HG3DClass)
createSceneManager a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  alloca $ \a4' -> 
  createSceneManager'_ a1' a2' a3' a4' >>= \res ->
  peek  a4'>>= \a4'' -> 
  return (a4'')
{-# LINE 132 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function destroySceneManager -}
destroySceneManager :: HG3DClass -> HG3DClass -> IO ()
destroySceneManager a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  destroySceneManager'_ a1' a2' >>= \res ->
  return ()
{-# LINE 137 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getSceneManager -}
getSceneManager :: HG3DClass -> String -> IO (HG3DClass)
getSceneManager a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  getSceneManager'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 143 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function hasSceneManager -}
hasSceneManager :: HG3DClass -> String -> IO (Bool)
hasSceneManager a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  hasSceneManager'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 149 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getTextureManager -}
getTextureManager :: HG3DClass -> IO (HG3DClass)
getTextureManager a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getTextureManager'_ a1' a2' >>= \res ->
  peek  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 154 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getMeshManager -}
getMeshManager :: HG3DClass -> IO (HG3DClass)
getMeshManager a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getMeshManager'_ a1' a2' >>= \res ->
  peek  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 159 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getErrorDescription -}
getErrorDescription :: HG3DClass -> Int -> IO (String)
getErrorDescription a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloc64k $ \a3' -> 
  getErrorDescription'_ a1' a2' a3' >>= \res ->
  peekCString  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 165 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function queueEndRendering -}
queueEndRendering :: HG3DClass -> IO ()
queueEndRendering a1 =
  withHG3DClass a1 $ \a1' -> 
  queueEndRendering'_ a1' >>= \res ->
  return ()
{-# LINE 169 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function startRendering -}
startRendering :: HG3DClass -> IO ()
startRendering a1 =
  withHG3DClass a1 $ \a1' -> 
  startRendering'_ a1' >>= \res ->
  return ()
{-# LINE 173 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function renderOneFrame -}
renderOneFrame :: HG3DClass -> IO (Bool)
renderOneFrame a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  renderOneFrame'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 178 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function renderOneFrame2 -}
renderOneFrame2 :: HG3DClass -> Float -> IO (Bool)
renderOneFrame2 a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  alloca $ \a3' -> 
  renderOneFrame2'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 184 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function shutdown -}
shutdown :: HG3DClass -> IO ()
shutdown a1 =
  withHG3DClass a1 $ \a1' -> 
  shutdown'_ a1' >>= \res ->
  return ()
{-# LINE 188 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function addResourceLocation -}
addResourceLocation :: HG3DClass -> String -> String -> String -> Bool -> IO ()
addResourceLocation a1 a2 a3 a4 a5 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  withCString a4 $ \a4' -> 
  let {a5' = fromBool a5} in 
  addResourceLocation'_ a1' a2' a3' a4' a5' >>= \res ->
  return ()
{-# LINE 196 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function removeResourceLocation -}
removeResourceLocation :: HG3DClass -> String -> String -> IO ()
removeResourceLocation a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  withCString a3 $ \a3' -> 
  removeResourceLocation'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 202 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function convertColourValue -}
convertColourValue :: HG3DClass -> Colour -> IO (Int)
convertColourValue a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withColour a2 $ \a2' -> 
  alloca $ \a3' -> 
  convertColourValue'_ a1' a2' a3' >>= \res ->
  peekIntConv  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 208 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getAutoCreatedWindow -}
getAutoCreatedWindow :: HG3DClass -> IO (HG3DClass)
getAutoCreatedWindow a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getAutoCreatedWindow'_ a1' a2' >>= \res ->
  peek  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 213 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function detachRenderTarget -}
detachRenderTarget :: HG3DClass -> HG3DClass -> IO (HG3DClass)
detachRenderTarget a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  alloca $ \a3' -> 
  detachRenderTarget'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 219 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function detachRenderTarget2 -}
detachRenderTarget2 :: HG3DClass -> String -> IO (HG3DClass)
detachRenderTarget2 a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  detachRenderTarget2'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 225 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function destroyRenderTarget -}
destroyRenderTarget :: HG3DClass -> HG3DClass -> IO ()
destroyRenderTarget a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  destroyRenderTarget'_ a1' a2' >>= \res ->
  return ()
{-# LINE 230 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function destroyRenderTarget2 -}
destroyRenderTarget2 :: HG3DClass -> String -> IO ()
destroyRenderTarget2 a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  destroyRenderTarget2'_ a1' a2' >>= \res ->
  return ()
{-# LINE 235 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getRenderTarget -}
getRenderTarget :: HG3DClass -> String -> IO (HG3DClass)
getRenderTarget a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  getRenderTarget'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 241 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function loadPlugin -}
loadPlugin :: HG3DClass -> String -> IO ()
loadPlugin a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  loadPlugin'_ a1' a2' >>= \res ->
  return ()
{-# LINE 246 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function unloadPlugin -}
unloadPlugin :: HG3DClass -> String -> IO ()
unloadPlugin a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  unloadPlugin'_ a1' a2' >>= \res ->
  return ()
{-# LINE 251 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function destroyRenderQueueInvocationSequence -}
destroyRenderQueueInvocationSequence :: HG3DClass -> String -> IO ()
destroyRenderQueueInvocationSequence a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  destroyRenderQueueInvocationSequence'_ a1' a2' >>= \res ->
  return ()
{-# LINE 256 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function destroyAllRenderQueueInvocationSequences -}
destroyAllRenderQueueInvocationSequences :: HG3DClass -> IO ()
destroyAllRenderQueueInvocationSequences a1 =
  withHG3DClass a1 $ \a1' -> 
  destroyAllRenderQueueInvocationSequences'_ a1' >>= \res ->
  return ()
{-# LINE 260 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function clearEventTimes -}
clearEventTimes :: HG3DClass -> IO ()
clearEventTimes a1 =
  withHG3DClass a1 $ \a1' -> 
  clearEventTimes'_ a1' >>= \res ->
  return ()
{-# LINE 264 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function setFrameSmoothingPeriod -}
setFrameSmoothingPeriod :: HG3DClass -> Float -> IO ()
setFrameSmoothingPeriod a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  setFrameSmoothingPeriod'_ a1' a2' >>= \res ->
  return ()
{-# LINE 269 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getFrameSmoothingPeriod -}
getFrameSmoothingPeriod :: HG3DClass -> IO (Float)
getFrameSmoothingPeriod a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getFrameSmoothingPeriod'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 274 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function addMovableObjectFactory -}
addMovableObjectFactory :: HG3DClass -> HG3DClass -> Bool -> IO ()
addMovableObjectFactory a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  let {a3' = fromBool a3} in 
  addMovableObjectFactory'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 280 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function removeMovableObjectFactory -}
removeMovableObjectFactory :: HG3DClass -> HG3DClass -> IO ()
removeMovableObjectFactory a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  removeMovableObjectFactory'_ a1' a2' >>= \res ->
  return ()
{-# LINE 285 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function hasMovableObjectFactory -}
hasMovableObjectFactory :: HG3DClass -> String -> IO (Bool)
hasMovableObjectFactory a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  hasMovableObjectFactory'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 291 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getMovableObjectFactory -}
getMovableObjectFactory :: HG3DClass -> String -> IO (HG3DClass)
getMovableObjectFactory a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  alloca $ \a3' -> 
  getMovableObjectFactory'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 297 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getDisplayMonitorCount -}
getDisplayMonitorCount :: HG3DClass -> IO (Int)
getDisplayMonitorCount a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getDisplayMonitorCount'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 302 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function setBlendIndicesGpuRedundant -}
setBlendIndicesGpuRedundant :: HG3DClass -> Bool -> IO ()
setBlendIndicesGpuRedundant a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  setBlendIndicesGpuRedundant'_ a1' a2' >>= \res ->
  return ()
{-# LINE 307 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function isBlendIndicesGpuRedundant -}
isBlendIndicesGpuRedundant :: HG3DClass -> IO (Bool)
isBlendIndicesGpuRedundant a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isBlendIndicesGpuRedundant'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 312 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function setBlendWeightsGpuRedundant -}
setBlendWeightsGpuRedundant :: HG3DClass -> Bool -> IO ()
setBlendWeightsGpuRedundant a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  setBlendWeightsGpuRedundant'_ a1' a2' >>= \res ->
  return ()
{-# LINE 317 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function isBlendWeightsGpuRedundant -}
isBlendWeightsGpuRedundant :: HG3DClass -> IO (Bool)
isBlendWeightsGpuRedundant a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isBlendWeightsGpuRedundant'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 322 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function setDefaultMinPixelSize -}
setDefaultMinPixelSize :: HG3DClass -> Float -> IO ()
setDefaultMinPixelSize a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  setDefaultMinPixelSize'_ a1' a2' >>= \res ->
  return ()
{-# LINE 327 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getDefaultMinPixelSize -}
getDefaultMinPixelSize :: HG3DClass -> IO (Float)
getDefaultMinPixelSize a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getDefaultMinPixelSize'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 332 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getSingleton -}
getSingleton :: IO (HG3DClass)
getSingleton =
  alloca $ \a1' -> 
  getSingleton'_ a1' >>= \res ->
  peek  a1'>>= \a1'' -> 
  return (a1'')
{-# LINE 336 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function getSingletonPtr -}
getSingletonPtr :: IO (HG3DClass)
getSingletonPtr =
  alloca $ \a1' -> 
  getSingletonPtr'_ a1' >>= \res ->
  peek  a1'>>= \a1'' -> 
  return (a1'')
{-# LINE 340 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}


foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_construct"
  new'_ :: ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_destruct"
  delete'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_saveConfig"
  saveConfig'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_restoreConfig"
  restoreConfig'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_showConfigDialog"
  showConfigDialog'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_addRenderSystem"
  addRenderSystem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getRenderSystemByName"
  getRenderSystemByName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setRenderSystem"
  setRenderSystem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getRenderSystem"
  getRenderSystem'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_initialise"
  initialise'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_isInitialised"
  isInitialised'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getRemoveRenderQueueStructuresOnClear"
  getRemoveRenderQueueStructuresOnClear'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setRemoveRenderQueueStructuresOnClear"
  setRemoveRenderQueueStructuresOnClear'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_addSceneManagerFactory"
  addSceneManagerFactory'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_removeSceneManagerFactory"
  removeSceneManagerFactory'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_createSceneManager"
  createSceneManager'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ())))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_destroySceneManager"
  destroySceneManager'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getSceneManager"
  getSceneManager'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_hasSceneManager"
  hasSceneManager'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getTextureManager"
  getTextureManager'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getMeshManager"
  getMeshManager'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getErrorDescription"
  getErrorDescription'_ :: ((HG3DClassPtr) -> (CInt -> ((Ptr CChar) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_queueEndRendering"
  queueEndRendering'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_startRendering"
  startRendering'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_renderOneFrame"
  renderOneFrame'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_renderOneFrame2"
  renderOneFrame2'_ :: ((HG3DClassPtr) -> (CFloat -> ((Ptr CInt) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_shutdown"
  shutdown'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_addResourceLocation"
  addResourceLocation'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> ((Ptr CChar) -> (CInt -> (IO ()))))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_removeResourceLocation"
  removeResourceLocation'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CChar) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_convertColourValue"
  convertColourValue'_ :: ((HG3DClassPtr) -> ((ColourPtr) -> ((Ptr CUInt) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getAutoCreatedWindow"
  getAutoCreatedWindow'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_detachRenderTarget"
  detachRenderTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_detachRenderTarget2"
  detachRenderTarget2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_destroyRenderTarget"
  destroyRenderTarget'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_destroyRenderTarget2"
  destroyRenderTarget2'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getRenderTarget"
  getRenderTarget'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_loadPlugin"
  loadPlugin'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_unloadPlugin"
  unloadPlugin'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_destroyRenderQueueInvocationSequence"
  destroyRenderQueueInvocationSequence'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_destroyAllRenderQueueInvocationSequences"
  destroyAllRenderQueueInvocationSequences'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_clearEventTimes"
  clearEventTimes'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setFrameSmoothingPeriod"
  setFrameSmoothingPeriod'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getFrameSmoothingPeriod"
  getFrameSmoothingPeriod'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_addMovableObjectFactory"
  addMovableObjectFactory'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CInt -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_removeMovableObjectFactory"
  removeMovableObjectFactory'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_hasMovableObjectFactory"
  hasMovableObjectFactory'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((Ptr CInt) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getMovableObjectFactory"
  getMovableObjectFactory'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getDisplayMonitorCount"
  getDisplayMonitorCount'_ :: ((HG3DClassPtr) -> ((Ptr CUInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setBlendIndicesGpuRedundant"
  setBlendIndicesGpuRedundant'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_isBlendIndicesGpuRedundant"
  isBlendIndicesGpuRedundant'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setBlendWeightsGpuRedundant"
  setBlendWeightsGpuRedundant'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_isBlendWeightsGpuRedundant"
  isBlendWeightsGpuRedundant'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_setDefaultMinPixelSize"
  setDefaultMinPixelSize'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getDefaultMinPixelSize"
  getDefaultMinPixelSize'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getSingleton"
  getSingleton'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassRoot.chs.h ogre_rt_getSingletonPtr"
  getSingletonPtr'_ :: ((HG3DClassPtr) -> (IO ()))