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

module Box3D.HollowBoxMesh
  ( create
  )

  where

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

foreign import ccall unsafe "hsg_b3CreateHollowBoxMesh"
  c_b3CreateHollowBoxMesh :: Ptr Vec3 -> Ptr Vec3 -> IO (Ptr MeshData)

{- | Create a hollow box mesh.

Binds @b3CreateHollowBoxMesh@.
-}
create
  :: Vec3
  -- ^ @center@
  -> Vec3
  -- ^ @extent@
  -> IO (Ptr MeshData)
create :: Vec3 -> Vec3 -> IO (Ptr MeshData)
create Vec3
a0 Vec3
a1 =
  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 ->
  Vec3 -> (Ptr Vec3 -> IO (Ptr MeshData)) -> IO (Ptr MeshData)
forall a b. Storable a => a -> (Ptr a -> IO b) -> IO b
with Vec3
a1 ((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
p1 ->
  Ptr Vec3 -> Ptr Vec3 -> IO (Ptr MeshData)
c_b3CreateHollowBoxMesh Ptr Vec3
p0 Ptr Vec3
p1