-- 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, 2012 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.
-- 


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

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

{- function saveConfig -}
saveConfig :: HG3DClass -> IO ()
saveConfig a1 =
  withHG3DClass a1 $ \a1' -> 
  saveConfig'_ a1' >>= \res ->
  return ()
{-# LINE 59 ".\\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 64 ".\\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 69 ".\\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 74 ".\\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 80 ".\\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 85 ".\\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 90 ".\\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 98 ".\\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 103 ".\\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 108 ".\\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 113 ".\\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 118 ".\\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 123 ".\\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 130 ".\\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 135 ".\\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 141 ".\\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 147 ".\\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 152 ".\\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 157 ".\\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 163 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

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

{- function startRendering -}
startRendering :: HG3DClass -> IO ()
startRendering a1 =
  withHG3DClass a1 $ \a1' -> 
  startRendering'_ a1' >>= \res ->
  return ()
{-# LINE 171 ".\\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 176 ".\\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 182 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

{- function shutdown -}
shutdown :: HG3DClass -> IO ()
shutdown a1 =
  withHG3DClass a1 $ \a1' -> 
  shutdown'_ a1' >>= \res ->
  return ()
{-# LINE 186 ".\\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 194 ".\\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 200 ".\\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 206 ".\\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 211 ".\\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 217 ".\\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 223 ".\\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 228 ".\\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 233 ".\\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 239 ".\\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 244 ".\\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 249 ".\\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 254 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

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

{- function clearEventTimes -}
clearEventTimes :: HG3DClass -> IO ()
clearEventTimes a1 =
  withHG3DClass a1 $ \a1' -> 
  clearEventTimes'_ a1' >>= \res ->
  return ()
{-# LINE 262 ".\\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 267 ".\\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 272 ".\\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 278 ".\\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 283 ".\\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 289 ".\\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 295 ".\\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 300 ".\\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 305 ".\\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 310 ".\\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 315 ".\\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 320 ".\\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 325 ".\\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 330 ".\\HGamer3D\\Bindings\\Ogre\\ClassRoot.chs" #-}

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

{- function getSingletonPtr -}
getSingletonPtr :: IO (HG3DClass)
getSingletonPtr =
  alloca $ \a1' -> 
  getSingletonPtr'_ a1' >>= \res ->
  peek  a1'>>= \a1'' -> 
  return (a1'')
{-# LINE 338 ".\\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 ()))