packages feed

gltf-loader-0.3.0.0: src/Text/GLTF/Loader/Internal/MonadAdapter.hs

module Text.GLTF.Loader.Internal.MonadAdapter
  ( Adapter(),
    AdaptEnv(..),
    getGltf,
    getBuffers,
    getImages
  ) where

import Text.GLTF.Loader.Internal.BufferAccessor

import RIO
import qualified Codec.GlTF as GlTF

type Adapter = Reader AdaptEnv

data AdaptEnv = AdaptEnv
  { asGltf :: GlTF.GlTF,
    asBuffers :: Vector GltfBuffer,
    asImages :: Vector GltfImageData
  }

getGltf :: Reader AdaptEnv GlTF.GlTF
getGltf = asks asGltf

getBuffers :: Reader AdaptEnv (Vector GltfBuffer)
getBuffers = asks asBuffers

getImages :: Reader AdaptEnv (Vector GltfImageData)
getImages = asks asImages