-----------------------------------------------------------------------------
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
-----------------------------------------------------------------------------
module THREE.BufferGeometry
  ( -- * Class
    BufferGeometryClass (..)
    -- * Types
  , BufferGeometry (..)
    -- * Constructors
  , THREE.BufferGeometry.new
    -- * Read-only properties
    -- * Properties
    -- * Optional properties
    -- * Methods
    -- * Helper functions
  ) where
-----------------------------------------------------------------------------
import           Miso hiding (new)
-----------------------------------------------------------------------------
import           THREE.Internal as THREE
-----------------------------------------------------------------------------
-- | https://threejs.org/docs/#api/en/core/BufferGeometry
class (ToObject geometry, ToJSVal geometry) => BufferGeometryClass geometry where
  isBufferGeometry :: Property geometry Bool
  isBufferGeometry = MisoString -> Property geometry Bool
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"isBufferGeometry"
-----------------------------------------------------------------------------
instance BufferGeometryClass JSVal
-----------------------------------------------------------------------------
newtype BufferGeometry = BufferGeometry { BufferGeometry -> JSVal
unBufferGeometry :: JSVal }
  deriving (BufferGeometry -> IO Object
(BufferGeometry -> IO Object) -> ToObject BufferGeometry
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: BufferGeometry -> IO Object
toObject :: BufferGeometry -> IO Object
ToObject, ToObject BufferGeometry
ToJSVal BufferGeometry
Property BufferGeometry Bool
(ToObject BufferGeometry, ToJSVal BufferGeometry) =>
Property BufferGeometry Bool -> BufferGeometryClass BufferGeometry
forall geometry.
(ToObject geometry, ToJSVal geometry) =>
Property geometry Bool -> BufferGeometryClass geometry
$cisBufferGeometry :: Property BufferGeometry Bool
isBufferGeometry :: Property BufferGeometry Bool
BufferGeometryClass, BufferGeometry -> IO JSVal
(BufferGeometry -> IO JSVal) -> ToJSVal BufferGeometry
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: BufferGeometry -> IO JSVal
toJSVal :: BufferGeometry -> IO JSVal
ToJSVal)
-----------------------------------------------------------------------------
new :: THREE.Three BufferGeometry
new :: Three BufferGeometry
new = (JSVal -> BufferGeometry)
-> MisoString -> () -> Three BufferGeometry
forall args con.
ToArgs args =>
(JSVal -> con) -> MisoString -> args -> Three con
THREE.new JSVal -> BufferGeometry
BufferGeometry MisoString
"BufferGeometry" ()
-----------------------------------------------------------------------------
-- constructors
-----------------------------------------------------------------------------
-- read-only properties
-----------------------------------------------------------------------------
-- properties
-----------------------------------------------------------------------------
-- optional properties
-----------------------------------------------------------------------------
-- methods
-----------------------------------------------------------------------------
-- helper functions
-----------------------------------------------------------------------------