-----------------------------------------------------------------------------
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
-----------------------------------------------------------------------------
module THREE.Scene
  ( -- * Types
    Scene (..)
    -- * Constructors
  , THREE.Scene.new
    -- * Properties
  , background
  , backgroundBlurriness
  , backgroundIntensity
  , backgroundRotation
  , environment
  , environmentIntensity
  , environmentRotation
  , fog
  , isScene
  , overrideMaterial
    -- * Methods
  ) where
-----------------------------------------------------------------------------
import           Miso
-----------------------------------------------------------------------------
import           THREE.Color
import           THREE.Euler
import           THREE.EventDispatcher
import           THREE.Fog
import           THREE.FogExp2
import           THREE.Internal as THREE
import           THREE.Object3D
import           THREE.Material
import           THREE.Texture
-----------------------------------------------------------------------------
-- | https://threejs.org/docs/#api/en/scenes/Scene
newtype Scene
  = Scene
  { Scene -> JSVal
unScene :: JSVal
  } deriving newtype (Scene -> IO [JSVal]
(Scene -> IO [JSVal]) -> ToArgs Scene
forall args. (args -> IO [JSVal]) -> ToArgs args
$ctoArgs :: Scene -> IO [JSVal]
toArgs :: Scene -> IO [JSVal]
ToArgs, Scene -> IO Object
(Scene -> IO Object) -> ToObject Scene
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: Scene -> IO Object
toObject :: Scene -> IO Object
ToObject, Scene -> IO JSVal
(Scene -> IO JSVal) -> ToJSVal Scene
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: Scene -> IO JSVal
toJSVal :: Scene -> IO JSVal
ToJSVal)
    deriving anyclass (ToObject Scene
ToJSVal Scene
Method Scene (MisoString, Function) ()
Method Scene Object ()
(ToObject Scene, ToJSVal Scene) =>
Method Scene (MisoString, Function) ()
-> Method Scene (MisoString, Function) ()
-> Method Scene (MisoString, Function) ()
-> Method Scene Object ()
-> EventDispatcher Scene
forall object.
(ToObject object, ToJSVal object) =>
Method object (MisoString, Function) ()
-> Method object (MisoString, Function) ()
-> Method object (MisoString, Function) ()
-> Method object Object ()
-> EventDispatcher object
$caddEventListener :: Method Scene (MisoString, Function) ()
addEventListener :: Method Scene (MisoString, Function) ()
$chasEventListener :: Method Scene (MisoString, Function) ()
hasEventListener :: Method Scene (MisoString, Function) ()
$cremoveEventListener :: Method Scene (MisoString, Function) ()
removeEventListener :: Method Scene (MisoString, Function) ()
$cdispatchEvent :: Method Scene Object ()
dispatchEvent :: Method Scene Object ()
EventDispatcher, Property Scene Bool
Property Scene Double
Property Scene MisoString
Property Scene Function
Property Scene Object
Property Scene Euler
Property Scene AnimationClip
Property Scene Layers
Property Scene Matrix3
Property Scene Matrix4
Property Scene Quaternion
Property Scene Vector3
ReadOnly Scene Bool
ReadOnly Scene Int
EventDispatcher Scene
Method Scene Bool ()
Method Scene () ()
Method Scene (Bool, Bool) ()
Method Scene (Raycaster, JSVal) ()
Method Scene (Vector3, Double) ()
Method Scene Function ()
Method Scene Object Object
FromJSVal Scene => Method Scene Double Scene
FromJSVal Scene => Method Scene () Scene
FromJSVal Scene => Method Scene (Vector3, Double) Scene
FromJSVal Scene => Method Scene Quaternion Scene
EventDispatcher Scene =>
Property Scene AnimationClip
-> Property Scene Bool
-> (forall material.
    (Material material, FromJSVal material) =>
    Property Scene material)
-> (forall material.
    (Material material, FromJSVal material) =>
    Property Scene material)
-> Property Scene Bool
-> ReadOnly Scene Int
-> ReadOnly Scene Bool
-> Property Scene Layers
-> Property Scene Matrix4
-> Property Scene Bool
-> Property Scene Matrix4
-> Property Scene Bool
-> Property Scene Bool
-> Property Scene Matrix4
-> Property Scene MisoString
-> Property Scene Matrix3
-> Property Scene Function
-> Property Scene Function
-> Property Scene Function
-> Property Scene Function
-> (forall return.
    (Object3D return, FromJSVal return) =>
    Property Scene return)
-> Property Scene Vector3
-> Property Scene Quaternion
-> Property Scene Bool
-> Property Scene Double
-> Property Scene Euler
-> Property Scene Vector3
-> Property Scene Vector3
-> Property Scene Object
-> Property Scene MisoString
-> Property Scene Bool
-> Property Scene Vector3
-> Property Scene Bool
-> Property Scene Bool
-> (forall arg.
    (ToArgs arg, FromJSVal Scene, Object3D arg) =>
    Method Scene arg Scene)
-> Method Scene Matrix4 ()
-> (FromJSVal Scene => Method Scene Quaternion Scene)
-> (forall arg.
    (FromJSVal Scene, ToArgs arg) =>
    Method Scene arg Scene)
-> (forall arg.
    (ToArgs arg, FromJSVal Scene) =>
    Method Scene arg Scene)
-> (forall t.
    (FromJSVal Scene, Object3DCloneParams t, ToArgs t) =>
    Method Scene t Scene)
-> (forall t.
    (ToArgs Scene, FromJSVal Scene, Object3DCopyParams Scene t,
     ToArgs t) =>
    Method Scene t Scene)
-> Method Scene Vector3 Vector3
-> Method Scene Quaternion Quaternion
-> Method Scene Vector3 Vector3
-> Method Scene Vector3 Vector3
-> Method Scene Vector3 Vector3
-> (forall arg. (ToArgs arg, Triplet arg) => Method Scene arg ())
-> Method Scene (Raycaster, JSVal) ()
-> (forall arg.
    (ToArgs arg, Object3D arg, FromJSVal Scene) =>
    Method Scene arg Scene)
-> (FromJSVal Scene => Method Scene () Scene)
-> (FromJSVal Scene => Method Scene (Vector3, Double) Scene)
-> (FromJSVal Scene => Method Scene (Vector3, Double) Scene)
-> (FromJSVal Scene => Method Scene Double Scene)
-> (FromJSVal Scene => Method Scene Double Scene)
-> (FromJSVal Scene => Method Scene Double Scene)
-> Method Scene (Vector3, Double) ()
-> Method Scene Euler ()
-> Method Scene Matrix4 ()
-> Method Scene Quaternion ()
-> Method Scene Object Object
-> (FromJSVal Scene => Method Scene (Vector3, Double) Scene)
-> (FromJSVal Scene => Method Scene Double Scene)
-> (FromJSVal Scene => Method Scene Double Scene)
-> (FromJSVal Scene => Method Scene Double Scene)
-> Method Scene Function ()
-> Method Scene Function ()
-> Method Scene Function ()
-> Method Scene () ()
-> Method Scene Bool ()
-> Method Scene (Bool, Bool) ()
-> Method Scene Vector3 Vector3
-> Object3D Scene
Method Scene Euler ()
Method Scene Matrix4 ()
Method Scene Quaternion ()
Method Scene Quaternion Quaternion
Method Scene Vector3 Vector3
forall arg. (ToArgs arg, FromJSVal Scene) => Method Scene arg Scene
forall arg.
(ToArgs arg, FromJSVal Scene, Object3D arg) =>
Method Scene arg Scene
forall arg. (ToArgs arg, Triplet arg) => Method Scene arg ()
forall arg.
(ToArgs arg, Object3D arg, FromJSVal Scene) =>
Method Scene arg Scene
forall t.
(ToArgs Scene, FromJSVal Scene, Object3DCopyParams Scene t,
 ToArgs t) =>
Method Scene t Scene
forall arg. (FromJSVal Scene, ToArgs arg) => Method Scene arg Scene
forall t.
(FromJSVal Scene, Object3DCloneParams t, ToArgs t) =>
Method Scene t Scene
forall object.
EventDispatcher object =>
Property object AnimationClip
-> Property object Bool
-> (forall material.
    (Material material, FromJSVal material) =>
    Property object material)
-> (forall material.
    (Material material, FromJSVal material) =>
    Property object material)
-> Property object Bool
-> ReadOnly object Int
-> ReadOnly object Bool
-> Property object Layers
-> Property object Matrix4
-> Property object Bool
-> Property object Matrix4
-> Property object Bool
-> Property object Bool
-> Property object Matrix4
-> Property object MisoString
-> Property object Matrix3
-> Property object Function
-> Property object Function
-> Property object Function
-> Property object Function
-> (forall return.
    (Object3D return, FromJSVal return) =>
    Property object return)
-> Property object Vector3
-> Property object Quaternion
-> Property object Bool
-> Property object Double
-> Property object Euler
-> Property object Vector3
-> Property object Vector3
-> Property object Object
-> Property object MisoString
-> Property object Bool
-> Property object Vector3
-> Property object Bool
-> Property object Bool
-> (forall arg.
    (ToArgs arg, FromJSVal object, Object3D arg) =>
    Method object arg object)
-> Method object Matrix4 ()
-> (FromJSVal object => Method object Quaternion object)
-> (forall arg.
    (FromJSVal object, ToArgs arg) =>
    Method object arg object)
-> (forall arg.
    (ToArgs arg, FromJSVal object) =>
    Method object arg object)
-> (forall t.
    (FromJSVal object, Object3DCloneParams t, ToArgs t) =>
    Method object t object)
-> (forall t.
    (ToArgs object, FromJSVal object, Object3DCopyParams object t,
     ToArgs t) =>
    Method object t object)
-> Method object Vector3 Vector3
-> Method object Quaternion Quaternion
-> Method object Vector3 Vector3
-> Method object Vector3 Vector3
-> Method object Vector3 Vector3
-> (forall arg. (ToArgs arg, Triplet arg) => Method object arg ())
-> Method object (Raycaster, JSVal) ()
-> (forall arg.
    (ToArgs arg, Object3D arg, FromJSVal object) =>
    Method object arg object)
-> (FromJSVal object => Method object () object)
-> (FromJSVal object => Method object (Vector3, Double) object)
-> (FromJSVal object => Method object (Vector3, Double) object)
-> (FromJSVal object => Method object Double object)
-> (FromJSVal object => Method object Double object)
-> (FromJSVal object => Method object Double object)
-> Method object (Vector3, Double) ()
-> Method object Euler ()
-> Method object Matrix4 ()
-> Method object Quaternion ()
-> Method object Object Object
-> (FromJSVal object => Method object (Vector3, Double) object)
-> (FromJSVal object => Method object Double object)
-> (FromJSVal object => Method object Double object)
-> (FromJSVal object => Method object Double object)
-> Method object Function ()
-> Method object Function ()
-> Method object Function ()
-> Method object () ()
-> Method object Bool ()
-> Method object (Bool, Bool) ()
-> Method object Vector3 Vector3
-> Object3D object
forall material.
(Material material, FromJSVal material) =>
Property Scene material
forall return.
(Object3D return, FromJSVal return) =>
Property Scene return
$canimations :: Property Scene AnimationClip
animations :: Property Scene AnimationClip
$ccastShadow :: Property Scene Bool
castShadow :: Property Scene Bool
$ccustomDepthMaterial :: forall material.
(Material material, FromJSVal material) =>
Property Scene material
customDepthMaterial :: forall material.
(Material material, FromJSVal material) =>
Property Scene material
$ccustomDistanceMaterial :: forall material.
(Material material, FromJSVal material) =>
Property Scene material
customDistanceMaterial :: forall material.
(Material material, FromJSVal material) =>
Property Scene material
$cfrustumCulled :: Property Scene Bool
frustumCulled :: Property Scene Bool
$cid :: ReadOnly Scene Int
id :: ReadOnly Scene Int
$cisObject3D :: ReadOnly Scene Bool
isObject3D :: ReadOnly Scene Bool
$clayers :: Property Scene Layers
layers :: Property Scene Layers
$cmatrix :: Property Scene Matrix4
matrix :: Property Scene Matrix4
$cmatrixAutoUpdate :: Property Scene Bool
matrixAutoUpdate :: Property Scene Bool
$cmatrixWorld :: Property Scene Matrix4
matrixWorld :: Property Scene Matrix4
$cmatrixWorldAutoUpdate :: Property Scene Bool
matrixWorldAutoUpdate :: Property Scene Bool
$cmatrixWorldNeedsUpdate :: Property Scene Bool
matrixWorldNeedsUpdate :: Property Scene Bool
$cmodelViewMatrix :: Property Scene Matrix4
modelViewMatrix :: Property Scene Matrix4
$cname :: Property Scene MisoString
name :: Property Scene MisoString
$cnormalMatrix :: Property Scene Matrix3
normalMatrix :: Property Scene Matrix3
$conAfterRender :: Property Scene Function
onAfterRender :: Property Scene Function
$conAfterShadow :: Property Scene Function
onAfterShadow :: Property Scene Function
$conBeforeRender :: Property Scene Function
onBeforeRender :: Property Scene Function
$conBeforeShadow :: Property Scene Function
onBeforeShadow :: Property Scene Function
$cparent :: forall return.
(Object3D return, FromJSVal return) =>
Property Scene return
parent :: forall return.
(Object3D return, FromJSVal return) =>
Property Scene return
$cposition :: Property Scene Vector3
position :: Property Scene Vector3
$cquaternion :: Property Scene Quaternion
quaternion :: Property Scene Quaternion
$creceiveShadow :: Property Scene Bool
receiveShadow :: Property Scene Bool
$crenderOrder :: Property Scene Double
renderOrder :: Property Scene Double
$crotation :: Property Scene Euler
rotation :: Property Scene Euler
$cscale :: Property Scene Vector3
scale :: Property Scene Vector3
$cup :: Property Scene Vector3
up :: Property Scene Vector3
$cuserData :: Property Scene Object
userData :: Property Scene Object
$cuuid :: Property Scene MisoString
uuid :: Property Scene MisoString
$cvisible :: Property Scene Bool
visible :: Property Scene Bool
$cdefaultUp :: Property Scene Vector3
defaultUp :: Property Scene Vector3
$cdefaultMatrixAutoUpdate :: Property Scene Bool
defaultMatrixAutoUpdate :: Property Scene Bool
$cdefaultMatrixWorldAutoUpdate :: Property Scene Bool
defaultMatrixWorldAutoUpdate :: Property Scene Bool
$cadd :: forall arg.
(ToArgs arg, FromJSVal Scene, Object3D arg) =>
Method Scene arg Scene
add :: forall arg.
(ToArgs arg, FromJSVal Scene, Object3D arg) =>
Method Scene arg Scene
$capplyMatrix4 :: Method Scene Matrix4 ()
applyMatrix4 :: Method Scene Matrix4 ()
$capplyQuaternion :: FromJSVal Scene => Method Scene Quaternion Scene
applyQuaternion :: FromJSVal Scene => Method Scene Quaternion Scene
$cattach :: forall arg. (FromJSVal Scene, ToArgs arg) => Method Scene arg Scene
attach :: forall arg. (FromJSVal Scene, ToArgs arg) => Method Scene arg Scene
$cclear :: forall arg. (ToArgs arg, FromJSVal Scene) => Method Scene arg Scene
clear :: forall arg. (ToArgs arg, FromJSVal Scene) => Method Scene arg Scene
$cclone :: forall t.
(FromJSVal Scene, Object3DCloneParams t, ToArgs t) =>
Method Scene t Scene
clone :: forall t.
(FromJSVal Scene, Object3DCloneParams t, ToArgs t) =>
Method Scene t Scene
$ccopy :: forall t.
(ToArgs Scene, FromJSVal Scene, Object3DCopyParams Scene t,
 ToArgs t) =>
Method Scene t Scene
copy :: forall t.
(ToArgs Scene, FromJSVal Scene, Object3DCopyParams Scene t,
 ToArgs t) =>
Method Scene t Scene
$cgetWorldPosition :: Method Scene Vector3 Vector3
getWorldPosition :: Method Scene Vector3 Vector3
$cgetWorldQuaternion :: Method Scene Quaternion Quaternion
getWorldQuaternion :: Method Scene Quaternion Quaternion
$cgetWorldScale :: Method Scene Vector3 Vector3
getWorldScale :: Method Scene Vector3 Vector3
$cgetWorldDirection :: Method Scene Vector3 Vector3
getWorldDirection :: Method Scene Vector3 Vector3
$clocalToWorld :: Method Scene Vector3 Vector3
localToWorld :: Method Scene Vector3 Vector3
$clookAt :: forall arg. (ToArgs arg, Triplet arg) => Method Scene arg ()
lookAt :: forall arg. (ToArgs arg, Triplet arg) => Method Scene arg ()
$craycast :: Method Scene (Raycaster, JSVal) ()
raycast :: Method Scene (Raycaster, JSVal) ()
$cremove :: forall arg.
(ToArgs arg, Object3D arg, FromJSVal Scene) =>
Method Scene arg Scene
remove :: forall arg.
(ToArgs arg, Object3D arg, FromJSVal Scene) =>
Method Scene arg Scene
$cremoveFromParent :: FromJSVal Scene => Method Scene () Scene
removeFromParent :: FromJSVal Scene => Method Scene () Scene
$crotateOnAxis :: FromJSVal Scene => Method Scene (Vector3, Double) Scene
rotateOnAxis :: FromJSVal Scene => Method Scene (Vector3, Double) Scene
$crotateOnWorldAxis :: FromJSVal Scene => Method Scene (Vector3, Double) Scene
rotateOnWorldAxis :: FromJSVal Scene => Method Scene (Vector3, Double) Scene
$crotateX :: FromJSVal Scene => Method Scene Double Scene
rotateX :: FromJSVal Scene => Method Scene Double Scene
$crotateY :: FromJSVal Scene => Method Scene Double Scene
rotateY :: FromJSVal Scene => Method Scene Double Scene
$crotateZ :: FromJSVal Scene => Method Scene Double Scene
rotateZ :: FromJSVal Scene => Method Scene Double Scene
$csetRotationFromAxisAngle :: Method Scene (Vector3, Double) ()
setRotationFromAxisAngle :: Method Scene (Vector3, Double) ()
$csetRotationFromEuler :: Method Scene Euler ()
setRotationFromEuler :: Method Scene Euler ()
$csetRotationFromMatrix :: Method Scene Matrix4 ()
setRotationFromMatrix :: Method Scene Matrix4 ()
$csetRotationFromQuaternion :: Method Scene Quaternion ()
setRotationFromQuaternion :: Method Scene Quaternion ()
$ctoJSON :: Method Scene Object Object
toJSON :: Method Scene Object Object
$ctranslateOnAxis :: FromJSVal Scene => Method Scene (Vector3, Double) Scene
translateOnAxis :: FromJSVal Scene => Method Scene (Vector3, Double) Scene
$ctranslateX :: FromJSVal Scene => Method Scene Double Scene
translateX :: FromJSVal Scene => Method Scene Double Scene
$ctranslateY :: FromJSVal Scene => Method Scene Double Scene
translateY :: FromJSVal Scene => Method Scene Double Scene
$ctranslateZ :: FromJSVal Scene => Method Scene Double Scene
translateZ :: FromJSVal Scene => Method Scene Double Scene
$ctraverse :: Method Scene Function ()
traverse :: Method Scene Function ()
$ctraverseVisible :: Method Scene Function ()
traverseVisible :: Method Scene Function ()
$ctraverseAncestors :: Method Scene Function ()
traverseAncestors :: Method Scene Function ()
$cupdateMatrix :: Method Scene () ()
updateMatrix :: Method Scene () ()
$cupdateMatrixWorld :: Method Scene Bool ()
updateMatrixWorld :: Method Scene Bool ()
$cupdateWorldMatrix :: Method Scene (Bool, Bool) ()
updateWorldMatrix :: Method Scene (Bool, Bool) ()
$cworldToLocal :: Method Scene Vector3 Vector3
worldToLocal :: Method Scene Vector3 Vector3
Object3D)
-----------------------------------------------------------------------------
instance FromJSVal Scene where
  fromJSVal :: JSVal -> IO (Maybe Scene)
fromJSVal = Maybe Scene -> IO (Maybe Scene)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Maybe Scene -> IO (Maybe Scene))
-> (JSVal -> Maybe Scene) -> JSVal -> IO (Maybe Scene)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Scene -> Maybe Scene
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Scene -> Maybe Scene) -> (JSVal -> Scene) -> JSVal -> Maybe Scene
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Scene
Scene
-----------------------------------------------------------------------------
new :: THREE.Three Scene
new :: IO Scene
new = (JSVal -> Scene) -> MisoString -> () -> IO Scene
forall args con.
ToArgs args =>
(JSVal -> con) -> MisoString -> args -> Three con
THREE.new JSVal -> Scene
Scene MisoString
"Scene" ()
-----------------------------------------------------------------------------

class SceneBackgroundParams a
instance SceneBackgroundParams Int
instance SceneBackgroundParams Color
instance SceneBackgroundParams Texture    -- TODO TextureClass?
background :: (SceneBackgroundParams a, FromJSVal a, ToJSVal a) => Property Scene (Maybe a)
background :: forall a.
(SceneBackgroundParams a, FromJSVal a, ToJSVal a) =>
Property Scene (Maybe a)
background = MisoString -> Property Scene (Maybe a)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"background" 

backgroundBlurriness :: Property Scene Double
backgroundBlurriness :: Property Scene Double
backgroundBlurriness = MisoString -> Property Scene Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"backgroundBlurriness" 

backgroundIntensity :: Property Scene Double
backgroundIntensity :: Property Scene Double
backgroundIntensity = MisoString -> Property Scene Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"backgroundIntensity" 

backgroundRotation :: Property Scene Euler
backgroundRotation :: Property Scene Euler
backgroundRotation = MisoString -> Property Scene Euler
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"backgroundRotation" 

environment :: (TextureClass a, FromJSVal a, ToJSVal a) => Property Scene (Maybe a)
environment :: forall a.
(TextureClass a, FromJSVal a, ToJSVal a) =>
Property Scene (Maybe a)
environment = MisoString -> Property Scene (Maybe a)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"environment" 

isScene :: ReadOnly Scene Bool
isScene :: ReadOnly Scene Bool
isScene = MisoString -> ReadOnly Scene Bool
forall object return.
(FromJSVal return, ToObject object) =>
MisoString -> ReadOnly object return
readonly MisoString
"isScene" 

environmentIntensity :: Property Scene Double
environmentIntensity :: Property Scene Double
environmentIntensity = MisoString -> Property Scene Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"environmentIntensity" 

environmentRotation :: Property Scene Euler
environmentRotation :: Property Scene Euler
environmentRotation  = MisoString -> Property Scene Euler
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"environmentRotation" 

class SceneFogParams a
instance SceneFogParams Fog
instance SceneFogParams FogExp2
fog :: (SceneFogParams a, FromJSVal a, ToJSVal a) => Property Scene (Maybe a)
fog :: forall a.
(SceneFogParams a, FromJSVal a, ToJSVal a) =>
Property Scene (Maybe a)
fog = MisoString -> Property Scene (Maybe a)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"fog" 

overrideMaterial :: (Material a, FromJSVal a, ToJSVal a) => Property Scene (Maybe a)
overrideMaterial :: forall a.
(Material a, FromJSVal a, ToJSVal a) =>
Property Scene (Maybe a)
overrideMaterial = MisoString -> Property Scene (Maybe a)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"overrideMaterial" 

-----------------------------------------------------------------------------