packages feed

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


-- ClassSkeleton.chs

-- 

module HGamer3D.Bindings.Ogre.ClassSkeleton 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.EnumSkeletonAnimationBlendMode #}

#include "ClassSkeleton.h"
{- function ~Skeleton -}
{#fun ogre_skl_destruct as delete 
{ withHG3DClass* `HG3DClass' } -> `()'  #}

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

{- function createBone2 -}
{#fun ogre_skl_createBone2 as createBone2 
{ withHG3DClass* `HG3DClass' ,
 fromIntegral `Int' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function createBone3 -}
{#fun ogre_skl_createBone3 as createBone3 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function createBone4 -}
{#fun ogre_skl_createBone4 as createBone4 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' ,
 fromIntegral `Int' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function getNumBones -}
{#fun ogre_skl_getNumBones as getNumBones 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Int' peekIntConv*} -> `()'  #}

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

{- function getBone -}
{#fun ogre_skl_getBone as getBone 
{ withHG3DClass* `HG3DClass' ,
 fromIntegral `Int' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function getBone2 -}
{#fun ogre_skl_getBone2 as getBone2 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function hasBone -}
{#fun ogre_skl_hasBone as hasBone 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' ,
 alloca- `Bool' peekBoolUtil*} -> `()'  #}

{- function setBindingPose -}
{#fun ogre_skl_setBindingPose as setBindingPose 
{ withHG3DClass* `HG3DClass' } -> `()'  #}

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

{- function createAnimation -}
{#fun ogre_skl_createAnimation as createAnimation 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' ,
 realToFrac `Float' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function getAnimation2 -}
{#fun ogre_skl_getAnimation2 as getAnimation2 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function hasAnimation -}
{#fun ogre_skl_hasAnimation as hasAnimation 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' ,
 alloca- `Bool' peekBoolUtil*} -> `()'  #}

{- function removeAnimation -}
{#fun ogre_skl_removeAnimation as removeAnimation 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' } -> `()'  #}

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

{- function getNumAnimations -}
{#fun ogre_skl_getNumAnimations as getNumAnimations 
{ withHG3DClass* `HG3DClass' ,
 alloca- `Int' peekIntConv*} -> `()'  #}

{- function getAnimation3 -}
{#fun ogre_skl_getAnimation3 as getAnimation3 
{ withHG3DClass* `HG3DClass' ,
 fromIntegral `Int' ,
 alloca- `HG3DClass' peek*} -> `()'  #}

{- function getBlendMode -}
{#fun ogre_skl_getBlendMode as getBlendMode 
{ withHG3DClass* `HG3DClass' ,
 alloca- `EnumSkeletonAnimationBlendMode' peekEnumUtil*} -> `()'  #}

{- function setBlendMode -}
{#fun ogre_skl_setBlendMode as setBlendMode 
{ withHG3DClass* `HG3DClass' ,
 cIntFromEnum `EnumSkeletonAnimationBlendMode' } -> `()'  #}

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

{- function addLinkedSkeletonAnimationSource -}
{#fun ogre_skl_addLinkedSkeletonAnimationSource as addLinkedSkeletonAnimationSource 
{ withHG3DClass* `HG3DClass' ,
 withCString* `String' ,
 realToFrac `Float' } -> `()'  #}

{- function removeAllLinkedSkeletonAnimationSources -}
{#fun ogre_skl_removeAllLinkedSkeletonAnimationSources as removeAllLinkedSkeletonAnimationSources 
{ withHG3DClass* `HG3DClass' } -> `()'  #}

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

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