-- GENERATED by C->Haskell Compiler, version 0.16.4 Crystal Seed, 24 Jan 2009 (Haskell)
-- Edit the ORIGNAL .chs file instead!


{-# LINE 1 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}{-#LANGUAGE ForeignFunctionInterface#-}
module Physics.Bullet.Raw.BulletSoftBody (
module Physics.Bullet.Raw.BulletSoftBody
) where
import Control.Monad
import Foreign.Marshal.Alloc
import Foreign.ForeignPtr
import Foreign.Ptr
import Physics.Bullet.Raw.C2HS
import Physics.Bullet.Raw.Types
import Physics.Bullet.Raw.Class
-- * AJoint
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#526>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint :: IO (BtSoftBody_AJoint)
btSoftBody_AJoint =
  btSoftBody_AJoint'_ >>= \res ->
  mkBtSoftBody_AJoint res >>= \res' ->
  return (res')
{-# LINE 17 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_AJoint_free :: ( BtSoftBody_AJointClass bc ) => bc -> IO ()
btSoftBody_AJoint_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_AJoint_free'_ a1' >>= \res ->
  return ()
{-# LINE 18 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#543>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_Terminate :: ( BtSoftBody_AJointClass bc ) => bc -> Float -> IO ()
btSoftBody_AJoint_Terminate a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_AJoint_Terminate'_ a1' a2' >>= \res ->
  return ()
{-# LINE 24 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#542>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_Solve :: ( BtSoftBody_AJointClass bc ) => bc -> Float -> Float -> IO ()
btSoftBody_AJoint_Solve a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = realToFrac a3} in 
  btSoftBody_AJoint_Solve'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 31 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#541>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_Prepare :: ( BtSoftBody_AJointClass bc ) => bc -> Float -> Int -> IO ()
btSoftBody_AJoint_Prepare a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = fromIntegral a3} in 
  btSoftBody_AJoint_Prepare'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 38 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#540>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_m_icontrol_set :: ( BtSoftBody_AJointClass bc , BtSoftBody_AJoint_IControlClass a ) => bc -> a -> IO ()
btSoftBody_AJoint_m_icontrol_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_AJoint_m_icontrol_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 42 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#540>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_m_icontrol_get :: ( BtSoftBody_AJointClass bc ) => bc -> IO (BtSoftBody_AJoint_IControl)
btSoftBody_AJoint_m_icontrol_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_AJoint_m_icontrol_get'_ a1' >>= \res ->
  mkBtSoftBody_AJoint_IControl res >>= \res' ->
  return (res')
{-# LINE 46 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Anchor
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#284>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor :: IO (BtSoftBody_Anchor)
btSoftBody_Anchor =
  btSoftBody_Anchor'_ >>= \res ->
  mkBtSoftBody_Anchor res >>= \res' ->
  return (res')
{-# LINE 51 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Anchor_free :: ( BtSoftBody_AnchorClass bc ) => bc -> IO ()
btSoftBody_Anchor_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Anchor_free'_ a1' >>= \res ->
  return ()
{-# LINE 52 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#285>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_node_set :: ( BtSoftBody_AnchorClass bc , BtSoftBody_NodeClass a ) => bc -> a -> IO ()
btSoftBody_Anchor_m_node_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Anchor_m_node_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 56 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#285>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_node_get :: ( BtSoftBody_AnchorClass bc ) => bc -> IO (BtSoftBody_Node)
btSoftBody_Anchor_m_node_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Anchor_m_node_get'_ a1' >>= \res ->
  mkBtSoftBody_Node res >>= \res' ->
  return (res')
{-# LINE 60 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#286>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_local_set :: ( BtSoftBody_AnchorClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Anchor_m_local_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Anchor_m_local_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 64 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#286>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_local_get :: ( BtSoftBody_AnchorClass bc ) => bc -> IO (Vec3)
btSoftBody_Anchor_m_local_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Anchor_m_local_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 68 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#287>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_body_set :: ( BtSoftBody_AnchorClass bc , BtRigidBodyClass a ) => bc -> a -> IO ()
btSoftBody_Anchor_m_body_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Anchor_m_body_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 72 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#287>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_body_get :: ( BtSoftBody_AnchorClass bc ) => bc -> IO (BtRigidBody)
btSoftBody_Anchor_m_body_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Anchor_m_body_get'_ a1' >>= \res ->
  mkBtRigidBody res >>= \res' ->
  return (res')
{-# LINE 76 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#288>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_influence_set :: ( BtSoftBody_AnchorClass bc ) => bc -> Float -> IO ()
btSoftBody_Anchor_m_influence_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Anchor_m_influence_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 80 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#288>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_influence_get :: ( BtSoftBody_AnchorClass bc ) => bc -> IO (Float)
btSoftBody_Anchor_m_influence_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Anchor_m_influence_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 84 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#289>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_c0_set :: ( BtSoftBody_AnchorClass bc ) => bc -> Mat3 -> IO ()
btSoftBody_Anchor_m_c0_set a1 a2 =
  withBt a1 $ \a1' -> 
  withMat3 a2 $ \a2' -> 
  btSoftBody_Anchor_m_c0_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 88 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#289>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_c0_get :: ( BtSoftBody_AnchorClass bc ) => bc -> IO (Mat3)
btSoftBody_Anchor_m_c0_get a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_Anchor_m_c0_get'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 92 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#290>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_c1_set :: ( BtSoftBody_AnchorClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Anchor_m_c1_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Anchor_m_c1_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 96 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#290>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_c1_get :: ( BtSoftBody_AnchorClass bc ) => bc -> IO (Vec3)
btSoftBody_Anchor_m_c1_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Anchor_m_c1_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 100 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#291>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_c2_set :: ( BtSoftBody_AnchorClass bc ) => bc -> Float -> IO ()
btSoftBody_Anchor_m_c2_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Anchor_m_c2_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 104 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#291>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Anchor_m_c2_get :: ( BtSoftBody_AnchorClass bc ) => bc -> IO (Float)
btSoftBody_Anchor_m_c2_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Anchor_m_c2_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 108 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Body
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#379>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body0 :: IO (BtSoftBody_Body)
btSoftBody_Body0 =
  btSoftBody_Body0'_ >>= \res ->
  mkBtSoftBody_Body res >>= \res' ->
  return (res')
{-# LINE 113 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#380>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body1 :: ( BtSoftBody_ClusterClass p0 ) => p0 -> IO (BtSoftBody_Body)
btSoftBody_Body1 a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Body1'_ a1' >>= \res ->
  mkBtSoftBody_Body res >>= \res' ->
  return (res')
{-# LINE 117 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#381>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body2 :: ( BtCollisionObjectClass p0 ) => p0 -> IO (BtSoftBody_Body)
btSoftBody_Body2 a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Body2'_ a1' >>= \res ->
  mkBtSoftBody_Body res >>= \res' ->
  return (res')
{-# LINE 121 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Body_free :: ( BtSoftBody_BodyClass bc ) => bc -> IO ()
btSoftBody_Body_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Body_free'_ a1' >>= \res ->
  return ()
{-# LINE 122 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#394>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_invWorldInertia :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Mat3)
btSoftBody_Body_invWorldInertia a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_Body_invWorldInertia'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 128 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#386>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_activate :: ( BtSoftBody_BodyClass bc ) => bc -> IO ()
btSoftBody_Body_activate a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Body_activate'_ a1' >>= \res ->
  return ()
{-# LINE 133 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#414>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_linearVelocity :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3)
btSoftBody_Body_linearVelocity a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Body_linearVelocity'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 139 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#436>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyVImpulse :: ( BtSoftBody_BodyClass bc ) => bc -> Vec3 -> Vec3 -> IO (Vec3, Vec3)
btSoftBody_Body_applyVImpulse a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  withVec3 a3 $ \a3' -> 
  btSoftBody_Body_applyVImpulse'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 146 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#436>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyVImpulse' :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3, Vec3)
btSoftBody_Body_applyVImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_applyVImpulse''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 153 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#441>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyDImpulse :: ( BtSoftBody_BodyClass bc ) => bc -> Vec3 -> Vec3 -> IO (Vec3, Vec3)
btSoftBody_Body_applyDImpulse a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  withVec3 a3 $ \a3' -> 
  btSoftBody_Body_applyDImpulse'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 160 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#441>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyDImpulse' :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3, Vec3)
btSoftBody_Body_applyDImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_applyDImpulse''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 167 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#474>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyDCImpulse :: ( BtSoftBody_BodyClass bc ) => bc -> Vec3 -> IO (Vec3)
btSoftBody_Body_applyDCImpulse a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Body_applyDCImpulse'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 173 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#474>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyDCImpulse' :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3)
btSoftBody_Body_applyDCImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Body_applyDCImpulse''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 179 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#469>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyAImpulse :: ( BtSoftBody_BodyClass bc , BtSoftBody_ImpulseClass p0 ) => bc -> p0 -> IO ()
btSoftBody_Body_applyAImpulse a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Body_applyAImpulse'_ a1' a2' >>= \res ->
  return ()
{-# LINE 185 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#420>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_angularVelocity :: ( BtSoftBody_BodyClass bc ) => bc -> Vec3 -> IO (Vec3, Vec3)
btSoftBody_Body_angularVelocity a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_angularVelocity'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 192 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#420>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_angularVelocity' :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3, Vec3)
btSoftBody_Body_angularVelocity' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_angularVelocity''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 199 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#420>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_angularVelocity0 :: ( BtSoftBody_BodyClass bc ) => bc -> Vec3 -> IO (Vec3, Vec3)
btSoftBody_Body_angularVelocity0 a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_angularVelocity0'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 206 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#420>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_angularVelocity0' :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3, Vec3)
btSoftBody_Body_angularVelocity0' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_angularVelocity0''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 213 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#426>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_angularVelocity1 :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3)
btSoftBody_Body_angularVelocity1 a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Body_angularVelocity1'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 219 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#459>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyVAImpulse :: ( BtSoftBody_BodyClass bc ) => bc -> Vec3 -> IO (Vec3)
btSoftBody_Body_applyVAImpulse a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Body_applyVAImpulse'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 225 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#459>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyVAImpulse' :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3)
btSoftBody_Body_applyVAImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Body_applyVAImpulse''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 231 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#446>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyImpulse :: ( BtSoftBody_BodyClass bc , BtSoftBody_ImpulseClass p0 ) => bc -> p0 -> Vec3 -> IO (Vec3)
btSoftBody_Body_applyImpulse a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  withVec3 a3 $ \a3' -> 
  btSoftBody_Body_applyImpulse'_ a1' a2' a3' >>= \res ->
  peekVec3  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 238 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#446>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyImpulse' :: ( BtSoftBody_BodyClass bc , BtSoftBody_ImpulseClass p0 ) => bc -> p0 -> IO (Vec3)
btSoftBody_Body_applyImpulse' a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_applyImpulse''_ a1' a2' a3' >>= \res ->
  peekVec3  a3'>>= \a3'' -> 
  return (a3'')
{-# LINE 245 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#464>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyDAImpulse :: ( BtSoftBody_BodyClass bc ) => bc -> Vec3 -> IO (Vec3)
btSoftBody_Body_applyDAImpulse a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Body_applyDAImpulse'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 251 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#464>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_applyDAImpulse' :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3)
btSoftBody_Body_applyDAImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Body_applyDAImpulse''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 257 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#432>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_velocity :: ( BtSoftBody_BodyClass bc ) => bc -> Vec3 -> IO (Vec3, Vec3)
btSoftBody_Body_velocity a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_velocity'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 264 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#432>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_velocity' :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Vec3, Vec3)
btSoftBody_Body_velocity' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_Body_velocity''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 271 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#401>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_invMass :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Float)
btSoftBody_Body_invMass a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Body_invMass'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 276 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#407>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_xform :: ( BtSoftBody_BodyClass bc ) => bc -> IO (Transform)
btSoftBody_Body_xform a1 =
  withBt a1 $ \a1' -> 
  allocaTransform $ \a2' -> 
  btSoftBody_Body_xform'_ a1' a2' >>= \res ->
  peekTransform  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 282 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#375>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_m_soft_set :: ( BtSoftBody_BodyClass bc , BtSoftBody_ClusterClass a ) => bc -> a -> IO ()
btSoftBody_Body_m_soft_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Body_m_soft_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 286 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#375>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_m_soft_get :: ( BtSoftBody_BodyClass bc ) => bc -> IO (BtSoftBody_Cluster)
btSoftBody_Body_m_soft_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Body_m_soft_get'_ a1' >>= \res ->
  mkBtSoftBody_Cluster res >>= \res' ->
  return (res')
{-# LINE 290 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#376>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_m_rigid_set :: ( BtSoftBody_BodyClass bc , BtRigidBodyClass a ) => bc -> a -> IO ()
btSoftBody_Body_m_rigid_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Body_m_rigid_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 294 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#376>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_m_rigid_get :: ( BtSoftBody_BodyClass bc ) => bc -> IO (BtRigidBody)
btSoftBody_Body_m_rigid_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Body_m_rigid_get'_ a1' >>= \res ->
  mkBtRigidBody res >>= \res' ->
  return (res')
{-# LINE 298 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#377>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_m_collisionObject_set :: ( BtSoftBody_BodyClass bc , BtCollisionObjectClass a ) => bc -> a -> IO ()
btSoftBody_Body_m_collisionObject_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Body_m_collisionObject_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 302 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#377>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Body_m_collisionObject_get :: ( BtSoftBody_BodyClass bc ) => bc -> IO (BtCollisionObject)
btSoftBody_Body_m_collisionObject_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Body_m_collisionObject_get'_ a1' >>= \res ->
  mkBtCollisionObject res >>= \res' ->
  return (res')
{-# LINE 306 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * CJoint
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#548>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint :: IO (BtSoftBody_CJoint)
btSoftBody_CJoint =
  btSoftBody_CJoint'_ >>= \res ->
  mkBtSoftBody_CJoint res >>= \res' ->
  return (res')
{-# LINE 311 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_CJoint_free :: ( BtSoftBody_CJointClass bc ) => bc -> IO ()
btSoftBody_CJoint_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_CJoint_free'_ a1' >>= \res ->
  return ()
{-# LINE 312 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#556>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_Terminate :: ( BtSoftBody_CJointClass bc ) => bc -> Float -> IO ()
btSoftBody_CJoint_Terminate a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_CJoint_Terminate'_ a1' a2' >>= \res ->
  return ()
{-# LINE 318 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#555>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_Solve :: ( BtSoftBody_CJointClass bc ) => bc -> Float -> Float -> IO ()
btSoftBody_CJoint_Solve a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = realToFrac a3} in 
  btSoftBody_CJoint_Solve'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 325 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#554>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_Prepare :: ( BtSoftBody_CJointClass bc ) => bc -> Float -> Int -> IO ()
btSoftBody_CJoint_Prepare a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = fromIntegral a3} in 
  btSoftBody_CJoint_Prepare'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 332 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#549>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_m_life_set :: ( BtSoftBody_CJointClass bc ) => bc -> Int -> IO ()
btSoftBody_CJoint_m_life_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_CJoint_m_life_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 336 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#549>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_m_life_get :: ( BtSoftBody_CJointClass bc ) => bc -> IO (Int)
btSoftBody_CJoint_m_life_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_CJoint_m_life_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 340 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#550>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_m_maxlife_set :: ( BtSoftBody_CJointClass bc ) => bc -> Int -> IO ()
btSoftBody_CJoint_m_maxlife_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_CJoint_m_maxlife_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 344 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#550>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_m_maxlife_get :: ( BtSoftBody_CJointClass bc ) => bc -> IO (Int)
btSoftBody_CJoint_m_maxlife_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_CJoint_m_maxlife_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 348 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#552>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_m_normal_set :: ( BtSoftBody_CJointClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_CJoint_m_normal_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_CJoint_m_normal_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 352 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#552>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_m_normal_get :: ( BtSoftBody_CJointClass bc ) => bc -> IO (Vec3)
btSoftBody_CJoint_m_normal_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_CJoint_m_normal_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 356 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#553>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_m_friction_set :: ( BtSoftBody_CJointClass bc ) => bc -> Float -> IO ()
btSoftBody_CJoint_m_friction_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_CJoint_m_friction_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 360 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#553>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_CJoint_m_friction_get :: ( BtSoftBody_CJointClass bc ) => bc -> IO (Float)
btSoftBody_CJoint_m_friction_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_CJoint_m_friction_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 364 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Cluster
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#343>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster :: IO (BtSoftBody_Cluster)
btSoftBody_Cluster =
  btSoftBody_Cluster'_ >>= \res ->
  mkBtSoftBody_Cluster res >>= \res' ->
  return (res')
{-# LINE 369 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Cluster_free :: ( BtSoftBody_ClusterClass bc ) => bc -> IO ()
btSoftBody_Cluster_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_free'_ a1' >>= \res ->
  return ()
{-# LINE 370 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#336>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_adamping_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Float -> IO ()
btSoftBody_Cluster_m_adamping_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Cluster_m_adamping_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 374 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#336>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_adamping_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Float)
btSoftBody_Cluster_m_adamping_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_adamping_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 378 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#332>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_av_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Cluster_m_av_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Cluster_m_av_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 382 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#332>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_av_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Vec3)
btSoftBody_Cluster_m_av_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Cluster_m_av_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 386 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#342>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_clusterIndex_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Int -> IO ()
btSoftBody_Cluster_m_clusterIndex_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Cluster_m_clusterIndex_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 390 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#342>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_clusterIndex_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Int)
btSoftBody_Cluster_m_clusterIndex_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_clusterIndex_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 394 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#341>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_collide_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Bool -> IO ()
btSoftBody_Cluster_m_collide_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  btSoftBody_Cluster_m_collide_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 398 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#341>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_collide_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Bool)
btSoftBody_Cluster_m_collide_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_collide_get'_ a1' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 402 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#326>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_com_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Cluster_m_com_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Cluster_m_com_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 406 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#326>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_com_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Vec3)
btSoftBody_Cluster_m_com_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Cluster_m_com_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 410 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#340>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_containsAnchor_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Bool -> IO ()
btSoftBody_Cluster_m_containsAnchor_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  btSoftBody_Cluster_m_containsAnchor_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 414 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#340>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_containsAnchor_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Bool)
btSoftBody_Cluster_m_containsAnchor_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_containsAnchor_get'_ a1' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 418 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#320>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_framerefs_set :: ( BtSoftBody_ClusterClass bc , BtAlignedObjectArray_btVector3_Class a ) => bc -> a -> IO ()
btSoftBody_Cluster_m_framerefs_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Cluster_m_framerefs_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 422 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#320>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_framerefs_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (BtAlignedObjectArray_btVector3_)
btSoftBody_Cluster_m_framerefs_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_framerefs_get'_ a1' >>= \res ->
  mkBtAlignedObjectArray_btVector3_ res >>= \res' ->
  return (res')
{-# LINE 426 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#321>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_framexform_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Transform -> IO ()
btSoftBody_Cluster_m_framexform_set a1 a2 =
  withBt a1 $ \a1' -> 
  withTransform a2 $ \a2' -> 
  btSoftBody_Cluster_m_framexform_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 430 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#321>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_framexform_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Transform)
btSoftBody_Cluster_m_framexform_get a1 =
  withBt a1 $ \a1' -> 
  allocaTransform $ \a2' -> 
  btSoftBody_Cluster_m_framexform_get'_ a1' a2' >>= \res ->
  peekTransform  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 434 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#322>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_idmass_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Float -> IO ()
btSoftBody_Cluster_m_idmass_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Cluster_m_idmass_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 438 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#322>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_idmass_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Float)
btSoftBody_Cluster_m_idmass_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_idmass_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 442 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#323>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_imass_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Float -> IO ()
btSoftBody_Cluster_m_imass_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Cluster_m_imass_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 446 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#323>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_imass_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Float)
btSoftBody_Cluster_m_imass_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_imass_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 450 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#325>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_invwi_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Mat3 -> IO ()
btSoftBody_Cluster_m_invwi_set a1 a2 =
  withBt a1 $ \a1' -> 
  withMat3 a2 $ \a2' -> 
  btSoftBody_Cluster_m_invwi_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 454 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#325>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_invwi_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Mat3)
btSoftBody_Cluster_m_invwi_get a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_Cluster_m_invwi_get'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 458 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#335>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_ldamping_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Float -> IO ()
btSoftBody_Cluster_m_ldamping_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Cluster_m_ldamping_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 462 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#335>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_ldamping_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Float)
btSoftBody_Cluster_m_ldamping_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_ldamping_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 466 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#333>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_leaf_set :: ( BtSoftBody_ClusterClass bc , BtDbvtNodeClass a ) => bc -> a -> IO ()
btSoftBody_Cluster_m_leaf_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Cluster_m_leaf_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 470 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#333>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_leaf_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (BtDbvtNode)
btSoftBody_Cluster_m_leaf_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_leaf_get'_ a1' >>= \res ->
  mkBtDbvtNode res >>= \res' ->
  return (res')
{-# LINE 474 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#324>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_locii_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Mat3 -> IO ()
btSoftBody_Cluster_m_locii_set a1 a2 =
  withBt a1 $ \a1' -> 
  withMat3 a2 $ \a2' -> 
  btSoftBody_Cluster_m_locii_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 478 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#324>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_locii_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Mat3)
btSoftBody_Cluster_m_locii_get a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_Cluster_m_locii_get'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 482 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#331>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_lv_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Cluster_m_lv_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Cluster_m_lv_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 486 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#331>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_lv_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Vec3)
btSoftBody_Cluster_m_lv_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Cluster_m_lv_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 490 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#318>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_masses_set :: ( BtSoftBody_ClusterClass bc , BtAlignedObjectArray_float_Class a ) => bc -> a -> IO ()
btSoftBody_Cluster_m_masses_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Cluster_m_masses_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 494 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#318>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_masses_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (BtAlignedObjectArray_float_)
btSoftBody_Cluster_m_masses_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_masses_get'_ a1' >>= \res ->
  mkBtAlignedObjectArray_float_ res >>= \res' ->
  return (res')
{-# LINE 498 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#337>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_matching_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Float -> IO ()
btSoftBody_Cluster_m_matching_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Cluster_m_matching_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 502 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#337>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_matching_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Float)
btSoftBody_Cluster_m_matching_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_matching_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 506 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#338>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_maxSelfCollisionImpulse_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Float -> IO ()
btSoftBody_Cluster_m_maxSelfCollisionImpulse_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Cluster_m_maxSelfCollisionImpulse_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 510 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#338>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_maxSelfCollisionImpulse_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Float)
btSoftBody_Cluster_m_maxSelfCollisionImpulse_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_maxSelfCollisionImpulse_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 514 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#334>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_ndamping_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Float -> IO ()
btSoftBody_Cluster_m_ndamping_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Cluster_m_ndamping_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 518 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#334>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_ndamping_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Float)
btSoftBody_Cluster_m_ndamping_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_ndamping_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 522 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#330>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_ndimpulses_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Int -> IO ()
btSoftBody_Cluster_m_ndimpulses_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Cluster_m_ndimpulses_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 526 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#330>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_ndimpulses_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Int)
btSoftBody_Cluster_m_ndimpulses_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_ndimpulses_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 530 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#319>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_nodes_set :: ( BtSoftBody_ClusterClass bc , BtAlignedObjectArray_btSoftBody_Node_ptr_Class a ) => bc -> a -> IO ()
btSoftBody_Cluster_m_nodes_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Cluster_m_nodes_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 534 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#319>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_nodes_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (BtAlignedObjectArray_btSoftBody_Node_ptr_)
btSoftBody_Cluster_m_nodes_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_nodes_get'_ a1' >>= \res ->
  mkBtAlignedObjectArray_btSoftBody_Node_ptr_ res >>= \res' ->
  return (res')
{-# LINE 538 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#329>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_nvimpulses_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Int -> IO ()
btSoftBody_Cluster_m_nvimpulses_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Cluster_m_nvimpulses_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 542 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#329>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_nvimpulses_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Int)
btSoftBody_Cluster_m_nvimpulses_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_nvimpulses_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 546 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#339>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_selfCollisionImpulseFactor_set :: ( BtSoftBody_ClusterClass bc ) => bc -> Float -> IO ()
btSoftBody_Cluster_m_selfCollisionImpulseFactor_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Cluster_m_selfCollisionImpulseFactor_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 550 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#339>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Cluster_m_selfCollisionImpulseFactor_get :: ( BtSoftBody_ClusterClass bc ) => bc -> IO (Float)
btSoftBody_Cluster_m_selfCollisionImpulseFactor_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Cluster_m_selfCollisionImpulseFactor_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 554 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Config
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#561>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config :: IO (BtSoftBody_Config)
btSoftBody_Config =
  btSoftBody_Config'_ >>= \res ->
  mkBtSoftBody_Config res >>= \res' ->
  return (res')
{-# LINE 559 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Config_free :: ( BtSoftBody_ConfigClass bc ) => bc -> IO ()
btSoftBody_Config_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_free'_ a1' >>= \res ->
  return ()
{-# LINE 560 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#563>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kVCF_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kVCF_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kVCF_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 564 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#563>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kVCF_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kVCF_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kVCF_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 568 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#564>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kDP_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kDP_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kDP_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 572 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#564>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kDP_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kDP_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kDP_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 576 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#565>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kDG_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kDG_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kDG_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 580 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#565>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kDG_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kDG_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kDG_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 584 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#566>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kLF_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kLF_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kLF_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 588 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#566>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kLF_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kLF_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kLF_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 592 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#567>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kPR_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kPR_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kPR_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 596 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#567>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kPR_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kPR_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kPR_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 600 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#568>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kVC_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kVC_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kVC_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 604 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#568>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kVC_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kVC_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kVC_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 608 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#569>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kDF_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kDF_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kDF_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 612 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#569>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kDF_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kDF_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kDF_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 616 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#570>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kMT_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kMT_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kMT_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 620 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#570>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kMT_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kMT_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kMT_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 624 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#571>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kCHR_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kCHR_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kCHR_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 628 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#571>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kCHR_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kCHR_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kCHR_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 632 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#572>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kKHR_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kKHR_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kKHR_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 636 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#572>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kKHR_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kKHR_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kKHR_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 640 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#573>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSHR_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kSHR_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kSHR_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 644 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#573>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSHR_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kSHR_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kSHR_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 648 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#574>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kAHR_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kAHR_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kAHR_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 652 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#574>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kAHR_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kAHR_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kAHR_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 656 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#575>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSRHR_CL_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kSRHR_CL_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kSRHR_CL_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 660 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#575>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSRHR_CL_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kSRHR_CL_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kSRHR_CL_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 664 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#576>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSKHR_CL_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kSKHR_CL_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kSKHR_CL_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 668 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#576>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSKHR_CL_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kSKHR_CL_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kSKHR_CL_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 672 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#577>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSSHR_CL_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kSSHR_CL_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kSSHR_CL_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 676 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#577>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSSHR_CL_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kSSHR_CL_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kSSHR_CL_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 680 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#578>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSR_SPLT_CL_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kSR_SPLT_CL_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kSR_SPLT_CL_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 684 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#578>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSR_SPLT_CL_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kSR_SPLT_CL_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kSR_SPLT_CL_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 688 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#579>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSK_SPLT_CL_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kSK_SPLT_CL_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kSK_SPLT_CL_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 692 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#579>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSK_SPLT_CL_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kSK_SPLT_CL_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kSK_SPLT_CL_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 696 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#580>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSS_SPLT_CL_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_kSS_SPLT_CL_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_kSS_SPLT_CL_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 700 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#580>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_kSS_SPLT_CL_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_kSS_SPLT_CL_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_kSS_SPLT_CL_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 704 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#581>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_maxvolume_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_maxvolume_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_maxvolume_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 708 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#581>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_maxvolume_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_maxvolume_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_maxvolume_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 712 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#582>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_timescale_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Float -> IO ()
btSoftBody_Config_timescale_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Config_timescale_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 716 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#582>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_timescale_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Float)
btSoftBody_Config_timescale_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_timescale_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 720 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#583>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_viterations_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Int -> IO ()
btSoftBody_Config_viterations_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Config_viterations_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 724 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#583>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_viterations_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Int)
btSoftBody_Config_viterations_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_viterations_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 728 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#584>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_piterations_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Int -> IO ()
btSoftBody_Config_piterations_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Config_piterations_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 732 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#584>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_piterations_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Int)
btSoftBody_Config_piterations_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_piterations_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 736 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#585>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_diterations_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Int -> IO ()
btSoftBody_Config_diterations_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Config_diterations_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 740 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#585>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_diterations_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Int)
btSoftBody_Config_diterations_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_diterations_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 744 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#586>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_citerations_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Int -> IO ()
btSoftBody_Config_citerations_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Config_citerations_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 748 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#586>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_citerations_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Int)
btSoftBody_Config_citerations_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_citerations_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 752 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#587>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_collisions_set :: ( BtSoftBody_ConfigClass bc ) => bc -> Int -> IO ()
btSoftBody_Config_collisions_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Config_collisions_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 756 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#587>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_collisions_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (Int)
btSoftBody_Config_collisions_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_collisions_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 760 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#588>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_m_vsequence_set :: ( BtSoftBody_ConfigClass bc , BtAlignedObjectArray_btSoftBody_eVSolver___Class a ) => bc -> a -> IO ()
btSoftBody_Config_m_vsequence_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Config_m_vsequence_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 764 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#588>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_m_vsequence_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (BtAlignedObjectArray_btSoftBody_eVSolver___)
btSoftBody_Config_m_vsequence_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_m_vsequence_get'_ a1' >>= \res ->
  mkBtAlignedObjectArray_btSoftBody_eVSolver___ res >>= \res' ->
  return (res')
{-# LINE 768 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#589>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_m_psequence_set :: ( BtSoftBody_ConfigClass bc , BtAlignedObjectArray_btSoftBody_ePSolver___Class a ) => bc -> a -> IO ()
btSoftBody_Config_m_psequence_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Config_m_psequence_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 772 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#589>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_m_psequence_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (BtAlignedObjectArray_btSoftBody_ePSolver___)
btSoftBody_Config_m_psequence_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_m_psequence_get'_ a1' >>= \res ->
  mkBtAlignedObjectArray_btSoftBody_ePSolver___ res >>= \res' ->
  return (res')
{-# LINE 776 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#590>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_m_dsequence_set :: ( BtSoftBody_ConfigClass bc , BtAlignedObjectArray_btSoftBody_ePSolver___Class a ) => bc -> a -> IO ()
btSoftBody_Config_m_dsequence_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Config_m_dsequence_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 780 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#590>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Config_m_dsequence_get :: ( BtSoftBody_ConfigClass bc ) => bc -> IO (BtAlignedObjectArray_btSoftBody_ePSolver___)
btSoftBody_Config_m_dsequence_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Config_m_dsequence_get'_ a1' >>= \res ->
  mkBtAlignedObjectArray_btSoftBody_ePSolver___ res >>= \res' ->
  return (res')
{-# LINE 784 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Element
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#202>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Element :: IO (BtSoftBody_Element)
btSoftBody_Element =
  btSoftBody_Element'_ >>= \res ->
  mkBtSoftBody_Element res >>= \res' ->
  return (res')
{-# LINE 789 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Element_free :: ( BtSoftBody_ElementClass bc ) => bc -> IO ()
btSoftBody_Element_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Element_free'_ a1' >>= \res ->
  return ()
{-# LINE 790 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#201>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Element_m_tag_set :: ( BtSoftBody_ElementClass bc ) => bc -> VoidPtr -> IO ()
btSoftBody_Element_m_tag_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVoidPtr a2 $ \a2' -> 
  btSoftBody_Element_m_tag_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 794 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#201>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Element_m_tag_get :: ( BtSoftBody_ElementClass bc ) => bc -> IO (VoidPtr)
btSoftBody_Element_m_tag_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Element_m_tag_get'_ a1' >>= \res ->
  mkVoidPtr res >>= \res' ->
  return (res')
{-# LINE 798 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Face
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#244>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Face :: IO (BtSoftBody_Face)
btSoftBody_Face =
  btSoftBody_Face'_ >>= \res ->
  mkBtSoftBody_Face res >>= \res' ->
  return (res')
{-# LINE 803 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Face_free :: ( BtSoftBody_FaceClass bc ) => bc -> IO ()
btSoftBody_Face_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Face_free'_ a1' >>= \res ->
  return ()
{-# LINE 804 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#246>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Face_m_normal_set :: ( BtSoftBody_FaceClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Face_m_normal_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Face_m_normal_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 808 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#246>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Face_m_normal_get :: ( BtSoftBody_FaceClass bc ) => bc -> IO (Vec3)
btSoftBody_Face_m_normal_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Face_m_normal_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 812 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#247>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Face_m_ra_set :: ( BtSoftBody_FaceClass bc ) => bc -> Float -> IO ()
btSoftBody_Face_m_ra_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Face_m_ra_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 816 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#247>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Face_m_ra_get :: ( BtSoftBody_FaceClass bc ) => bc -> IO (Float)
btSoftBody_Face_m_ra_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Face_m_ra_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 820 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#248>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Face_m_leaf_set :: ( BtSoftBody_FaceClass bc , BtDbvtNodeClass a ) => bc -> a -> IO ()
btSoftBody_Face_m_leaf_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Face_m_leaf_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 824 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#248>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Face_m_leaf_get :: ( BtSoftBody_FaceClass bc ) => bc -> IO (BtDbvtNode)
btSoftBody_Face_m_leaf_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Face_m_leaf_get'_ a1' >>= \res ->
  mkBtDbvtNode res >>= \res' ->
  return (res')
{-# LINE 828 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Feature
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#215>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Feature :: IO (BtSoftBody_Feature)
btSoftBody_Feature =
  btSoftBody_Feature'_ >>= \res ->
  mkBtSoftBody_Feature res >>= \res' ->
  return (res')
{-# LINE 833 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Feature_free :: ( BtSoftBody_FeatureClass bc ) => bc -> IO ()
btSoftBody_Feature_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Feature_free'_ a1' >>= \res ->
  return ()
{-# LINE 834 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#216>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Feature_m_material_set :: ( BtSoftBody_FeatureClass bc , BtSoftBody_MaterialClass a ) => bc -> a -> IO ()
btSoftBody_Feature_m_material_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Feature_m_material_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 838 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#216>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Feature_m_material_get :: ( BtSoftBody_FeatureClass bc ) => bc -> IO (BtSoftBody_Material)
btSoftBody_Feature_m_material_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Feature_m_material_get'_ a1' >>= \res ->
  mkBtSoftBody_Material res >>= \res' ->
  return (res')
{-# LINE 842 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * IControl
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#528>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_IControl :: IO (BtSoftBody_AJoint_IControl)
btSoftBody_AJoint_IControl =
  btSoftBody_AJoint_IControl'_ >>= \res ->
  mkBtSoftBody_AJoint_IControl res >>= \res' ->
  return (res')
{-# LINE 847 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_AJoint_IControl_free :: ( BtSoftBody_AJoint_IControlClass bc ) => bc -> IO ()
btSoftBody_AJoint_IControl_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_AJoint_IControl_free'_ a1' >>= \res ->
  return ()
{-# LINE 848 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#531>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_IControl_Default :: ( ) => IO (BtSoftBody_AJoint_IControl)
btSoftBody_AJoint_IControl_Default =
  btSoftBody_AJoint_IControl_Default'_ >>= \res ->
  mkBtSoftBody_AJoint_IControl res >>= \res' ->
  return (res')
{-# LINE 852 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#530>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_IControl_Speed :: ( BtSoftBody_AJoint_IControlClass bc , BtSoftBody_AJointClass p0 ) => bc -> p0 -> Float -> IO (Float)
btSoftBody_AJoint_IControl_Speed a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  let {a3' = realToFrac a3} in 
  btSoftBody_AJoint_IControl_Speed'_ a1' a2' a3' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 859 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#529>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_IControl_Prepare :: ( BtSoftBody_AJoint_IControlClass bc , BtSoftBody_AJointClass p0 ) => bc -> p0 -> IO ()
btSoftBody_AJoint_IControl_Prepare a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_AJoint_IControl_Prepare'_ a1' a2' >>= \res ->
  return ()
{-# LINE 865 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * ImplicitFn
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#172>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_ImplicitFn_Eval :: ( BtSoftBody_ImplicitFnClass bc ) => bc -> Vec3 -> IO (Float, Vec3)
btSoftBody_ImplicitFn_Eval a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_ImplicitFn_Eval'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  let {res' = realToFrac res} in
  return (res', a2'')
{-# LINE 872 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#172>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_ImplicitFn_Eval' :: ( BtSoftBody_ImplicitFnClass bc ) => bc -> IO (Float, Vec3)
btSoftBody_ImplicitFn_Eval' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_ImplicitFn_Eval''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  let {res' = realToFrac res} in
  return (res', a2'')
{-# LINE 878 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Impulse
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#356>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse :: IO (BtSoftBody_Impulse)
btSoftBody_Impulse =
  btSoftBody_Impulse'_ >>= \res ->
  mkBtSoftBody_Impulse res >>= \res' ->
  return (res')
{-# LINE 883 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Impulse_free :: ( BtSoftBody_ImpulseClass bc ) => bc -> IO ()
btSoftBody_Impulse_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Impulse_free'_ a1' >>= \res ->
  return ()
{-# LINE 884 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#355>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse_m_asDrift_set :: ( BtSoftBody_ImpulseClass bc ) => bc -> Int -> IO ()
btSoftBody_Impulse_m_asDrift_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Impulse_m_asDrift_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 888 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#355>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse_m_asDrift_get :: ( BtSoftBody_ImpulseClass bc ) => bc -> IO (Int)
btSoftBody_Impulse_m_asDrift_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Impulse_m_asDrift_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 892 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#354>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse_m_asVelocity_set :: ( BtSoftBody_ImpulseClass bc ) => bc -> Int -> IO ()
btSoftBody_Impulse_m_asVelocity_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Impulse_m_asVelocity_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 896 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#354>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse_m_asVelocity_get :: ( BtSoftBody_ImpulseClass bc ) => bc -> IO (Int)
btSoftBody_Impulse_m_asVelocity_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Impulse_m_asVelocity_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 900 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#353>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse_m_drift_set :: ( BtSoftBody_ImpulseClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Impulse_m_drift_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Impulse_m_drift_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 904 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#353>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse_m_drift_get :: ( BtSoftBody_ImpulseClass bc ) => bc -> IO (Vec3)
btSoftBody_Impulse_m_drift_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Impulse_m_drift_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 908 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#352>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse_m_velocity_set :: ( BtSoftBody_ImpulseClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Impulse_m_velocity_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Impulse_m_velocity_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 912 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#352>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Impulse_m_velocity_get :: ( BtSoftBody_ImpulseClass bc ) => bc -> IO (Vec3)
btSoftBody_Impulse_m_velocity_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Impulse_m_velocity_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 916 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Joint
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#508>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Terminate :: ( BtSoftBody_JointClass bc ) => bc -> Float -> IO ()
btSoftBody_Joint_Terminate a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Joint_Terminate'_ a1' a2' >>= \res ->
  return ()
{-# LINE 923 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#507>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Solve :: ( BtSoftBody_JointClass bc ) => bc -> Float -> Float -> IO ()
btSoftBody_Joint_Solve a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = realToFrac a3} in 
  btSoftBody_Joint_Solve'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 930 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#506>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Prepare :: ( BtSoftBody_JointClass bc ) => bc -> Float -> Int -> IO ()
btSoftBody_Joint_Prepare a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = fromIntegral a3} in 
  btSoftBody_Joint_Prepare'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 937 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#497>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_cfm_set :: ( BtSoftBody_JointClass bc ) => bc -> Float -> IO ()
btSoftBody_Joint_m_cfm_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Joint_m_cfm_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 941 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#497>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_cfm_get :: ( BtSoftBody_JointClass bc ) => bc -> IO (Float)
btSoftBody_Joint_m_cfm_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Joint_m_cfm_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 945 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#498>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_erp_set :: ( BtSoftBody_JointClass bc ) => bc -> Float -> IO ()
btSoftBody_Joint_m_erp_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Joint_m_erp_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 949 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#498>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_erp_get :: ( BtSoftBody_JointClass bc ) => bc -> IO (Float)
btSoftBody_Joint_m_erp_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Joint_m_erp_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 953 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#499>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_split_set :: ( BtSoftBody_JointClass bc ) => bc -> Float -> IO ()
btSoftBody_Joint_m_split_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Joint_m_split_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 957 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#499>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_split_get :: ( BtSoftBody_JointClass bc ) => bc -> IO (Float)
btSoftBody_Joint_m_split_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Joint_m_split_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 961 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#500>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_drift_set :: ( BtSoftBody_JointClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Joint_m_drift_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Joint_m_drift_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 965 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#500>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_drift_get :: ( BtSoftBody_JointClass bc ) => bc -> IO (Vec3)
btSoftBody_Joint_m_drift_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Joint_m_drift_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 969 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#501>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_sdrift_set :: ( BtSoftBody_JointClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Joint_m_sdrift_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Joint_m_sdrift_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 973 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#501>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_sdrift_get :: ( BtSoftBody_JointClass bc ) => bc -> IO (Vec3)
btSoftBody_Joint_m_sdrift_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Joint_m_sdrift_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 977 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#502>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_massmatrix_set :: ( BtSoftBody_JointClass bc ) => bc -> Mat3 -> IO ()
btSoftBody_Joint_m_massmatrix_set a1 a2 =
  withBt a1 $ \a1' -> 
  withMat3 a2 $ \a2' -> 
  btSoftBody_Joint_m_massmatrix_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 981 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#502>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_massmatrix_get :: ( BtSoftBody_JointClass bc ) => bc -> IO (Mat3)
btSoftBody_Joint_m_massmatrix_get a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_Joint_m_massmatrix_get'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 985 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#503>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_delete_set :: ( BtSoftBody_JointClass bc ) => bc -> Bool -> IO ()
btSoftBody_Joint_m_delete_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  btSoftBody_Joint_m_delete_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 989 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#503>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_m_delete_get :: ( BtSoftBody_JointClass bc ) => bc -> IO (Bool)
btSoftBody_Joint_m_delete_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Joint_m_delete_get'_ a1' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 993 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * LJoint
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#513>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_LJoint :: IO (BtSoftBody_LJoint)
btSoftBody_LJoint =
  btSoftBody_LJoint'_ >>= \res ->
  mkBtSoftBody_LJoint res >>= \res' ->
  return (res')
{-# LINE 998 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_LJoint_free :: ( BtSoftBody_LJointClass bc ) => bc -> IO ()
btSoftBody_LJoint_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_LJoint_free'_ a1' >>= \res ->
  return ()
{-# LINE 999 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#521>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_LJoint_Terminate :: ( BtSoftBody_LJointClass bc ) => bc -> Float -> IO ()
btSoftBody_LJoint_Terminate a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_LJoint_Terminate'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1005 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#520>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_LJoint_Solve :: ( BtSoftBody_LJointClass bc ) => bc -> Float -> Float -> IO ()
btSoftBody_LJoint_Solve a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = realToFrac a3} in 
  btSoftBody_LJoint_Solve'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 1012 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#519>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_LJoint_Prepare :: ( BtSoftBody_LJointClass bc ) => bc -> Float -> Int -> IO ()
btSoftBody_LJoint_Prepare a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = fromIntegral a3} in 
  btSoftBody_LJoint_Prepare'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 1019 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Link
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#233>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link :: IO (BtSoftBody_Link)
btSoftBody_Link =
  btSoftBody_Link'_ >>= \res ->
  mkBtSoftBody_Link res >>= \res' ->
  return (res')
{-# LINE 1024 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Link_free :: ( BtSoftBody_LinkClass bc ) => bc -> IO ()
btSoftBody_Link_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Link_free'_ a1' >>= \res ->
  return ()
{-# LINE 1025 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#235>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_rl_set :: ( BtSoftBody_LinkClass bc ) => bc -> Float -> IO ()
btSoftBody_Link_m_rl_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Link_m_rl_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1029 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#235>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_rl_get :: ( BtSoftBody_LinkClass bc ) => bc -> IO (Float)
btSoftBody_Link_m_rl_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Link_m_rl_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1033 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#236>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_bbending_set :: ( BtSoftBody_LinkClass bc ) => bc -> Int -> IO ()
btSoftBody_Link_m_bbending_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Link_m_bbending_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1037 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#236>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_bbending_get :: ( BtSoftBody_LinkClass bc ) => bc -> IO (Int)
btSoftBody_Link_m_bbending_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Link_m_bbending_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 1041 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#237>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_c0_set :: ( BtSoftBody_LinkClass bc ) => bc -> Float -> IO ()
btSoftBody_Link_m_c0_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Link_m_c0_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1045 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#237>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_c0_get :: ( BtSoftBody_LinkClass bc ) => bc -> IO (Float)
btSoftBody_Link_m_c0_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Link_m_c0_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1049 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#238>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_c1_set :: ( BtSoftBody_LinkClass bc ) => bc -> Float -> IO ()
btSoftBody_Link_m_c1_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Link_m_c1_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1053 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#238>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_c1_get :: ( BtSoftBody_LinkClass bc ) => bc -> IO (Float)
btSoftBody_Link_m_c1_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Link_m_c1_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1057 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#239>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_c2_set :: ( BtSoftBody_LinkClass bc ) => bc -> Float -> IO ()
btSoftBody_Link_m_c2_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Link_m_c2_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1061 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#239>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_c2_get :: ( BtSoftBody_LinkClass bc ) => bc -> IO (Float)
btSoftBody_Link_m_c2_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Link_m_c2_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1065 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#240>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_c3_set :: ( BtSoftBody_LinkClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Link_m_c3_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Link_m_c3_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1069 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#240>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Link_m_c3_get :: ( BtSoftBody_LinkClass bc ) => bc -> IO (Vec3)
btSoftBody_Link_m_c3_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Link_m_c3_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1073 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Material
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#206>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material :: IO (BtSoftBody_Material)
btSoftBody_Material =
  btSoftBody_Material'_ >>= \res ->
  mkBtSoftBody_Material res >>= \res' ->
  return (res')
{-# LINE 1078 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Material_free :: ( BtSoftBody_MaterialClass bc ) => bc -> IO ()
btSoftBody_Material_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Material_free'_ a1' >>= \res ->
  return ()
{-# LINE 1079 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#210>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material_m_flags_set :: ( BtSoftBody_MaterialClass bc ) => bc -> Int -> IO ()
btSoftBody_Material_m_flags_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Material_m_flags_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1083 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#210>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material_m_flags_get :: ( BtSoftBody_MaterialClass bc ) => bc -> IO (Int)
btSoftBody_Material_m_flags_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Material_m_flags_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 1087 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#208>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material_m_kAST_set :: ( BtSoftBody_MaterialClass bc ) => bc -> Float -> IO ()
btSoftBody_Material_m_kAST_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Material_m_kAST_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1091 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#208>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material_m_kAST_get :: ( BtSoftBody_MaterialClass bc ) => bc -> IO (Float)
btSoftBody_Material_m_kAST_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Material_m_kAST_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1095 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#207>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material_m_kLST_set :: ( BtSoftBody_MaterialClass bc ) => bc -> Float -> IO ()
btSoftBody_Material_m_kLST_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Material_m_kLST_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1099 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#207>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material_m_kLST_get :: ( BtSoftBody_MaterialClass bc ) => bc -> IO (Float)
btSoftBody_Material_m_kLST_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Material_m_kLST_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1103 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#209>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material_m_kVST_set :: ( BtSoftBody_MaterialClass bc ) => bc -> Float -> IO ()
btSoftBody_Material_m_kVST_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Material_m_kVST_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1107 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#209>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Material_m_kVST_get :: ( BtSoftBody_MaterialClass bc ) => bc -> IO (Float)
btSoftBody_Material_m_kVST_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Material_m_kVST_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1111 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Node
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#220>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node :: IO (BtSoftBody_Node)
btSoftBody_Node =
  btSoftBody_Node'_ >>= \res ->
  mkBtSoftBody_Node res >>= \res' ->
  return (res')
{-# LINE 1116 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Node_free :: ( BtSoftBody_NodeClass bc ) => bc -> IO ()
btSoftBody_Node_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Node_free'_ a1' >>= \res ->
  return ()
{-# LINE 1117 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#227>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_area_set :: ( BtSoftBody_NodeClass bc ) => bc -> Float -> IO ()
btSoftBody_Node_m_area_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Node_m_area_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1121 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#227>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_area_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (Float)
btSoftBody_Node_m_area_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Node_m_area_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1125 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#229>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_battach_set :: ( BtSoftBody_NodeClass bc ) => bc -> Int -> IO ()
btSoftBody_Node_m_battach_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Node_m_battach_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1129 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#229>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_battach_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (Int)
btSoftBody_Node_m_battach_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Node_m_battach_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 1133 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#224>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_f_set :: ( BtSoftBody_NodeClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Node_m_f_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Node_m_f_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1137 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#224>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_f_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (Vec3)
btSoftBody_Node_m_f_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Node_m_f_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1141 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#226>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_im_set :: ( BtSoftBody_NodeClass bc ) => bc -> Float -> IO ()
btSoftBody_Node_m_im_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Node_m_im_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1145 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#226>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_im_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (Float)
btSoftBody_Node_m_im_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Node_m_im_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1149 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#228>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_leaf_set :: ( BtSoftBody_NodeClass bc , BtDbvtNodeClass a ) => bc -> a -> IO ()
btSoftBody_Node_m_leaf_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Node_m_leaf_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1153 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#228>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_leaf_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (BtDbvtNode)
btSoftBody_Node_m_leaf_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Node_m_leaf_get'_ a1' >>= \res ->
  mkBtDbvtNode res >>= \res' ->
  return (res')
{-# LINE 1157 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#225>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_n_set :: ( BtSoftBody_NodeClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Node_m_n_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Node_m_n_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1161 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#225>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_n_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (Vec3)
btSoftBody_Node_m_n_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Node_m_n_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1165 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#222>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_q_set :: ( BtSoftBody_NodeClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Node_m_q_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Node_m_q_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1169 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#222>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_q_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (Vec3)
btSoftBody_Node_m_q_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Node_m_q_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1173 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#223>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_v_set :: ( BtSoftBody_NodeClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Node_m_v_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Node_m_v_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1177 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#223>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_v_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (Vec3)
btSoftBody_Node_m_v_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Node_m_v_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1181 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#221>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_x_set :: ( BtSoftBody_NodeClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Node_m_x_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Node_m_x_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1185 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#221>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Node_m_x_get :: ( BtSoftBody_NodeClass bc ) => bc -> IO (Vec3)
btSoftBody_Node_m_x_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Node_m_x_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1189 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Note
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#295>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Note :: IO (BtSoftBody_Note)
btSoftBody_Note =
  btSoftBody_Note'_ >>= \res ->
  mkBtSoftBody_Note res >>= \res' ->
  return (res')
{-# LINE 1194 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Note_free :: ( BtSoftBody_NoteClass bc ) => bc -> IO ()
btSoftBody_Note_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Note_free'_ a1' >>= \res ->
  return ()
{-# LINE 1195 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#296>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Note_m_text_set :: ( BtSoftBody_NoteClass bc ) => bc -> String -> IO ()
btSoftBody_Note_m_text_set a1 a2 =
  withBt a1 $ \a1' -> 
  withCString a2 $ \a2' -> 
  btSoftBody_Note_m_text_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1199 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#296>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Note_m_text_get :: ( BtSoftBody_NoteClass bc ) => bc -> IO (String)
btSoftBody_Note_m_text_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Note_m_text_get'_ a1' >>= \res ->
  peekCString res >>= \res' ->
  return (res')
{-# LINE 1203 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#297>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Note_m_offset_set :: ( BtSoftBody_NoteClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Note_m_offset_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Note_m_offset_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1207 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#297>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Note_m_offset_get :: ( BtSoftBody_NoteClass bc ) => bc -> IO (Vec3)
btSoftBody_Note_m_offset_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Note_m_offset_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1211 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#298>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Note_m_rank_set :: ( BtSoftBody_NoteClass bc ) => bc -> Int -> IO ()
btSoftBody_Note_m_rank_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_Note_m_rank_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1215 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#298>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Note_m_rank_get :: ( BtSoftBody_NoteClass bc ) => bc -> IO (Int)
btSoftBody_Note_m_rank_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Note_m_rank_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 1219 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Pose
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#304>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose :: IO (BtSoftBody_Pose)
btSoftBody_Pose =
  btSoftBody_Pose'_ >>= \res ->
  mkBtSoftBody_Pose res >>= \res' ->
  return (res')
{-# LINE 1224 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Pose_free :: ( BtSoftBody_PoseClass bc ) => bc -> IO ()
btSoftBody_Pose_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Pose_free'_ a1' >>= \res ->
  return ()
{-# LINE 1225 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#305>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_bvolume_set :: ( BtSoftBody_PoseClass bc ) => bc -> Bool -> IO ()
btSoftBody_Pose_m_bvolume_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  btSoftBody_Pose_m_bvolume_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1229 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#305>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_bvolume_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (Bool)
btSoftBody_Pose_m_bvolume_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Pose_m_bvolume_get'_ a1' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1233 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#306>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_bframe_set :: ( BtSoftBody_PoseClass bc ) => bc -> Bool -> IO ()
btSoftBody_Pose_m_bframe_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromBool a2} in 
  btSoftBody_Pose_m_bframe_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1237 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#306>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_bframe_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (Bool)
btSoftBody_Pose_m_bframe_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Pose_m_bframe_get'_ a1' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1241 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#307>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_volume_set :: ( BtSoftBody_PoseClass bc ) => bc -> Float -> IO ()
btSoftBody_Pose_m_volume_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Pose_m_volume_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1245 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#307>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_volume_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (Float)
btSoftBody_Pose_m_volume_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Pose_m_volume_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1249 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#308>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_pos_set :: ( BtSoftBody_PoseClass bc , BtAlignedObjectArray_btVector3_Class a ) => bc -> a -> IO ()
btSoftBody_Pose_m_pos_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Pose_m_pos_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1253 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#308>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_pos_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (BtAlignedObjectArray_btVector3_)
btSoftBody_Pose_m_pos_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Pose_m_pos_get'_ a1' >>= \res ->
  mkBtAlignedObjectArray_btVector3_ res >>= \res' ->
  return (res')
{-# LINE 1257 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#309>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_wgh_set :: ( BtSoftBody_PoseClass bc , BtAlignedObjectArray_float_Class a ) => bc -> a -> IO ()
btSoftBody_Pose_m_wgh_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Pose_m_wgh_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1261 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#309>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_wgh_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (BtAlignedObjectArray_float_)
btSoftBody_Pose_m_wgh_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Pose_m_wgh_get'_ a1' >>= \res ->
  mkBtAlignedObjectArray_float_ res >>= \res' ->
  return (res')
{-# LINE 1265 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#310>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_com_set :: ( BtSoftBody_PoseClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_Pose_m_com_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_Pose_m_com_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1269 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#310>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_com_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (Vec3)
btSoftBody_Pose_m_com_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_Pose_m_com_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1273 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#311>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_rot_set :: ( BtSoftBody_PoseClass bc ) => bc -> Mat3 -> IO ()
btSoftBody_Pose_m_rot_set a1 a2 =
  withBt a1 $ \a1' -> 
  withMat3 a2 $ \a2' -> 
  btSoftBody_Pose_m_rot_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1277 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#311>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_rot_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (Mat3)
btSoftBody_Pose_m_rot_get a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_Pose_m_rot_get'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1281 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#312>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_scl_set :: ( BtSoftBody_PoseClass bc ) => bc -> Mat3 -> IO ()
btSoftBody_Pose_m_scl_set a1 a2 =
  withBt a1 $ \a1' -> 
  withMat3 a2 $ \a2' -> 
  btSoftBody_Pose_m_scl_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1285 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#312>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_scl_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (Mat3)
btSoftBody_Pose_m_scl_get a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_Pose_m_scl_get'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1289 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#313>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_aqq_set :: ( BtSoftBody_PoseClass bc ) => bc -> Mat3 -> IO ()
btSoftBody_Pose_m_aqq_set a1 a2 =
  withBt a1 $ \a1' -> 
  withMat3 a2 $ \a2' -> 
  btSoftBody_Pose_m_aqq_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1293 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#313>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Pose_m_aqq_get :: ( BtSoftBody_PoseClass bc ) => bc -> IO (Mat3)
btSoftBody_Pose_m_aqq_get a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_Pose_m_aqq_get'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1297 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * RContact
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#262>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact :: IO (BtSoftBody_RContact)
btSoftBody_RContact =
  btSoftBody_RContact'_ >>= \res ->
  mkBtSoftBody_RContact res >>= \res' ->
  return (res')
{-# LINE 1302 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_RContact_free :: ( BtSoftBody_RContactClass bc ) => bc -> IO ()
btSoftBody_RContact_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RContact_free'_ a1' >>= \res ->
  return ()
{-# LINE 1303 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#263>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_cti_set :: ( BtSoftBody_RContactClass bc , BtSoftBody_sCtiClass a ) => bc -> a -> IO ()
btSoftBody_RContact_m_cti_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_RContact_m_cti_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1307 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#263>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_cti_get :: ( BtSoftBody_RContactClass bc ) => bc -> IO (BtSoftBody_sCti)
btSoftBody_RContact_m_cti_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RContact_m_cti_get'_ a1' >>= \res ->
  mkBtSoftBody_sCti res >>= \res' ->
  return (res')
{-# LINE 1311 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#264>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_node_set :: ( BtSoftBody_RContactClass bc , BtSoftBody_NodeClass a ) => bc -> a -> IO ()
btSoftBody_RContact_m_node_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_RContact_m_node_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1315 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#264>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_node_get :: ( BtSoftBody_RContactClass bc ) => bc -> IO (BtSoftBody_Node)
btSoftBody_RContact_m_node_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RContact_m_node_get'_ a1' >>= \res ->
  mkBtSoftBody_Node res >>= \res' ->
  return (res')
{-# LINE 1319 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#265>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c0_set :: ( BtSoftBody_RContactClass bc ) => bc -> Mat3 -> IO ()
btSoftBody_RContact_m_c0_set a1 a2 =
  withBt a1 $ \a1' -> 
  withMat3 a2 $ \a2' -> 
  btSoftBody_RContact_m_c0_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1323 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#265>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c0_get :: ( BtSoftBody_RContactClass bc ) => bc -> IO (Mat3)
btSoftBody_RContact_m_c0_get a1 =
  withBt a1 $ \a1' -> 
  allocaMat3 $ \a2' -> 
  btSoftBody_RContact_m_c0_get'_ a1' a2' >>= \res ->
  peekMat3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1327 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#266>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c1_set :: ( BtSoftBody_RContactClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_RContact_m_c1_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_RContact_m_c1_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1331 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#266>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c1_get :: ( BtSoftBody_RContactClass bc ) => bc -> IO (Vec3)
btSoftBody_RContact_m_c1_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_RContact_m_c1_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1335 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#267>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c2_set :: ( BtSoftBody_RContactClass bc ) => bc -> Float -> IO ()
btSoftBody_RContact_m_c2_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_RContact_m_c2_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1339 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#267>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c2_get :: ( BtSoftBody_RContactClass bc ) => bc -> IO (Float)
btSoftBody_RContact_m_c2_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RContact_m_c2_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1343 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#268>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c3_set :: ( BtSoftBody_RContactClass bc ) => bc -> Float -> IO ()
btSoftBody_RContact_m_c3_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_RContact_m_c3_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1347 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#268>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c3_get :: ( BtSoftBody_RContactClass bc ) => bc -> IO (Float)
btSoftBody_RContact_m_c3_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RContact_m_c3_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1351 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#269>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c4_set :: ( BtSoftBody_RContactClass bc ) => bc -> Float -> IO ()
btSoftBody_RContact_m_c4_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_RContact_m_c4_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1355 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#269>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RContact_m_c4_get :: ( BtSoftBody_RContactClass bc ) => bc -> IO (Float)
btSoftBody_RContact_m_c4_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RContact_m_c4_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1359 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * RayFromToCaster
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#610>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster :: Vec3 -> Vec3 -> Float -> IO (BtSoftBody_RayFromToCaster)
btSoftBody_RayFromToCaster a1 a2 a3 =
  withVec3 a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  let {a3' = realToFrac a3} in 
  btSoftBody_RayFromToCaster'_ a1' a2' a3' >>= \res ->
  mkBtSoftBody_RayFromToCaster res >>= \res' ->
  return (res')
{-# LINE 1364 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_RayFromToCaster_free :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> IO ()
btSoftBody_RayFromToCaster_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RayFromToCaster_free'_ a1' >>= \res ->
  return ()
{-# LINE 1365 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#611>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_Process :: ( BtSoftBody_RayFromToCasterClass bc , BtDbvtNodeClass p0 ) => bc -> p0 -> IO ()
btSoftBody_RayFromToCaster_Process a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_RayFromToCaster_Process'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1371 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#604>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_rayFrom_set :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_RayFromToCaster_m_rayFrom_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_RayFromToCaster_m_rayFrom_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1375 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#604>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_rayFrom_get :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> IO (Vec3)
btSoftBody_RayFromToCaster_m_rayFrom_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_RayFromToCaster_m_rayFrom_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1379 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#605>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_rayTo_set :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_RayFromToCaster_m_rayTo_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_RayFromToCaster_m_rayTo_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1383 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#605>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_rayTo_get :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> IO (Vec3)
btSoftBody_RayFromToCaster_m_rayTo_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_RayFromToCaster_m_rayTo_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1387 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#606>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_rayNormalizedDirection_set :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_RayFromToCaster_m_rayNormalizedDirection_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_RayFromToCaster_m_rayNormalizedDirection_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1391 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#606>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_rayNormalizedDirection_get :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> IO (Vec3)
btSoftBody_RayFromToCaster_m_rayNormalizedDirection_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_RayFromToCaster_m_rayNormalizedDirection_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1395 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#607>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_mint_set :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> Float -> IO ()
btSoftBody_RayFromToCaster_m_mint_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_RayFromToCaster_m_mint_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1399 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#607>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_mint_get :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> IO (Float)
btSoftBody_RayFromToCaster_m_mint_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RayFromToCaster_m_mint_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1403 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#608>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_face_set :: ( BtSoftBody_RayFromToCasterClass bc , BtSoftBody_FaceClass a ) => bc -> a -> IO ()
btSoftBody_RayFromToCaster_m_face_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_RayFromToCaster_m_face_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1407 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#608>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_face_get :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> IO (BtSoftBody_Face)
btSoftBody_RayFromToCaster_m_face_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RayFromToCaster_m_face_get'_ a1' >>= \res ->
  mkBtSoftBody_Face res >>= \res' ->
  return (res')
{-# LINE 1411 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#609>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_tests_set :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> Int -> IO ()
btSoftBody_RayFromToCaster_m_tests_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_RayFromToCaster_m_tests_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1415 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#609>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_RayFromToCaster_m_tests_get :: ( BtSoftBody_RayFromToCasterClass bc ) => bc -> IO (Int)
btSoftBody_RayFromToCaster_m_tests_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_RayFromToCaster_m_tests_get'_ a1' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 1419 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * SContact
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#273>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact :: IO (BtSoftBody_SContact)
btSoftBody_SContact =
  btSoftBody_SContact'_ >>= \res ->
  mkBtSoftBody_SContact res >>= \res' ->
  return (res')
{-# LINE 1424 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_SContact_free :: ( BtSoftBody_SContactClass bc ) => bc -> IO ()
btSoftBody_SContact_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SContact_free'_ a1' >>= \res ->
  return ()
{-# LINE 1425 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#274>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_node_set :: ( BtSoftBody_SContactClass bc , BtSoftBody_NodeClass a ) => bc -> a -> IO ()
btSoftBody_SContact_m_node_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_SContact_m_node_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1429 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#274>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_node_get :: ( BtSoftBody_SContactClass bc ) => bc -> IO (BtSoftBody_Node)
btSoftBody_SContact_m_node_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SContact_m_node_get'_ a1' >>= \res ->
  mkBtSoftBody_Node res >>= \res' ->
  return (res')
{-# LINE 1433 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#275>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_face_set :: ( BtSoftBody_SContactClass bc , BtSoftBody_FaceClass a ) => bc -> a -> IO ()
btSoftBody_SContact_m_face_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_SContact_m_face_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1437 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#275>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_face_get :: ( BtSoftBody_SContactClass bc ) => bc -> IO (BtSoftBody_Face)
btSoftBody_SContact_m_face_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SContact_m_face_get'_ a1' >>= \res ->
  mkBtSoftBody_Face res >>= \res' ->
  return (res')
{-# LINE 1441 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#276>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_weights_set :: ( BtSoftBody_SContactClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_SContact_m_weights_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_SContact_m_weights_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1445 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#276>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_weights_get :: ( BtSoftBody_SContactClass bc ) => bc -> IO (Vec3)
btSoftBody_SContact_m_weights_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_SContact_m_weights_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1449 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#277>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_normal_set :: ( BtSoftBody_SContactClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_SContact_m_normal_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_SContact_m_normal_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1453 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#277>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_normal_get :: ( BtSoftBody_SContactClass bc ) => bc -> IO (Vec3)
btSoftBody_SContact_m_normal_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_SContact_m_normal_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1457 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#278>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_margin_set :: ( BtSoftBody_SContactClass bc ) => bc -> Float -> IO ()
btSoftBody_SContact_m_margin_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_SContact_m_margin_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1461 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#278>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_margin_get :: ( BtSoftBody_SContactClass bc ) => bc -> IO (Float)
btSoftBody_SContact_m_margin_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SContact_m_margin_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1465 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#279>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_friction_set :: ( BtSoftBody_SContactClass bc ) => bc -> Float -> IO ()
btSoftBody_SContact_m_friction_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_SContact_m_friction_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1469 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#279>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SContact_m_friction_get :: ( BtSoftBody_SContactClass bc ) => bc -> IO (Float)
btSoftBody_SContact_m_friction_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SContact_m_friction_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1473 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * SolverState
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#594>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState :: IO (BtSoftBody_SolverState)
btSoftBody_SolverState =
  btSoftBody_SolverState'_ >>= \res ->
  mkBtSoftBody_SolverState res >>= \res' ->
  return (res')
{-# LINE 1478 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_SolverState_free :: ( BtSoftBody_SolverStateClass bc ) => bc -> IO ()
btSoftBody_SolverState_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SolverState_free'_ a1' >>= \res ->
  return ()
{-# LINE 1479 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#595>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_sdt_set :: ( BtSoftBody_SolverStateClass bc ) => bc -> Float -> IO ()
btSoftBody_SolverState_sdt_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_SolverState_sdt_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1483 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#595>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_sdt_get :: ( BtSoftBody_SolverStateClass bc ) => bc -> IO (Float)
btSoftBody_SolverState_sdt_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SolverState_sdt_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1487 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#596>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_isdt_set :: ( BtSoftBody_SolverStateClass bc ) => bc -> Float -> IO ()
btSoftBody_SolverState_isdt_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_SolverState_isdt_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1491 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#596>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_isdt_get :: ( BtSoftBody_SolverStateClass bc ) => bc -> IO (Float)
btSoftBody_SolverState_isdt_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SolverState_isdt_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1495 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#597>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_velmrg_set :: ( BtSoftBody_SolverStateClass bc ) => bc -> Float -> IO ()
btSoftBody_SolverState_velmrg_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_SolverState_velmrg_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1499 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#597>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_velmrg_get :: ( BtSoftBody_SolverStateClass bc ) => bc -> IO (Float)
btSoftBody_SolverState_velmrg_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SolverState_velmrg_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1503 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#598>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_radmrg_set :: ( BtSoftBody_SolverStateClass bc ) => bc -> Float -> IO ()
btSoftBody_SolverState_radmrg_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_SolverState_radmrg_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1507 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#598>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_radmrg_get :: ( BtSoftBody_SolverStateClass bc ) => bc -> IO (Float)
btSoftBody_SolverState_radmrg_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SolverState_radmrg_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1511 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#599>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_updmrg_set :: ( BtSoftBody_SolverStateClass bc ) => bc -> Float -> IO ()
btSoftBody_SolverState_updmrg_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_SolverState_updmrg_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1515 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#599>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_SolverState_updmrg_get :: ( BtSoftBody_SolverStateClass bc ) => bc -> IO (Float)
btSoftBody_SolverState_updmrg_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_SolverState_updmrg_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1519 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Specs
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#490>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Specs :: IO (BtSoftBody_Joint_Specs)
btSoftBody_Joint_Specs =
  btSoftBody_Joint_Specs'_ >>= \res ->
  mkBtSoftBody_Joint_Specs res >>= \res' ->
  return (res')
{-# LINE 1524 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Joint_Specs_free :: ( BtSoftBody_Joint_SpecsClass bc ) => bc -> IO ()
btSoftBody_Joint_Specs_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Joint_Specs_free'_ a1' >>= \res ->
  return ()
{-# LINE 1525 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#491>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Specs_erp_set :: ( BtSoftBody_Joint_SpecsClass bc ) => bc -> Float -> IO ()
btSoftBody_Joint_Specs_erp_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Joint_Specs_erp_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1529 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#491>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Specs_erp_get :: ( BtSoftBody_Joint_SpecsClass bc ) => bc -> IO (Float)
btSoftBody_Joint_Specs_erp_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Joint_Specs_erp_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1533 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#492>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Specs_cfm_set :: ( BtSoftBody_Joint_SpecsClass bc ) => bc -> Float -> IO ()
btSoftBody_Joint_Specs_cfm_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Joint_Specs_cfm_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1537 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#492>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Specs_cfm_get :: ( BtSoftBody_Joint_SpecsClass bc ) => bc -> IO (Float)
btSoftBody_Joint_Specs_cfm_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Joint_Specs_cfm_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1541 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#493>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Specs_split_set :: ( BtSoftBody_Joint_SpecsClass bc ) => bc -> Float -> IO ()
btSoftBody_Joint_Specs_split_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Joint_Specs_split_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1545 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#493>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Joint_Specs_split_get :: ( BtSoftBody_Joint_SpecsClass bc ) => bc -> IO (Float)
btSoftBody_Joint_Specs_split_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Joint_Specs_split_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1549 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Specs
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#515>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_LJoint_Specs :: IO (BtSoftBody_LJoint_Specs)
btSoftBody_LJoint_Specs =
  btSoftBody_LJoint_Specs'_ >>= \res ->
  mkBtSoftBody_LJoint_Specs res >>= \res' ->
  return (res')
{-# LINE 1554 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_LJoint_Specs_free :: ( BtSoftBody_LJoint_SpecsClass bc ) => bc -> IO ()
btSoftBody_LJoint_Specs_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_LJoint_Specs_free'_ a1' >>= \res ->
  return ()
{-# LINE 1555 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#516>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_LJoint_Specs_position_set :: ( BtSoftBody_LJoint_SpecsClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_LJoint_Specs_position_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_LJoint_Specs_position_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1559 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#516>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_LJoint_Specs_position_get :: ( BtSoftBody_LJoint_SpecsClass bc ) => bc -> IO (Vec3)
btSoftBody_LJoint_Specs_position_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_LJoint_Specs_position_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1563 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Specs
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#535>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_Specs :: IO (BtSoftBody_AJoint_Specs)
btSoftBody_AJoint_Specs =
  btSoftBody_AJoint_Specs'_ >>= \res ->
  mkBtSoftBody_AJoint_Specs res >>= \res' ->
  return (res')
{-# LINE 1568 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_AJoint_Specs_free :: ( BtSoftBody_AJoint_SpecsClass bc ) => bc -> IO ()
btSoftBody_AJoint_Specs_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_AJoint_Specs_free'_ a1' >>= \res ->
  return ()
{-# LINE 1569 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#536>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_Specs_axis_set :: ( BtSoftBody_AJoint_SpecsClass bc ) => bc -> Vec3 -> IO ()
btSoftBody_AJoint_Specs_axis_set a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_AJoint_Specs_axis_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1573 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#536>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_Specs_axis_get :: ( BtSoftBody_AJoint_SpecsClass bc ) => bc -> IO (Vec3)
btSoftBody_AJoint_Specs_axis_get a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_AJoint_Specs_axis_get'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1577 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#537>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_Specs_icontrol_set :: ( BtSoftBody_AJoint_SpecsClass bc , BtSoftBody_AJoint_IControlClass a ) => bc -> a -> IO ()
btSoftBody_AJoint_Specs_icontrol_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_AJoint_Specs_icontrol_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1581 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#537>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_AJoint_Specs_icontrol_get :: ( BtSoftBody_AJoint_SpecsClass bc ) => bc -> IO (BtSoftBody_AJoint_IControl)
btSoftBody_AJoint_Specs_icontrol_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_AJoint_Specs_icontrol_get'_ a1' >>= \res ->
  mkBtSoftBody_AJoint_IControl res >>= \res' ->
  return (res')
{-# LINE 1585 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * Tetra
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#252>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra :: IO (BtSoftBody_Tetra)
btSoftBody_Tetra =
  btSoftBody_Tetra'_ >>= \res ->
  mkBtSoftBody_Tetra res >>= \res' ->
  return (res')
{-# LINE 1590 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_Tetra_free :: ( BtSoftBody_TetraClass bc ) => bc -> IO ()
btSoftBody_Tetra_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Tetra_free'_ a1' >>= \res ->
  return ()
{-# LINE 1591 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#254>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra_m_rv_set :: ( BtSoftBody_TetraClass bc ) => bc -> Float -> IO ()
btSoftBody_Tetra_m_rv_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Tetra_m_rv_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1595 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#254>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra_m_rv_get :: ( BtSoftBody_TetraClass bc ) => bc -> IO (Float)
btSoftBody_Tetra_m_rv_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Tetra_m_rv_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1599 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#255>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra_m_leaf_set :: ( BtSoftBody_TetraClass bc , BtDbvtNodeClass a ) => bc -> a -> IO ()
btSoftBody_Tetra_m_leaf_set a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_Tetra_m_leaf_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1603 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#255>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra_m_leaf_get :: ( BtSoftBody_TetraClass bc ) => bc -> IO (BtDbvtNode)
btSoftBody_Tetra_m_leaf_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Tetra_m_leaf_get'_ a1' >>= \res ->
  mkBtDbvtNode res >>= \res' ->
  return (res')
{-# LINE 1607 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#257>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra_m_c1_set :: ( BtSoftBody_TetraClass bc ) => bc -> Float -> IO ()
btSoftBody_Tetra_m_c1_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Tetra_m_c1_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1611 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#257>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra_m_c1_get :: ( BtSoftBody_TetraClass bc ) => bc -> IO (Float)
btSoftBody_Tetra_m_c1_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Tetra_m_c1_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1615 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#258>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra_m_c2_set :: ( BtSoftBody_TetraClass bc ) => bc -> Float -> IO ()
btSoftBody_Tetra_m_c2_set a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_Tetra_m_c2_set'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1619 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#258>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_Tetra_m_c2_get :: ( BtSoftBody_TetraClass bc ) => bc -> IO (Float)
btSoftBody_Tetra_m_c2_get a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_Tetra_m_c2_get'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1623 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
-- * btSoftBody
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#682>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody1 :: ( BtSoftBodyWorldInfoClass p0 ) => p0 -> IO (BtSoftBody)
btSoftBody1 a1 =
  withBt a1 $ \a1' -> 
  btSoftBody1'_ a1' >>= \res ->
  mkBtSoftBody res >>= \res' ->
  return (res')
{-# LINE 1628 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
btSoftBody_free :: ( BtSoftBodyClass bc ) => bc -> IO ()
btSoftBody_free a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_free'_ a1' >>= \res ->
  return ()
{-# LINE 1629 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#811>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_getVolume :: ( BtSoftBodyClass bc ) => bc -> IO (Float)
btSoftBody_getVolume a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_getVolume'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1634 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#842>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_cutLink :: ( BtSoftBodyClass bc ) => bc -> Int -> Int -> Float -> IO (Bool)
btSoftBody_cutLink a1 a2 a3 a4 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = realToFrac a4} in 
  btSoftBody_cutLink'_ a1' a2' a3' a4' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1642 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#842>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_cutLink0 :: ( BtSoftBodyClass bc ) => bc -> Int -> Int -> Float -> IO (Bool)
btSoftBody_cutLink0 a1 a2 a3 a4 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = realToFrac a4} in 
  btSoftBody_cutLink0'_ a1' a2' a3' a4' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1650 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#843>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_cutLink1 :: ( BtSoftBodyClass bc , BtSoftBody_NodeClass p0 , BtSoftBody_NodeClass p1 ) => bc -> p0 -> p1 -> Float -> IO (Bool)
btSoftBody_cutLink1 a1 a2 a3 a4 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  withBt a3 $ \a3' -> 
  let {a4' = realToFrac a4} in 
  btSoftBody_cutLink1'_ a1' a2' a3' a4' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1658 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#962>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_PSolve_Links :: (  BtSoftBodyClass p0 ) => p0 -> Float -> Float -> IO ()
btSoftBody_PSolve_Links a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = realToFrac a3} in 
  btSoftBody_PSolve_Links'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 1665 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#838>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_generateClusters :: ( BtSoftBodyClass bc ) => bc -> Int -> Int -> IO (Int)
btSoftBody_generateClusters a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  btSoftBody_generateClusters'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 1672 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#698>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_setCollisionShape :: ( BtSoftBodyClass bc , BtCollisionShapeClass p0 ) => bc -> p0 -> IO ()
btSoftBody_setCollisionShape a1 a2 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  btSoftBody_setCollisionShape'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1678 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#951>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_initializeClusters :: ( BtSoftBodyClass bc ) => bc -> IO ()
btSoftBody_initializeClusters a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_initializeClusters'_ a1' >>= \res ->
  return ()
{-# LINE 1683 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#823>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterVAImpulse :: (  BtSoftBody_ClusterClass p0 ) => p0 -> Vec3 -> IO (Vec3)
btSoftBody_clusterVAImpulse a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_clusterVAImpulse'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1689 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#823>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterVAImpulse' :: (  BtSoftBody_ClusterClass p0 ) => p0 -> IO (Vec3)
btSoftBody_clusterVAImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_clusterVAImpulse''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1695 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#770>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_addForce :: ( BtSoftBodyClass bc ) => bc -> Vec3 -> IO (Vec3)
btSoftBody_addForce a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_addForce'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1701 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#770>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_addForce' :: ( BtSoftBodyClass bc ) => bc -> IO (Vec3)
btSoftBody_addForce' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_addForce''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1707 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#770>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_addForce0 :: ( BtSoftBodyClass bc ) => bc -> Vec3 -> IO (Vec3)
btSoftBody_addForce0 a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_addForce0'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1713 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#770>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_addForce0' :: ( BtSoftBodyClass bc ) => bc -> IO (Vec3)
btSoftBody_addForce0' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_addForce0''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1719 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#773>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_addForce1 :: ( BtSoftBodyClass bc ) => bc -> Vec3 -> Int -> IO (Vec3)
btSoftBody_addForce1 a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  let {a3' = fromIntegral a3} in 
  btSoftBody_addForce1'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1726 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#773>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_addForce1' :: ( BtSoftBodyClass bc ) => bc -> Int -> IO (Vec3)
btSoftBody_addForce1' a1 a3 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  let {a3' = fromIntegral a3} in 
  btSoftBody_addForce1''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1733 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#971>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_serialize :: ( BtSoftBodyClass bc , BtSerializerClass p1 ) => bc -> VoidPtr -> p1 -> IO (String)
btSoftBody_serialize a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withVoidPtr a2 $ \a2' -> 
  withBt a3 $ \a3' -> 
  btSoftBody_serialize'_ a1' a2' a3' >>= \res ->
  peekCString res >>= \res' ->
  return (res')
{-# LINE 1740 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#948>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_updateBounds :: ( BtSoftBodyClass bc ) => bc -> IO ()
btSoftBody_updateBounds a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_updateBounds'_ a1' >>= \res ->
  return ()
{-# LINE 1745 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#804>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_rotate :: ( BtSoftBodyClass bc ) => bc -> UnitQuaternion -> IO (UnitQuaternion)
btSoftBody_rotate a1 a2 =
  withBt a1 $ \a1' -> 
  withUnitQuaternion a2 $ \a2' -> 
  btSoftBody_rotate'_ a1' a2' >>= \res ->
  peekUnitQuaternion  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1751 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#804>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_rotate' :: ( BtSoftBodyClass bc ) => bc -> IO (UnitQuaternion)
btSoftBody_rotate' a1 =
  withBt a1 $ \a1' -> 
  allocaUnitQuaternion $ \a2' -> 
  btSoftBody_rotate''_ a1' a2' >>= \res ->
  peekUnitQuaternion  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1757 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#833>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_releaseCluster :: ( BtSoftBodyClass bc ) => bc -> Int -> IO ()
btSoftBody_releaseCluster a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_releaseCluster'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1763 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#947>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_updateNormals :: ( BtSoftBodyClass bc ) => bc -> IO ()
btSoftBody_updateNormals a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_updateNormals'_ a1' >>= \res ->
  return ()
{-# LINE 1768 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#954>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_prepareClusters :: ( BtSoftBodyClass bc ) => bc -> Int -> IO ()
btSoftBody_prepareClusters a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  btSoftBody_prepareClusters'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1774 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#834>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_releaseClusters :: ( BtSoftBodyClass bc ) => bc -> IO ()
btSoftBody_releaseClusters a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_releaseClusters'_ a1' >>= \res ->
  return ()
{-# LINE 1779 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#789>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_getTotalMass :: ( BtSoftBodyClass bc ) => bc -> IO (Float)
btSoftBody_getTotalMass a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_getTotalMass'_ a1' >>= \res ->
  let {res' = realToFrac res} in
  return (res')
{-# LINE 1784 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#946>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_checkContact :: ( BtSoftBodyClass bc , BtCollisionObjectClass p0 , BtSoftBody_sCtiClass p3 ) => bc -> p0 -> Vec3 -> Float -> p3 -> IO (Bool, Vec3)
btSoftBody_checkContact a1 a2 a3 a4 a5 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  withVec3 a3 $ \a3' -> 
  let {a4' = realToFrac a4} in 
  withBt a5 $ \a5' -> 
  btSoftBody_checkContact'_ a1' a2' a3' a4' a5' >>= \res ->
  peekVec3  a3'>>= \a3'' -> 
  let {res' = toBool res} in
  return (res', a3'')
{-# LINE 1793 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#946>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_checkContact' :: ( BtSoftBodyClass bc , BtCollisionObjectClass p0 , BtSoftBody_sCtiClass p3 ) => bc -> p0 -> Float -> p3 -> IO (Bool, Vec3)
btSoftBody_checkContact' a1 a2 a4 a5 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  let {a4' = realToFrac a4} in 
  withBt a5 $ \a5' -> 
  btSoftBody_checkContact''_ a1' a2' a3' a4' a5' >>= \res ->
  peekVec3  a3'>>= \a3'' -> 
  let {res' = toBool res} in
  return (res', a3'')
{-# LINE 1802 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#821>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterDImpulse :: (  BtSoftBody_ClusterClass p0 ) => p0 -> Vec3 -> Vec3 -> IO (Vec3, Vec3)
btSoftBody_clusterDImpulse a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  withVec3 a3 $ \a3' -> 
  btSoftBody_clusterDImpulse'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 1809 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#821>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterDImpulse' :: (  BtSoftBody_ClusterClass p0 ) => p0 -> IO (Vec3, Vec3)
btSoftBody_clusterDImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_clusterDImpulse''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 1816 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#684>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_initDefaults :: ( BtSoftBodyClass bc ) => bc -> IO ()
btSoftBody_initDefaults a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_initDefaults'_ a1' >>= \res ->
  return ()
{-# LINE 1821 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#704>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_checkLink :: ( BtSoftBodyClass bc ) => bc -> Int -> Int -> IO (Bool)
btSoftBody_checkLink a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  btSoftBody_checkLink'_ a1' a2' a3' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1828 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#704>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_checkLink0 :: ( BtSoftBodyClass bc ) => bc -> Int -> Int -> IO (Bool)
btSoftBody_checkLink0 a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  btSoftBody_checkLink0'_ a1' a2' a3' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1835 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#706>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_checkLink1 :: ( BtSoftBodyClass bc , BtSoftBody_NodeClass p0 , BtSoftBody_NodeClass p1 ) => bc -> p0 -> p1 -> IO (Bool)
btSoftBody_checkLink1 a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withBt a2 $ \a2' -> 
  withBt a3 $ \a3' -> 
  btSoftBody_checkLink1'_ a1' a2' a3' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1842 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#796>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_setVolumeMass :: ( BtSoftBodyClass bc ) => bc -> Float -> IO ()
btSoftBody_setVolumeMass a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_setVolumeMass'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1848 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#822>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterImpulse :: (  BtSoftBody_ClusterClass p0 , BtSoftBody_ImpulseClass p2 ) => p0 -> Vec3 -> p2 -> IO (Vec3)
btSoftBody_clusterImpulse a1 a2 a3 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  withBt a3 $ \a3' -> 
  btSoftBody_clusterImpulse'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1855 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#822>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterImpulse' :: (  BtSoftBody_ClusterClass p0 , BtSoftBody_ImpulseClass p2 ) => p0 -> p2 -> IO (Vec3)
btSoftBody_clusterImpulse' a1 a3 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  withBt a3 $ \a3' -> 
  btSoftBody_clusterImpulse''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1862 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#710>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_checkFace :: ( BtSoftBodyClass bc ) => bc -> Int -> Int -> Int -> IO (Bool)
btSoftBody_checkFace a1 a2 a3 a4 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  let {a3' = fromIntegral a3} in 
  let {a4' = fromIntegral a4} in 
  btSoftBody_checkFace'_ a1' a2' a3' a4' >>= \res ->
  let {res' = toBool res} in
  return (res')
{-# LINE 1870 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#945>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_evaluateCom :: ( BtSoftBodyClass bc ) => bc -> IO (Vec3)
btSoftBody_evaluateCom a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_evaluateCom'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1876 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#824>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterDAImpulse :: (  BtSoftBody_ClusterClass p0 ) => p0 -> Vec3 -> IO (Vec3)
btSoftBody_clusterDAImpulse a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_clusterDAImpulse'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1882 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#824>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterDAImpulse' :: (  BtSoftBody_ClusterClass p0 ) => p0 -> IO (Vec3)
btSoftBody_clusterDAImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_clusterDAImpulse''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1888 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#963>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_VSolve_Links :: (  BtSoftBodyClass p0 ) => p0 -> Float -> IO ()
btSoftBody_VSolve_Links a1 a2 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  btSoftBody_VSolve_Links'_ a1' a2' >>= \res ->
  return ()
{-# LINE 1894 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#792>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_setTotalMass :: ( BtSoftBodyClass bc ) => bc -> Float -> Bool -> IO ()
btSoftBody_setTotalMass a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = realToFrac a2} in 
  let {a3' = fromBool a3} in 
  btSoftBody_setTotalMass'_ a1' a2' a3' >>= \res ->
  return ()
{-# LINE 1901 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#826>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterDCImpulse :: (  BtSoftBody_ClusterClass p0 ) => p0 -> Vec3 -> IO (Vec3)
btSoftBody_clusterDCImpulse a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  btSoftBody_clusterDCImpulse'_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1907 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#826>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterDCImpulse' :: (  BtSoftBody_ClusterClass p0 ) => p0 -> IO (Vec3)
btSoftBody_clusterDCImpulse' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  btSoftBody_clusterDCImpulse''_ a1' a2' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  return (a2'')
{-# LINE 1913 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#818>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterVelocity :: (  BtSoftBody_ClusterClass p0 ) => p0 -> Vec3 -> IO (Vec3, Vec3)
btSoftBody_clusterVelocity a1 a2 =
  withBt a1 $ \a1' -> 
  withVec3 a2 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_clusterVelocity'_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 1920 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#818>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_clusterVelocity' :: (  BtSoftBody_ClusterClass p0 ) => p0 -> IO (Vec3, Vec3)
btSoftBody_clusterVelocity' a1 =
  withBt a1 $ \a1' -> 
  allocaVec3 $ \a2' -> 
  allocaVec3 $ \a3' -> 
  btSoftBody_clusterVelocity''_ a1' a2' a3' >>= \res ->
  peekVec3  a2'>>= \a2'' -> 
  peekVec3  a3'>>= \a3'' -> 
  return (a2'', a3'')
{-# LINE 1927 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#829>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_generateBendingConstraints :: ( BtSoftBodyClass bc , BtSoftBody_MaterialClass p1 ) => bc -> Int -> p1 -> IO (Int)
btSoftBody_generateBendingConstraints a1 a2 a3 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  withBt a3 $ \a3' -> 
  btSoftBody_generateBendingConstraints'_ a1' a2' a3' >>= \res ->
  let {res' = fromIntegral res} in
  return (res')
{-# LINE 1934 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#952>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_updateClusters :: ( BtSoftBodyClass bc ) => bc -> IO ()
btSoftBody_updateClusters a1 =
  withBt a1 $ \a1' -> 
  btSoftBody_updateClusters'_ a1' >>= \res ->
  return ()
{-# LINE 1939 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#759>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_appendAnchor :: ( BtSoftBodyClass bc , BtRigidBodyClass p1 ) => bc -> Int -> p1 -> Bool -> Float -> IO ()
btSoftBody_appendAnchor a1 a2 a3 a4 a5 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  withBt a3 $ \a3' -> 
  let {a4' = fromBool a4} in 
  let {a5' = realToFrac a5} in 
  btSoftBody_appendAnchor'_ a1' a2' a3' a4' a5' >>= \res ->
  return ()
{-# LINE 1948 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#759>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_appendAnchor0 :: ( BtSoftBodyClass bc , BtRigidBodyClass p1 ) => bc -> Int -> p1 -> Bool -> Float -> IO ()
btSoftBody_appendAnchor0 a1 a2 a3 a4 a5 =
  withBt a1 $ \a1' -> 
  let {a2' = fromIntegral a2} in 
  withBt a3 $ \a3' -> 
  let {a4' = fromBool a4} in 
  let {a5' = realToFrac a5} in 
  btSoftBody_appendAnchor0'_ a1' a2' a3' a4' a5' >>= \res ->
  return ()
{-# LINE 1957 "./Physics/Bullet/Raw/BulletSoftBody.chs" #-}
{- | <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.h?r=2223#760>
     <http://code.google.com/p/bullet/source/browse/trunk/src/BulletSoftBody/btSoftBody.cpp?r=2223>
-}
btSoftBody_appendAnchor1 :: ( BtSoftBodyClass bc , BtRigidBodyClass p1 ) =>