-- 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\\Bullet\\ClassRigidBody.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.
-- 


-- ClassRigidBody.chs

-- 

module HGamer3D.Bindings.Bullet.ClassRigidBody 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.Bullet.Utils
{-# LINE 40 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}
import HGamer3D.Bindings.Bullet.ClassPtr
{-# LINE 41 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}
import HGamer3D.Bindings.Bullet.StructHG3DClass
{-# LINE 42 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}
import HGamer3D.Bindings.Bullet.StructVec3
{-# LINE 43 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}
import HGamer3D.Bindings.Bullet.StructQuaternion
{-# LINE 44 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function ~btRigidBody -}
delete :: HG3DClass -> IO ()
delete a1 =
  withHG3DClass a1 $ \a1' -> 
  delete'_ a1' >>= \res ->
  return ()
{-# LINE 49 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function saveKinematicState -}
saveKinematicState :: HG3DClass -> Float -> IO ()
saveKinematicState a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  saveKinematicState'_ a1' a2' >>= \res ->
  return ()
{-# LINE 54 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function applyGravity -}
applyGravity :: HG3DClass -> IO ()
applyGravity a1 =
  withHG3DClass a1 $ \a1' -> 
  applyGravity'_ a1' >>= \res ->
  return ()
{-# LINE 58 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setGravity -}
setGravity :: HG3DClass -> Vec3 -> IO ()
setGravity a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  setGravity'_ a1' a2' >>= \res ->
  return ()
{-# LINE 63 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getGravity -}
getGravity :: HG3DClass -> IO (Vec3)
getGravity a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getGravity'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 68 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setDamping -}
setDamping :: HG3DClass -> Float -> Float -> IO ()
setDamping a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = realToFrac a3} in 
  setDamping'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 74 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getLinearDamping -}
getLinearDamping :: HG3DClass -> IO (Float)
getLinearDamping a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getLinearDamping'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 79 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getAngularDamping -}
getAngularDamping :: HG3DClass -> IO (Float)
getAngularDamping a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getAngularDamping'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 84 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getLinearSleepingThreshold -}
getLinearSleepingThreshold :: HG3DClass -> IO (Float)
getLinearSleepingThreshold a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getLinearSleepingThreshold'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 89 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getAngularSleepingThreshold -}
getAngularSleepingThreshold :: HG3DClass -> IO (Float)
getAngularSleepingThreshold a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getAngularSleepingThreshold'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 94 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function applyDamping -}
applyDamping :: HG3DClass -> Float -> IO ()
applyDamping a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  applyDamping'_ a1' a2' >>= \res ->
  return ()
{-# LINE 99 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setMassProps -}
setMassProps :: HG3DClass -> Float -> Vec3 -> IO ()
setMassProps a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  withVec3 a3 $ \a3' -> 
  setMassProps'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 105 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getLinearFactor -}
getLinearFactor :: HG3DClass -> IO (Vec3)
getLinearFactor a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getLinearFactor'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 110 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setLinearFactor -}
setLinearFactor :: HG3DClass -> Vec3 -> IO ()
setLinearFactor a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  setLinearFactor'_ a1' a2' >>= \res ->
  return ()
{-# LINE 115 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getInvMass -}
getInvMass :: HG3DClass -> IO (Float)
getInvMass a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getInvMass'_ a1' a2' >>= \res ->
  peekFloatConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 120 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function integrateVelocities -}
integrateVelocities :: HG3DClass -> Float -> IO ()
integrateVelocities a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  integrateVelocities'_ a1' a2' >>= \res ->
  return ()
{-# LINE 125 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function applyCentralForce -}
applyCentralForce :: HG3DClass -> Vec3 -> IO ()
applyCentralForce a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  applyCentralForce'_ a1' a2' >>= \res ->
  return ()
{-# LINE 130 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getTotalForce -}
getTotalForce :: HG3DClass -> IO (Vec3)
getTotalForce a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getTotalForce'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 135 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getTotalTorque -}
getTotalTorque :: HG3DClass -> IO (Vec3)
getTotalTorque a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getTotalTorque'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 140 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getInvInertiaDiagLocal -}
getInvInertiaDiagLocal :: HG3DClass -> IO (Vec3)
getInvInertiaDiagLocal a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getInvInertiaDiagLocal'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 145 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setInvInertiaDiagLocal -}
setInvInertiaDiagLocal :: HG3DClass -> Vec3 -> IO ()
setInvInertiaDiagLocal a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  setInvInertiaDiagLocal'_ a1' a2' >>= \res ->
  return ()
{-# LINE 150 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setSleepingThresholds -}
setSleepingThresholds :: HG3DClass -> Float -> Float -> IO ()
setSleepingThresholds a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = realToFrac a3} in 
  setSleepingThresholds'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 156 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function applyTorque -}
applyTorque :: HG3DClass -> Vec3 -> IO ()
applyTorque a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  applyTorque'_ a1' a2' >>= \res ->
  return ()
{-# LINE 161 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function applyForce -}
applyForce :: HG3DClass -> Vec3 -> Vec3 -> IO ()
applyForce a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  withVec3 a3 $ \a3' -> 
  applyForce'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 167 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function applyCentralImpulse -}
applyCentralImpulse :: HG3DClass -> Vec3 -> IO ()
applyCentralImpulse a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  applyCentralImpulse'_ a1' a2' >>= \res ->
  return ()
{-# LINE 172 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function applyTorqueImpulse -}
applyTorqueImpulse :: HG3DClass -> Vec3 -> IO ()
applyTorqueImpulse a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  applyTorqueImpulse'_ a1' a2' >>= \res ->
  return ()
{-# LINE 177 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function applyImpulse -}
applyImpulse :: HG3DClass -> Vec3 -> Vec3 -> IO ()
applyImpulse a1 a2 a3 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  withVec3 a3 $ \a3' -> 
  applyImpulse'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 183 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function clearForces -}
clearForces :: HG3DClass -> IO ()
clearForces a1 =
  withHG3DClass a1 $ \a1' -> 
  clearForces'_ a1' >>= \res ->
  return ()
{-# LINE 187 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function updateInertiaTensor -}
updateInertiaTensor :: HG3DClass -> IO ()
updateInertiaTensor a1 =
  withHG3DClass a1 $ \a1' -> 
  updateInertiaTensor'_ a1' >>= \res ->
  return ()
{-# LINE 191 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getCenterOfMassPosition -}
getCenterOfMassPosition :: HG3DClass -> IO (Vec3)
getCenterOfMassPosition a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getCenterOfMassPosition'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 196 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getOrientation -}
getOrientation :: HG3DClass -> IO (Quaternion)
getOrientation a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getOrientation'_ a1' a2' >>= \res ->
  peekQuaternion  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 201 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getLinearVelocity -}
getLinearVelocity :: HG3DClass -> IO (Vec3)
getLinearVelocity a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getLinearVelocity'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 206 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getAngularVelocity -}
getAngularVelocity :: HG3DClass -> IO (Vec3)
getAngularVelocity a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getAngularVelocity'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 211 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setLinearVelocity -}
setLinearVelocity :: HG3DClass -> Vec3 -> IO ()
setLinearVelocity a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  setLinearVelocity'_ a1' a2' >>= \res ->
  return ()
{-# LINE 216 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setAngularVelocity -}
setAngularVelocity :: HG3DClass -> Vec3 -> IO ()
setAngularVelocity a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  setAngularVelocity'_ a1' a2' >>= \res ->
  return ()
{-# LINE 221 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getVelocityInLocalPoint -}
getVelocityInLocalPoint :: HG3DClass -> Vec3 -> IO (Vec3)
getVelocityInLocalPoint a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  alloca $ \a3' -> 
  getVelocityInLocalPoint'_ a1' a2' a3' >>= \res ->
  peekVec3  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 227 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function translate -}
translate :: HG3DClass -> Vec3 -> IO ()
translate a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  translate'_ a1' a2' >>= \res ->
  return ()
{-# LINE 232 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getAabb -}
getAabb :: HG3DClass -> IO (Vec3, Vec3)
getAabb a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  alloca $ \a3' -> 
  getAabb'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 238 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getMotionState -}
getMotionState :: HG3DClass -> IO (HG3DClass)
getMotionState a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getMotionState'_ a1' a2' >>= \res ->
  peek  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 243 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getMotionState2 -}
getMotionState2 :: HG3DClass -> IO (HG3DClass)
getMotionState2 a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getMotionState2'_ a1' a2' >>= \res ->
  peek  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 248 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setMotionState -}
setMotionState :: HG3DClass -> HG3DClass -> IO ()
setMotionState a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withHG3DClass a2 $ \a2' -> 
  setMotionState'_ a1' a2' >>= \res ->
  return ()
{-# LINE 253 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setAngularFactor -}
setAngularFactor :: HG3DClass -> Vec3 -> IO ()
setAngularFactor a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  setAngularFactor'_ a1' a2' >>= \res ->
  return ()
{-# LINE 258 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setAngularFactor2 -}
setAngularFactor2 :: HG3DClass -> Float -> IO ()
setAngularFactor2 a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  setAngularFactor2'_ a1' a2' >>= \res ->
  return ()
{-# LINE 263 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getAngularFactor -}
getAngularFactor :: HG3DClass -> IO (Vec3)
getAngularFactor a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getAngularFactor'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 268 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function isInWorld -}
isInWorld :: HG3DClass -> IO (Bool)
isInWorld a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  isInWorld'_ a1' a2' >>= \res ->
  peekBoolUtil  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 273 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getNumConstraintRefs -}
getNumConstraintRefs :: HG3DClass -> IO (Int)
getNumConstraintRefs a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getNumConstraintRefs'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 278 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function setFlags -}
setFlags :: HG3DClass -> Int -> IO ()
setFlags a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  setFlags'_ a1' a2' >>= \res ->
  return ()
{-# LINE 283 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function getFlags -}
getFlags :: HG3DClass -> IO (Int)
getFlags a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  getFlags'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 288 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function computeGyroscopicForce -}
computeGyroscopicForce :: HG3DClass -> Float -> IO (Vec3)
computeGyroscopicForce a1 a2 =
  withHG3DClass a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  alloca $ \a3' -> 
  computeGyroscopicForce'_ a1' a2' a3' >>= \res ->
  peekVec3  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 294 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}

{- function calculateSerializeBufferSize -}
calculateSerializeBufferSize :: HG3DClass -> IO (Int)
calculateSerializeBufferSize a1 =
  withHG3DClass a1 $ \a1' -> 
  alloca $ \a2' -> 
  calculateSerializeBufferSize'_ a1' a2' >>= \res ->
  peekIntConv  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 299 ".\\HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs" #-}


foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_destruct"
  delete'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_saveKinematicState"
  saveKinematicState'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_applyGravity"
  applyGravity'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setGravity"
  setGravity'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getGravity"
  getGravity'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setDamping"
  setDamping'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getLinearDamping"
  getLinearDamping'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getAngularDamping"
  getAngularDamping'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getLinearSleepingThreshold"
  getLinearSleepingThreshold'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getAngularSleepingThreshold"
  getAngularSleepingThreshold'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_applyDamping"
  applyDamping'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setMassProps"
  setMassProps'_ :: ((HG3DClassPtr) -> (CFloat -> ((Vec3Ptr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getLinearFactor"
  getLinearFactor'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setLinearFactor"
  setLinearFactor'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getInvMass"
  getInvMass'_ :: ((HG3DClassPtr) -> ((Ptr CFloat) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_integrateVelocities"
  integrateVelocities'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_applyCentralForce"
  applyCentralForce'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getTotalForce"
  getTotalForce'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getTotalTorque"
  getTotalTorque'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getInvInertiaDiagLocal"
  getInvInertiaDiagLocal'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setInvInertiaDiagLocal"
  setInvInertiaDiagLocal'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setSleepingThresholds"
  setSleepingThresholds'_ :: ((HG3DClassPtr) -> (CFloat -> (CFloat -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_applyTorque"
  applyTorque'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_applyForce"
  applyForce'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> ((Vec3Ptr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_applyCentralImpulse"
  applyCentralImpulse'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_applyTorqueImpulse"
  applyTorqueImpulse'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_applyImpulse"
  applyImpulse'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> ((Vec3Ptr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_clearForces"
  clearForces'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_updateInertiaTensor"
  updateInertiaTensor'_ :: ((HG3DClassPtr) -> (IO ()))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getCenterOfMassPosition"
  getCenterOfMassPosition'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getOrientation"
  getOrientation'_ :: ((HG3DClassPtr) -> ((QuaternionPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getLinearVelocity"
  getLinearVelocity'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getAngularVelocity"
  getAngularVelocity'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setLinearVelocity"
  setLinearVelocity'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setAngularVelocity"
  setAngularVelocity'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getVelocityInLocalPoint"
  getVelocityInLocalPoint'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> ((Vec3Ptr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_translate"
  translate'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getAabb"
  getAabb'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> ((Vec3Ptr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getMotionState"
  getMotionState'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getMotionState2"
  getMotionState2'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setMotionState"
  setMotionState'_ :: ((HG3DClassPtr) -> ((HG3DClassPtr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setAngularFactor"
  setAngularFactor'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setAngularFactor2"
  setAngularFactor2'_ :: ((HG3DClassPtr) -> (CFloat -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getAngularFactor"
  getAngularFactor'_ :: ((HG3DClassPtr) -> ((Vec3Ptr) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_isInWorld"
  isInWorld'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getNumConstraintRefs"
  getNumConstraintRefs'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_setFlags"
  setFlags'_ :: ((HG3DClassPtr) -> (CInt -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_getFlags"
  getFlags'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_computeGyroscopicForce"
  computeGyroscopicForce'_ :: ((HG3DClassPtr) -> (CFloat -> ((Vec3Ptr) -> (IO ()))))

foreign import ccall safe "HGamer3D\\Bindings\\Bullet\\ClassRigidBody.chs.h bt_rgdbd_calculateSerializeBufferSize"
  calculateSerializeBufferSize'_ :: ((HG3DClassPtr) -> ((Ptr CInt) -> (IO ())))