HGamer3D-Ogre-Binding-0.5.0: 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.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.
--
-- 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 #}
{# import HGamer3D.Bindings.Ogre.ClassPtr #}
{# import HGamer3D.Bindings.Ogre.StructHG3DClass #}
{# import HGamer3D.Bindings.Ogre.EnumVertexAnimationType #}
{# import HGamer3D.Bindings.Ogre.EnumAnimationInterpolationMode #}
{# import HGamer3D.Bindings.Ogre.EnumAnimationRotationInterpolationMode #}
#include "ClassAnimation.h"
{- function ~Animation -}
{#fun ogre_anm_destruct as delete
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function getName -}
{#fun ogre_anm_getName as getName
{ withHG3DClass* `HG3DClass' ,
alloc64k- `String' peekCString*} -> `()' #}
{- function getLength -}
{#fun ogre_anm_getLength as getLength
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function setLength -}
{#fun ogre_anm_setLength as setLength
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' } -> `()' #}
{- function createNodeTrack -}
{#fun ogre_anm_createNodeTrack as createNodeTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function createNumericTrack -}
{#fun ogre_anm_createNumericTrack as createNumericTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function createVertexTrack -}
{#fun ogre_anm_createVertexTrack as createVertexTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
cIntFromEnum `EnumVertexAnimationType' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function createNodeTrack2 -}
{#fun ogre_anm_createNodeTrack2 as createNodeTrack2
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
withHG3DClass* `HG3DClass' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function getNumNodeTracks -}
{#fun ogre_anm_getNumNodeTracks as getNumNodeTracks
{ withHG3DClass* `HG3DClass' ,
alloca- `Int' peekIntConv*} -> `()' #}
{- function getNodeTrack -}
{#fun ogre_anm_getNodeTrack as getNodeTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function hasNodeTrack -}
{#fun ogre_anm_hasNodeTrack as hasNodeTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function getNumNumericTracks -}
{#fun ogre_anm_getNumNumericTracks as getNumNumericTracks
{ withHG3DClass* `HG3DClass' ,
alloca- `Int' peekIntConv*} -> `()' #}
{- function getNumericTrack -}
{#fun ogre_anm_getNumericTrack as getNumericTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function hasNumericTrack -}
{#fun ogre_anm_hasNumericTrack as hasNumericTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function getNumVertexTracks -}
{#fun ogre_anm_getNumVertexTracks as getNumVertexTracks
{ withHG3DClass* `HG3DClass' ,
alloca- `Int' peekIntConv*} -> `()' #}
{- function getVertexTrack -}
{#fun ogre_anm_getVertexTrack as getVertexTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function hasVertexTrack -}
{#fun ogre_anm_hasVertexTrack as hasVertexTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' ,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function destroyNodeTrack -}
{#fun ogre_anm_destroyNodeTrack as destroyNodeTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' } -> `()' #}
{- function destroyNumericTrack -}
{#fun ogre_anm_destroyNumericTrack as destroyNumericTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' } -> `()' #}
{- function destroyVertexTrack -}
{#fun ogre_anm_destroyVertexTrack as destroyVertexTrack
{ withHG3DClass* `HG3DClass' ,
fromIntegral `Int' } -> `()' #}
{- function destroyAllTracks -}
{#fun ogre_anm_destroyAllTracks as destroyAllTracks
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function destroyAllNodeTracks -}
{#fun ogre_anm_destroyAllNodeTracks as destroyAllNodeTracks
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function destroyAllNumericTracks -}
{#fun ogre_anm_destroyAllNumericTracks as destroyAllNumericTracks
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function destroyAllVertexTracks -}
{#fun ogre_anm_destroyAllVertexTracks as destroyAllVertexTracks
{ withHG3DClass* `HG3DClass' } -> `()' #}
{- function apply -}
{#fun ogre_anm_apply as apply
{ withHG3DClass* `HG3DClass' ,
realToFrac `Float' ,
realToFrac `Float' ,
realToFrac `Float' } -> `()' #}
{- function applyToNode -}
{#fun ogre_anm_applyToNode as applyToNode
{ withHG3DClass* `HG3DClass' ,
withHG3DClass* `HG3DClass' ,
realToFrac `Float' ,
realToFrac `Float' ,
realToFrac `Float' } -> `()' #}
{- function apply2 -}
{#fun ogre_anm_apply2 as apply2
{ withHG3DClass* `HG3DClass' ,
withHG3DClass* `HG3DClass' ,
realToFrac `Float' ,
realToFrac `Float' ,
realToFrac `Float' } -> `()' #}
{- function apply4 -}
{#fun ogre_anm_apply4 as apply4
{ withHG3DClass* `HG3DClass' ,
withHG3DClass* `HG3DClass' ,
realToFrac `Float' ,
realToFrac `Float' ,
fromBool `Bool' ,
fromBool `Bool' } -> `()' #}
{- function setInterpolationMode -}
{#fun ogre_anm_setInterpolationMode as setInterpolationMode
{ withHG3DClass* `HG3DClass' ,
cIntFromEnum `EnumAnimationInterpolationMode' } -> `()' #}
{- function getInterpolationMode -}
{#fun ogre_anm_getInterpolationMode as getInterpolationMode
{ withHG3DClass* `HG3DClass' ,
alloca- `EnumAnimationInterpolationMode' peekEnumUtil*} -> `()' #}
{- function setRotationInterpolationMode -}
{#fun ogre_anm_setRotationInterpolationMode as setRotationInterpolationMode
{ withHG3DClass* `HG3DClass' ,
cIntFromEnum `EnumAnimationRotationInterpolationMode' } -> `()' #}
{- function getRotationInterpolationMode -}
{#fun ogre_anm_getRotationInterpolationMode as getRotationInterpolationMode
{ withHG3DClass* `HG3DClass' ,
alloca- `EnumAnimationRotationInterpolationMode' peekEnumUtil*} -> `()' #}
{- function optimise -}
{#fun ogre_anm_optimise as optimise
{ withHG3DClass* `HG3DClass' ,
fromBool `Bool' } -> `()' #}
{- function clone -}
{#fun ogre_anm_clone as clone
{ withHG3DClass* `HG3DClass' ,
withCString* `String' ,
alloca- `HG3DClass' peek*} -> `()' #}
{- function setUseBaseKeyFrame -}
{#fun ogre_anm_setUseBaseKeyFrame as setUseBaseKeyFrame
{ withHG3DClass* `HG3DClass' ,
fromBool `Bool' ,
realToFrac `Float' ,
withCString* `String' } -> `()' #}
{- function getUseBaseKeyFrame -}
{#fun ogre_anm_getUseBaseKeyFrame as getUseBaseKeyFrame
{ withHG3DClass* `HG3DClass' ,
alloca- `Bool' peekBoolUtil*} -> `()' #}
{- function getBaseKeyFrameTime -}
{#fun ogre_anm_getBaseKeyFrameTime as getBaseKeyFrameTime
{ withHG3DClass* `HG3DClass' ,
alloca- `Float' peekFloatConv*} -> `()' #}
{- function getBaseKeyFrameAnimationName -}
{#fun ogre_anm_getBaseKeyFrameAnimationName as getBaseKeyFrameAnimationName
{ withHG3DClass* `HG3DClass' ,
alloc64k- `String' peekCString*} -> `()' #}
{- function setDefaultInterpolationMode -}
{#fun ogre_anm_setDefaultInterpolationMode as setDefaultInterpolationMode
{ cIntFromEnum `EnumAnimationInterpolationMode' } -> `()' #}
{- function getDefaultInterpolationMode -}
{#fun ogre_anm_getDefaultInterpolationMode as getDefaultInterpolationMode
{ alloca- `EnumAnimationInterpolationMode' peekEnumUtil*} -> `()' #}
{- function setDefaultRotationInterpolationMode -}
{#fun ogre_anm_setDefaultRotationInterpolationMode as setDefaultRotationInterpolationMode
{ cIntFromEnum `EnumAnimationRotationInterpolationMode' } -> `()' #}
{- function getDefaultRotationInterpolationMode -}
{#fun ogre_anm_getDefaultRotationInterpolationMode as getDefaultRotationInterpolationMode
{ alloca- `EnumAnimationRotationInterpolationMode' peekEnumUtil*} -> `()' #}