-- 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\\ClassAnimation.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.
-- 


-- ClassAnimation.chs

-- 

module HGamer3D.Bindings.Ogre.ClassAnimation 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\\ClassAnimation.chs" #-}
import HGamer3D.Bindings.Ogre.ClassPtr
{-# LINE 41 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
import HGamer3D.Bindings.Ogre.StructHG3DClass
{-# LINE 42 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
import HGamer3D.Bindings.Ogre.EnumVertexAnimationType
{-# LINE 43 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
import HGamer3D.Bindings.Ogre.EnumAnimationInterpolationMode
{-# LINE 44 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}
import HGamer3D.Bindings.Ogre.EnumAnimationRotationInterpolationMode
{-# LINE 45 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

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

{- function getName -}
getName :: HG3DClass -> IO (String)
getName a1 =
  withHG3DClass a1 $ \a1' -> 
  alloc64k $ \a2' -> 
  getName'_ a1' a2' >>= \res ->
  peekCString  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 55 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

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

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

{- function createNodeTrack -}
createNodeTrack :: HG3DClass -> Int -> IO (HG3DClass)
createNodeTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  createNodeTrack'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 71 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function createNumericTrack -}
createNumericTrack :: HG3DClass -> Int -> IO (HG3DClass)
createNumericTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  createNumericTrack'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 77 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function createVertexTrack -}
createVertexTrack :: HG3DClass -> Int -> EnumVertexAnimationType -> IO (HG3DClass)
createVertexTrack a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  let {a3' = cIntFromEnum a3} in 
  alloca $ \a4' -> 
  createVertexTrack'_ a1' a2' a3' a4' >>= \res ->
  peek  a4'>>= \a4'' -> 
  return (a4'')
{-# LINE 84 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function createNodeTrack2 -}
createNodeTrack2 :: HG3DClass -> Int -> HG3DClass -> IO (HG3DClass)
createNodeTrack2 a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  withHG3DClass a3 $ \a3' -> 
  alloca $ \a4' -> 
  createNodeTrack2'_ a1' a2' a3' a4' >>= \res ->
  peek  a4'>>= \a4'' -> 
  return (a4'')
{-# LINE 91 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

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

{- function getNodeTrack -}
getNodeTrack :: HG3DClass -> Int -> IO (HG3DClass)
getNodeTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  getNodeTrack'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 102 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function hasNodeTrack -}
hasNodeTrack :: HG3DClass -> Int -> IO (Bool)
hasNodeTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  hasNodeTrack'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 108 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

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

{- function getNumericTrack -}
getNumericTrack :: HG3DClass -> Int -> IO (HG3DClass)
getNumericTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  getNumericTrack'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 119 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function hasNumericTrack -}
hasNumericTrack :: HG3DClass -> Int -> IO (Bool)
hasNumericTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  hasNumericTrack'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 125 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

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

{- function getVertexTrack -}
getVertexTrack :: HG3DClass -> Int -> IO (HG3DClass)
getVertexTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  getVertexTrack'_ a1' a2' a3' >>= \res ->
  peek  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 136 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function hasVertexTrack -}
hasVertexTrack :: HG3DClass -> Int -> IO (Bool)
hasVertexTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  alloca $ \a3' -> 
  hasVertexTrack'_ a1' a2' a3' >>= \res ->
  peekBoolUtil  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 142 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function destroyNodeTrack -}
destroyNodeTrack :: HG3DClass -> Int -> IO ()
destroyNodeTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  destroyNodeTrack'_ a1' a2' >>= \res ->
  return ()
{-# LINE 147 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function destroyNumericTrack -}
destroyNumericTrack :: HG3DClass -> Int -> IO ()
destroyNumericTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  destroyNumericTrack'_ a1' a2' >>= \res ->
  return ()
{-# LINE 152 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function destroyVertexTrack -}
destroyVertexTrack :: HG3DClass -> Int -> IO ()
destroyVertexTrack a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  destroyVertexTrack'_ a1' a2' >>= \res ->
  return ()
{-# LINE 157 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

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

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

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

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

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

{- function applyToNode -}
applyToNode :: HG3DClass -> HG3DClass -> Float -> Float -> Float -> IO ()
applyToNode a1 a2 a3 a4 a5 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  let {a3' = realToFrac a3} in 
  let {a4' = realToFrac a4} in 
  let {a5' = realToFrac a5} in 
  applyToNode'_ a1' a2' a3' a4' a5' >>= \res ->
  return ()
{-# LINE 188 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function apply2 -}
apply2 :: HG3DClass -> HG3DClass -> Float -> Float -> Float -> IO ()
apply2 a1 a2 a3 a4 a5 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  let {a3' = realToFrac a3} in 
  let {a4' = realToFrac a4} in 
  let {a5' = realToFrac a5} in 
  apply2'_ a1' a2' a3' a4' a5' >>= \res ->
  return ()
{-# LINE 196 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function apply4 -}
apply4 :: HG3DClass -> HG3DClass -> Float -> Float -> Bool -> Bool -> IO ()
apply4 a1 a2 a3 a4 a5 a6 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  let {a3' = realToFrac a3} in 
  let {a4' = realToFrac a4} in 
  let {a5' = fromBool a5} in 
  let {a6' = fromBool a6} in 
  apply4'_ a1' a2' a3' a4' a5' a6' >>= \res ->
  return ()
{-# LINE 205 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function setInterpolationMode -}
setInterpolationMode :: HG3DClass -> EnumAnimationInterpolationMode -> IO ()
setInterpolationMode a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = cIntFromEnum a2} in 
  setInterpolationMode'_ a1' a2' >>= \res ->
  return ()
{-# LINE 210 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function getInterpolationMode -}
getInterpolationMode :: HG3DClass -> IO (EnumAnimationInterpolationMode)
getInterpolationMode a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getInterpolationMode'_ a1' a2' >>= \res ->
  peekEnumUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 215 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function setRotationInterpolationMode -}
setRotationInterpolationMode :: HG3DClass -> EnumAnimationRotationInterpolationMode -> IO ()
setRotationInterpolationMode a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = cIntFromEnum a2} in 
  setRotationInterpolationMode'_ a1' a2' >>= \res ->
  return ()
{-# LINE 220 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function getRotationInterpolationMode -}
getRotationInterpolationMode :: HG3DClass -> IO (EnumAnimationRotationInterpolationMode)
getRotationInterpolationMode a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getRotationInterpolationMode'_ a1' a2' >>= \res ->
  peekEnumUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 225 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

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

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

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

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

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

{- function getBaseKeyFrameAnimationName -}
getBaseKeyFrameAnimationName :: HG3DClass -> IO (String)
getBaseKeyFrameAnimationName a1 =
  withHG3DClass a1 $ \a1' -> 
  alloc64k $ \a2' -> 
  getBaseKeyFrameAnimationName'_ a1' a2' >>= \res ->
  peekCString  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 258 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function setDefaultInterpolationMode -}
setDefaultInterpolationMode :: EnumAnimationInterpolationMode -> IO ()
setDefaultInterpolationMode a1 =
  let {a1' = cIntFromEnum a1} in 
  setDefaultInterpolationMode'_ a1' >>= \res ->
  return ()
{-# LINE 262 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function getDefaultInterpolationMode -}
getDefaultInterpolationMode :: IO (EnumAnimationInterpolationMode)
getDefaultInterpolationMode =
  alloca $ \a1' -> 
  getDefaultInterpolationMode'_ a1' >>= \res ->
  peekEnumUtil  a1'>>= \a1'' -> 
  return (a1'')
{-# LINE 266 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function setDefaultRotationInterpolationMode -}
setDefaultRotationInterpolationMode :: EnumAnimationRotationInterpolationMode -> IO ()
setDefaultRotationInterpolationMode a1 =
  let {a1' = cIntFromEnum a1} in 
  setDefaultRotationInterpolationMode'_ a1' >>= \res ->
  return ()
{-# LINE 270 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}

{- function getDefaultRotationInterpolationMode -}
getDefaultRotationInterpolationMode :: IO (EnumAnimationRotationInterpolationMode)
getDefaultRotationInterpolationMode =
  alloca $ \a1' -> 
  getDefaultRotationInterpolationMode'_ a1' >>= \res ->
  peekEnumUtil  a1'>>= \a1'' -> 
  return (a1'')
{-# LINE 274 ".\\HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs" #-}


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

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getName"
  getName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getLength"
  getLength'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_setLength"
  setLength'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_createNodeTrack"
  createNodeTrack'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_createNumericTrack"
  createNumericTrack'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_createVertexTrack"
  createVertexTrack'_ :: ((HG3DClassPtr) -> (CUShort -> (CInt -> ((HG3DClassPtr) -> (IO ())))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_createNodeTrack2"
  createNodeTrack2'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getNumNodeTracks"
  getNumNodeTracks'_ :: ((HG3DClassPtr) -> ((Ptr CUShort) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getNodeTrack"
  getNodeTrack'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_hasNodeTrack"
  hasNodeTrack'_ :: ((HG3DClassPtr) -> (CUShort -> ((Ptr CInt) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getNumNumericTracks"
  getNumNumericTracks'_ :: ((HG3DClassPtr) -> ((Ptr CUShort) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getNumericTrack"
  getNumericTrack'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_hasNumericTrack"
  hasNumericTrack'_ :: ((HG3DClassPtr) -> (CUShort -> ((Ptr CInt) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getNumVertexTracks"
  getNumVertexTracks'_ :: ((HG3DClassPtr) -> ((Ptr CUShort) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getVertexTrack"
  getVertexTrack'_ :: ((HG3DClassPtr) -> (CUShort -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_hasVertexTrack"
  hasVertexTrack'_ :: ((HG3DClassPtr) -> (CUShort -> ((Ptr CInt) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_destroyNodeTrack"
  destroyNodeTrack'_ :: ((HG3DClassPtr) -> (CUShort -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_destroyNumericTrack"
  destroyNumericTrack'_ :: ((HG3DClassPtr) -> (CUShort -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_destroyVertexTrack"
  destroyVertexTrack'_ :: ((HG3DClassPtr) -> (CUShort -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_destroyAllTracks"
  destroyAllTracks'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_destroyAllNodeTracks"
  destroyAllNodeTracks'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_destroyAllNumericTracks"
  destroyAllNumericTracks'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_destroyAllVertexTracks"
  destroyAllVertexTracks'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_apply"
  apply'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> (CFloat -> (IO ())))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_applyToNode"
  applyToNode'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CFloat -> (CFloat -> (CFloat -> (IO ()))))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_apply2"
  apply2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CFloat -> (CFloat -> (CFloat -> (IO ()))))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_apply4"
  apply4'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (CFloat -> (CFloat -> (CInt -> (CInt -> (IO ())))))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_setInterpolationMode"
  setInterpolationMode'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getInterpolationMode"
  getInterpolationMode'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_setRotationInterpolationMode"
  setRotationInterpolationMode'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getRotationInterpolationMode"
  getRotationInterpolationMode'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_optimise"
  optimise'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_clone"
  clone'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> ((HG3DClassPtr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_setUseBaseKeyFrame"
  setUseBaseKeyFrame'_ :: ((HG3DClassPtr) -> (CInt -> (CFloat -> ((Ptr CChar) -> (IO ())))))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getUseBaseKeyFrame"
  getUseBaseKeyFrame'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getBaseKeyFrameTime"
  getBaseKeyFrameTime'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getBaseKeyFrameAnimationName"
  getBaseKeyFrameAnimationName'_ :: ((HG3DClassPtr) -> ((Ptr CChar) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_setDefaultInterpolationMode"
  setDefaultInterpolationMode'_ :: (CInt -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getDefaultInterpolationMode"
  getDefaultInterpolationMode'_ :: ((Ptr CInt) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_setDefaultRotationInterpolationMode"
  setDefaultRotationInterpolationMode'_ :: (CInt -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Ogre\\ClassAnimation.chs.h ogre_anm_getDefaultRotationInterpolationMode"
  getDefaultRotationInterpolationMode'_ :: ((Ptr CInt) -> (IO ()))