module Box3D.WeldJoint
( create
, setLinearHertz
, getLinearHertz
, setLinearDampingRatio
, getLinearDampingRatio
, setAngularHertz
, getAngularHertz
, setAngularDampingRatio
, getAngularDampingRatio
)
where
import Foreign
import Box3D.Id (JointId(..), WorldId(..))
import Box3D.Types (WeldJointDef)
foreign import ccall unsafe "b3CreateWeldJoint"
c_b3CreateWeldJoint :: WorldId -> Ptr WeldJointDef -> IO JointId
foreign import ccall unsafe "b3WeldJoint_SetLinearHertz"
c_b3WeldJoint_SetLinearHertz :: JointId -> Float -> IO ()
foreign import ccall unsafe "b3WeldJoint_GetLinearHertz"
c_b3WeldJoint_GetLinearHertz :: JointId -> IO Float
foreign import ccall unsafe "b3WeldJoint_SetLinearDampingRatio"
c_b3WeldJoint_SetLinearDampingRatio :: JointId -> Float -> IO ()
foreign import ccall unsafe "b3WeldJoint_GetLinearDampingRatio"
c_b3WeldJoint_GetLinearDampingRatio :: JointId -> IO Float
foreign import ccall unsafe "b3WeldJoint_SetAngularHertz"
c_b3WeldJoint_SetAngularHertz :: JointId -> Float -> IO ()
foreign import ccall unsafe "b3WeldJoint_GetAngularHertz"
c_b3WeldJoint_GetAngularHertz :: JointId -> IO Float
foreign import ccall unsafe "b3WeldJoint_SetAngularDampingRatio"
c_b3WeldJoint_SetAngularDampingRatio :: JointId -> Float -> IO ()
foreign import ccall unsafe "b3WeldJoint_GetAngularDampingRatio"
c_b3WeldJoint_GetAngularDampingRatio :: JointId -> IO Float
create
:: WorldId
-> WeldJointDef
-> IO JointId
create :: WorldId -> WeldJointDef -> IO JointId
create WorldId
a0 WeldJointDef
a1 =
WeldJointDef -> (Ptr WeldJointDef -> IO JointId) -> IO JointId
forall a b. Storable a => a -> (Ptr a -> IO b) -> IO b
with WeldJointDef
a1 ((Ptr WeldJointDef -> IO JointId) -> IO JointId)
-> (Ptr WeldJointDef -> IO JointId) -> IO JointId
forall a b. (a -> b) -> a -> b
$ \Ptr WeldJointDef
p1 ->
WorldId -> Ptr WeldJointDef -> IO JointId
c_b3CreateWeldJoint WorldId
a0 Ptr WeldJointDef
p1
setLinearHertz
:: JointId
-> Float
-> IO ()
setLinearHertz :: JointId -> Float -> IO ()
setLinearHertz JointId
a0 Float
a1 =
JointId -> Float -> IO ()
c_b3WeldJoint_SetLinearHertz JointId
a0 Float
a1
getLinearHertz
:: JointId
-> IO Float
getLinearHertz :: JointId -> IO Float
getLinearHertz JointId
a0 =
JointId -> IO Float
c_b3WeldJoint_GetLinearHertz JointId
a0
setLinearDampingRatio
:: JointId
-> Float
-> IO ()
setLinearDampingRatio :: JointId -> Float -> IO ()
setLinearDampingRatio JointId
a0 Float
a1 =
JointId -> Float -> IO ()
c_b3WeldJoint_SetLinearDampingRatio JointId
a0 Float
a1
getLinearDampingRatio
:: JointId
-> IO Float
getLinearDampingRatio :: JointId -> IO Float
getLinearDampingRatio JointId
a0 =
JointId -> IO Float
c_b3WeldJoint_GetLinearDampingRatio JointId
a0
setAngularHertz
:: JointId
-> Float
-> IO ()
setAngularHertz :: JointId -> Float -> IO ()
setAngularHertz JointId
a0 Float
a1 =
JointId -> Float -> IO ()
c_b3WeldJoint_SetAngularHertz JointId
a0 Float
a1
getAngularHertz
:: JointId
-> IO Float
getAngularHertz :: JointId -> IO Float
getAngularHertz JointId
a0 =
JointId -> IO Float
c_b3WeldJoint_GetAngularHertz JointId
a0
setAngularDampingRatio
:: JointId
-> Float
-> IO ()
setAngularDampingRatio :: JointId -> Float -> IO ()
setAngularDampingRatio JointId
a0 Float
a1 =
JointId -> Float -> IO ()
c_b3WeldJoint_SetAngularDampingRatio JointId
a0 Float
a1
getAngularDampingRatio
:: JointId
-> IO Float
getAngularDampingRatio :: JointId -> IO Float
getAngularDampingRatio JointId
a0 =
JointId -> IO Float
c_b3WeldJoint_GetAngularDampingRatio JointId
a0