-- Produced by boxnd-gen; edit the generator, not this file.

module Box3D.PlatformMesh
  ( create
  )

  where

import Foreign
import Box3D.MathTypes (Vec3)
import Box3D.Tags (MeshData)

foreign import ccall unsafe "hsg_b3CreatePlatformMesh"
  c_b3CreatePlatformMesh :: Ptr Vec3 -> Float -> Float -> Float -> IO (Ptr MeshData)

{- | Create a platform mesh. A truncated pyramid.

Binds @b3CreatePlatformMesh@.
-}
create
  :: Vec3
  -- ^ @center@
  -> Float
  -- ^ @height@
  -> Float
  -- ^ @topWidth@
  -> Float
  -- ^ @bottomWidth@
  -> IO (Ptr MeshData)
create :: Vec3 -> Float -> Float -> Float -> IO (Ptr MeshData)
create Vec3
a0 Float
a1 Float
a2 Float
a3 =
  Vec3 -> (Ptr Vec3 -> IO (Ptr MeshData)) -> IO (Ptr MeshData)
forall a b. Storable a => a -> (Ptr a -> IO b) -> IO b
with Vec3
a0 ((Ptr Vec3 -> IO (Ptr MeshData)) -> IO (Ptr MeshData))
-> (Ptr Vec3 -> IO (Ptr MeshData)) -> IO (Ptr MeshData)
forall a b. (a -> b) -> a -> b
$ \Ptr Vec3
p0 ->
  Ptr Vec3 -> Float -> Float -> Float -> IO (Ptr MeshData)
c_b3CreatePlatformMesh Ptr Vec3
p0 Float
a1 Float
a2 Float
a3