-----------------------------------------------------------------------------
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
-----------------------------------------------------------------------------
module THREE.MeshStandardMaterial
  ( -- * Types
    MeshStandardMaterial (..)
  , MeshStandardMaterialClass (..)
    -- * Constructors
  , THREE.MeshStandardMaterial.new
    -- * Read-only Properties
    -- * Properties
    -- * Methods
  ) where
-----------------------------------------------------------------------------
import           Miso
-----------------------------------------------------------------------------
import           THREE.Color
import           THREE.Constants.Materials
import           THREE.Euler
import           THREE.EventDispatcher
import           THREE.Internal as THREE
import           THREE.Material
import           THREE.Texture
import           THREE.Vector2
-----------------------------------------------------------------------------
-- | https://threejs.org/docs/#api/en/materials/MeshStandardMaterial
class (Material material) => MeshStandardMaterialClass material where

  -- ReadOnly

  -- Property

  alphaMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  alphaMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"alphaMap"

  aoMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  aoMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"aoMap"

  aoMapIntensity :: Property material Int
  aoMapIntensity = MisoString -> Property material Int
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"aoMapIntensity"

  bumpMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  bumpMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"bumpMap"

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

  color :: Property material Color
  color = MisoString -> Property material Color
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"color" 

  defines :: Property material Object
  defines = MisoString -> Property material Object
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"defines"

  displacementMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  displacementMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"displacementMap"

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

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

  emissive :: Property material Color
  emissive = MisoString -> Property material Color
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"emissive"

  emissiveMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  emissiveMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"emissiveMap"

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

  envMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  envMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"envMap"

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

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

  flatShading :: Property material Bool
  flatShading = MisoString -> Property material Bool
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"flatShading"

  fog :: Property material Bool
  fog = MisoString -> Property material Bool
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"fog"

  lightMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  lightMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"lightMap"

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

  map :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  map = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"map"

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

  metalnessMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  metalnessMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"metalnessMap"

  normalMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  normalMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"normalMap"

  normalMapType :: Property material NormalMapType
  normalMapType = MisoString -> Property material NormalMapType
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"normalMapType"

  normalScale :: Property material Vector2
  normalScale = MisoString -> Property material Vector2
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"normalScale"

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

  roughnessMap :: (TextureClass texture, FromJSVal texture) => Property material (Maybe texture)
  roughnessMap = MisoString -> Property material (Maybe texture)
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object (Maybe field)
optional MisoString
"roughnessMap"

  wireframe :: Property material Bool
  wireframe = MisoString -> Property material Bool
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"wireframe"

  wireframeLinecap :: Property material Linecap
  wireframeLinecap = MisoString -> Property material Linecap
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"wireframeLinecap"

  wireframeLinejoin :: Property material Linejoin
  wireframeLinejoin = MisoString -> Property material Linejoin
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"wireframeLinejoin"

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

instance MeshStandardMaterialClass JSVal

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

newtype MeshStandardMaterial
  = MeshStandardMaterial
  { MeshStandardMaterial -> JSVal
unMeshStandardMaterial :: JSVal
  } deriving newtype (MeshStandardMaterial -> IO [JSVal]
(MeshStandardMaterial -> IO [JSVal]) -> ToArgs MeshStandardMaterial
forall args. (args -> IO [JSVal]) -> ToArgs args
$ctoArgs :: MeshStandardMaterial -> IO [JSVal]
toArgs :: MeshStandardMaterial -> IO [JSVal]
ToArgs, MeshStandardMaterial -> IO Object
(MeshStandardMaterial -> IO Object)
-> ToObject MeshStandardMaterial
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: MeshStandardMaterial -> IO Object
toObject :: MeshStandardMaterial -> IO Object
ToObject, MeshStandardMaterial -> IO JSVal
(MeshStandardMaterial -> IO JSVal) -> ToJSVal MeshStandardMaterial
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: MeshStandardMaterial -> IO JSVal
toJSVal :: MeshStandardMaterial -> IO JSVal
ToJSVal)
    deriving anyclass (ToObject MeshStandardMaterial
ToJSVal MeshStandardMaterial
Property MeshStandardMaterial Bool
Property MeshStandardMaterial Double
Property MeshStandardMaterial Int
Property MeshStandardMaterial (Maybe [Plane])
Property MeshStandardMaterial (Maybe MisoString)
Property MeshStandardMaterial (Maybe Object)
Property MeshStandardMaterial (Maybe BlendingEquations)
Property MeshStandardMaterial (Maybe DestinationFactors)
Property MeshStandardMaterial (Maybe SourceFactors)
Property MeshStandardMaterial (Maybe BlendingMode)
Property MeshStandardMaterial MisoString
Property MeshStandardMaterial Object
Property MeshStandardMaterial BlendingEquations
Property MeshStandardMaterial SourceFactors
Property MeshStandardMaterial DepthMode
Property MeshStandardMaterial Side
Property MeshStandardMaterial StencilFunctions
Property MeshStandardMaterial StencilOperations
Property MeshStandardMaterial Color
ReadOnly MeshStandardMaterial Bool
ReadOnly MeshStandardMaterial MisoString
EventDispatcher MeshStandardMaterial
Method MeshStandardMaterial () ()
Method MeshStandardMaterial () MisoString
Method MeshStandardMaterial Object ()
Method MeshStandardMaterial Object Object
FromJSVal MeshStandardMaterial =>
Method MeshStandardMaterial () MeshStandardMaterial
(FromJSVal MeshStandardMaterial, ToArgs MeshStandardMaterial) =>
Method
  MeshStandardMaterial MeshStandardMaterial MeshStandardMaterial
(EventDispatcher MeshStandardMaterial,
 ToJSVal MeshStandardMaterial, ToObject MeshStandardMaterial) =>
ReadOnly MeshStandardMaterial MisoString
-> ReadOnly MeshStandardMaterial MisoString
-> ReadOnly MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Double
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Double
-> Property MeshStandardMaterial Color
-> Property MeshStandardMaterial (Maybe DestinationFactors)
-> Property MeshStandardMaterial (Maybe DestinationFactors)
-> Property MeshStandardMaterial BlendingEquations
-> Property MeshStandardMaterial (Maybe BlendingEquations)
-> Property MeshStandardMaterial (Maybe BlendingMode)
-> Property MeshStandardMaterial SourceFactors
-> Property MeshStandardMaterial (Maybe SourceFactors)
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial (Maybe [Plane])
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial (Maybe Object)
-> Property MeshStandardMaterial DepthMode
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Int
-> Property MeshStandardMaterial StencilFunctions
-> Property MeshStandardMaterial Int
-> Property MeshStandardMaterial Int
-> Property MeshStandardMaterial StencilOperations
-> Property MeshStandardMaterial StencilOperations
-> Property MeshStandardMaterial StencilOperations
-> Property MeshStandardMaterial Int
-> Property MeshStandardMaterial MisoString
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Double
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Int
-> Property MeshStandardMaterial Int
-> Property MeshStandardMaterial (Maybe MisoString)
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Side
-> Property MeshStandardMaterial Side
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Int
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Object
-> (FromJSVal MeshStandardMaterial =>
    Method MeshStandardMaterial () MeshStandardMaterial)
-> ((FromJSVal MeshStandardMaterial,
     ToArgs MeshStandardMaterial) =>
    Method
      MeshStandardMaterial MeshStandardMaterial MeshStandardMaterial)
-> Method MeshStandardMaterial () ()
-> Method MeshStandardMaterial () MisoString
-> Method MeshStandardMaterial Object ()
-> Method MeshStandardMaterial Object Object
-> Material MeshStandardMaterial
forall material.
(EventDispatcher material, ToJSVal material, ToObject material) =>
ReadOnly material MisoString
-> ReadOnly material MisoString
-> ReadOnly material Bool
-> Property material Bool
-> Property material Double
-> Property material Bool
-> Property material Double
-> Property material Color
-> Property material (Maybe DestinationFactors)
-> Property material (Maybe DestinationFactors)
-> Property material BlendingEquations
-> Property material (Maybe BlendingEquations)
-> Property material (Maybe BlendingMode)
-> Property material SourceFactors
-> Property material (Maybe SourceFactors)
-> Property material Bool
-> Property material (Maybe [Plane])
-> Property material Bool
-> Property material Bool
-> Property material (Maybe Object)
-> Property material DepthMode
-> Property material Bool
-> Property material Bool
-> Property material Bool
-> Property material Bool
-> Property material Int
-> Property material StencilFunctions
-> Property material Int
-> Property material Int
-> Property material StencilOperations
-> Property material StencilOperations
-> Property material StencilOperations
-> Property material Int
-> Property material MisoString
-> Property material Bool
-> Property material Double
-> Property material Bool
-> Property material Int
-> Property material Int
-> Property material (Maybe MisoString)
-> Property material Bool
-> Property material Bool
-> Property material Side
-> Property material Side
-> Property material Bool
-> Property material Bool
-> Property material Int
-> Property material Bool
-> Property material Bool
-> Property material Object
-> (FromJSVal material => Method material () material)
-> ((FromJSVal material, ToArgs material) =>
    Method material material material)
-> Method material () ()
-> Method material () MisoString
-> Method material Object ()
-> Method material Object Object
-> Material material
$ctype_ :: ReadOnly MeshStandardMaterial MisoString
type_ :: ReadOnly MeshStandardMaterial MisoString
$cuuid :: ReadOnly MeshStandardMaterial MisoString
uuid :: ReadOnly MeshStandardMaterial MisoString
$cisMaterial :: ReadOnly MeshStandardMaterial Bool
isMaterial :: ReadOnly MeshStandardMaterial Bool
$calphaHash :: Property MeshStandardMaterial Bool
alphaHash :: Property MeshStandardMaterial Bool
$calphaTest :: Property MeshStandardMaterial Double
alphaTest :: Property MeshStandardMaterial Double
$calphaToCoverage :: Property MeshStandardMaterial Bool
alphaToCoverage :: Property MeshStandardMaterial Bool
$cblendAlpha :: Property MeshStandardMaterial Double
blendAlpha :: Property MeshStandardMaterial Double
$cblendColor :: Property MeshStandardMaterial Color
blendColor :: Property MeshStandardMaterial Color
$cblendDst :: Property MeshStandardMaterial (Maybe DestinationFactors)
blendDst :: Property MeshStandardMaterial (Maybe DestinationFactors)
$cblendDstAlpha :: Property MeshStandardMaterial (Maybe DestinationFactors)
blendDstAlpha :: Property MeshStandardMaterial (Maybe DestinationFactors)
$cblendEquation :: Property MeshStandardMaterial BlendingEquations
blendEquation :: Property MeshStandardMaterial BlendingEquations
$cblendEquationAlpha :: Property MeshStandardMaterial (Maybe BlendingEquations)
blendEquationAlpha :: Property MeshStandardMaterial (Maybe BlendingEquations)
$cblending :: Property MeshStandardMaterial (Maybe BlendingMode)
blending :: Property MeshStandardMaterial (Maybe BlendingMode)
$cblendSrc :: Property MeshStandardMaterial SourceFactors
blendSrc :: Property MeshStandardMaterial SourceFactors
$cblendSrcAlpha :: Property MeshStandardMaterial (Maybe SourceFactors)
blendSrcAlpha :: Property MeshStandardMaterial (Maybe SourceFactors)
$cclipIntersection :: Property MeshStandardMaterial Bool
clipIntersection :: Property MeshStandardMaterial Bool
$cclippingPlanes :: Property MeshStandardMaterial (Maybe [Plane])
clippingPlanes :: Property MeshStandardMaterial (Maybe [Plane])
$cclipShadows :: Property MeshStandardMaterial Bool
clipShadows :: Property MeshStandardMaterial Bool
$ccolorWrite :: Property MeshStandardMaterial Bool
colorWrite :: Property MeshStandardMaterial Bool
$cdefines :: Property MeshStandardMaterial (Maybe Object)
defines :: Property MeshStandardMaterial (Maybe Object)
$cdepthFunc :: Property MeshStandardMaterial DepthMode
depthFunc :: Property MeshStandardMaterial DepthMode
$cdepthTest :: Property MeshStandardMaterial Bool
depthTest :: Property MeshStandardMaterial Bool
$cdepthWrite :: Property MeshStandardMaterial Bool
depthWrite :: Property MeshStandardMaterial Bool
$cforceSinglePass :: Property MeshStandardMaterial Bool
forceSinglePass :: Property MeshStandardMaterial Bool
$cstencilWrite :: Property MeshStandardMaterial Bool
stencilWrite :: Property MeshStandardMaterial Bool
$cstencilWriteMask :: Property MeshStandardMaterial Int
stencilWriteMask :: Property MeshStandardMaterial Int
$cstencilFunc :: Property MeshStandardMaterial StencilFunctions
stencilFunc :: Property MeshStandardMaterial StencilFunctions
$cstencilRef :: Property MeshStandardMaterial Int
stencilRef :: Property MeshStandardMaterial Int
$cstencilFuncMask :: Property MeshStandardMaterial Int
stencilFuncMask :: Property MeshStandardMaterial Int
$cstencilFail :: Property MeshStandardMaterial StencilOperations
stencilFail :: Property MeshStandardMaterial StencilOperations
$cstencilZFail :: Property MeshStandardMaterial StencilOperations
stencilZFail :: Property MeshStandardMaterial StencilOperations
$cstencilZPass :: Property MeshStandardMaterial StencilOperations
stencilZPass :: Property MeshStandardMaterial StencilOperations
$cid :: Property MeshStandardMaterial Int
id :: Property MeshStandardMaterial Int
$cname :: Property MeshStandardMaterial MisoString
name :: Property MeshStandardMaterial MisoString
$cneedsUpdate :: Property MeshStandardMaterial Bool
needsUpdate :: Property MeshStandardMaterial Bool
$copacity :: Property MeshStandardMaterial Double
opacity :: Property MeshStandardMaterial Double
$cpolygonOffset :: Property MeshStandardMaterial Bool
polygonOffset :: Property MeshStandardMaterial Bool
$cpolygonOffsetFactor :: Property MeshStandardMaterial Int
polygonOffsetFactor :: Property MeshStandardMaterial Int
$cpolygonOffsetUnits :: Property MeshStandardMaterial Int
polygonOffsetUnits :: Property MeshStandardMaterial Int
$cprecision :: Property MeshStandardMaterial (Maybe MisoString)
precision :: Property MeshStandardMaterial (Maybe MisoString)
$cpremultipliedAlpha :: Property MeshStandardMaterial Bool
premultipliedAlpha :: Property MeshStandardMaterial Bool
$cdithering :: Property MeshStandardMaterial Bool
dithering :: Property MeshStandardMaterial Bool
$cshadowSide :: Property MeshStandardMaterial Side
shadowSide :: Property MeshStandardMaterial Side
$cside :: Property MeshStandardMaterial Side
side :: Property MeshStandardMaterial Side
$ctoneMapped :: Property MeshStandardMaterial Bool
toneMapped :: Property MeshStandardMaterial Bool
$ctransparent :: Property MeshStandardMaterial Bool
transparent :: Property MeshStandardMaterial Bool
$cversion :: Property MeshStandardMaterial Int
version :: Property MeshStandardMaterial Int
$cvertexColors :: Property MeshStandardMaterial Bool
vertexColors :: Property MeshStandardMaterial Bool
$cvisible :: Property MeshStandardMaterial Bool
visible :: Property MeshStandardMaterial Bool
$cuserData :: Property MeshStandardMaterial Object
userData :: Property MeshStandardMaterial Object
$cclone :: FromJSVal MeshStandardMaterial =>
Method MeshStandardMaterial () MeshStandardMaterial
clone :: FromJSVal MeshStandardMaterial =>
Method MeshStandardMaterial () MeshStandardMaterial
$ccopy :: (FromJSVal MeshStandardMaterial, ToArgs MeshStandardMaterial) =>
Method
  MeshStandardMaterial MeshStandardMaterial MeshStandardMaterial
copy :: (FromJSVal MeshStandardMaterial, ToArgs MeshStandardMaterial) =>
Method
  MeshStandardMaterial MeshStandardMaterial MeshStandardMaterial
$cdispose :: Method MeshStandardMaterial () ()
dispose :: Method MeshStandardMaterial () ()
$ccustomProgramCacheKey :: Method MeshStandardMaterial () MisoString
customProgramCacheKey :: Method MeshStandardMaterial () MisoString
$csetValues :: Method MeshStandardMaterial Object ()
setValues :: Method MeshStandardMaterial Object ()
$ctoJSON :: Method MeshStandardMaterial Object Object
toJSON :: Method MeshStandardMaterial Object Object
Material, ToObject MeshStandardMaterial
ToJSVal MeshStandardMaterial
Method MeshStandardMaterial (MisoString, Function) ()
Method MeshStandardMaterial Object ()
(ToObject MeshStandardMaterial, ToJSVal MeshStandardMaterial) =>
Method MeshStandardMaterial (MisoString, Function) ()
-> Method MeshStandardMaterial (MisoString, Function) ()
-> Method MeshStandardMaterial (MisoString, Function) ()
-> Method MeshStandardMaterial Object ()
-> EventDispatcher MeshStandardMaterial
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 MeshStandardMaterial (MisoString, Function) ()
addEventListener :: Method MeshStandardMaterial (MisoString, Function) ()
$chasEventListener :: Method MeshStandardMaterial (MisoString, Function) ()
hasEventListener :: Method MeshStandardMaterial (MisoString, Function) ()
$cremoveEventListener :: Method MeshStandardMaterial (MisoString, Function) ()
removeEventListener :: Method MeshStandardMaterial (MisoString, Function) ()
$cdispatchEvent :: Method MeshStandardMaterial Object ()
dispatchEvent :: Method MeshStandardMaterial Object ()
EventDispatcher, Property MeshStandardMaterial Bool
Property MeshStandardMaterial Double
Property MeshStandardMaterial Int
Property MeshStandardMaterial Object
Property MeshStandardMaterial Linecap
Property MeshStandardMaterial Linejoin
Property MeshStandardMaterial NormalMapType
Property MeshStandardMaterial Euler
Property MeshStandardMaterial Color
Property MeshStandardMaterial Vector2
Material MeshStandardMaterial
Material MeshStandardMaterial =>
(forall texture.
 (TextureClass texture, FromJSVal texture) =>
 Property MeshStandardMaterial (Maybe texture))
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial Int
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial Double
-> Property MeshStandardMaterial Color
-> Property MeshStandardMaterial Object
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial Double
-> Property MeshStandardMaterial Double
-> Property MeshStandardMaterial Color
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial Double
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial Euler
-> Property MeshStandardMaterial Double
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Bool
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial Double
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial Double
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial NormalMapType
-> Property MeshStandardMaterial Vector2
-> Property MeshStandardMaterial Double
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property MeshStandardMaterial (Maybe texture))
-> Property MeshStandardMaterial Bool
-> Property MeshStandardMaterial Linecap
-> Property MeshStandardMaterial Linejoin
-> Property MeshStandardMaterial Double
-> MeshStandardMaterialClass MeshStandardMaterial
forall material.
Material material =>
(forall texture.
 (TextureClass texture, FromJSVal texture) =>
 Property material (Maybe texture))
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material Int
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material Double
-> Property material Color
-> Property material Object
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material Double
-> Property material Double
-> Property material Color
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material Double
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material Euler
-> Property material Double
-> Property material Bool
-> Property material Bool
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material Double
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material Double
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material NormalMapType
-> Property material Vector2
-> Property material Double
-> (forall texture.
    (TextureClass texture, FromJSVal texture) =>
    Property material (Maybe texture))
-> Property material Bool
-> Property material Linecap
-> Property material Linejoin
-> Property material Double
-> MeshStandardMaterialClass material
forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$calphaMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
alphaMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$caoMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
aoMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$caoMapIntensity :: Property MeshStandardMaterial Int
aoMapIntensity :: Property MeshStandardMaterial Int
$cbumpMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
bumpMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$cbumpScale :: Property MeshStandardMaterial Double
bumpScale :: Property MeshStandardMaterial Double
$ccolor :: Property MeshStandardMaterial Color
color :: Property MeshStandardMaterial Color
$cdefines :: Property MeshStandardMaterial Object
defines :: Property MeshStandardMaterial Object
$cdisplacementMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
displacementMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$cdisplacementScale :: Property MeshStandardMaterial Double
displacementScale :: Property MeshStandardMaterial Double
$cdisplacementBias :: Property MeshStandardMaterial Double
displacementBias :: Property MeshStandardMaterial Double
$cemissive :: Property MeshStandardMaterial Color
emissive :: Property MeshStandardMaterial Color
$cemissiveMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
emissiveMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$cemissiveIntensity :: Property MeshStandardMaterial Double
emissiveIntensity :: Property MeshStandardMaterial Double
$cenvMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
envMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$cenvMapRotation :: Property MeshStandardMaterial Euler
envMapRotation :: Property MeshStandardMaterial Euler
$cenvMapIntensity :: Property MeshStandardMaterial Double
envMapIntensity :: Property MeshStandardMaterial Double
$cflatShading :: Property MeshStandardMaterial Bool
flatShading :: Property MeshStandardMaterial Bool
$cfog :: Property MeshStandardMaterial Bool
fog :: Property MeshStandardMaterial Bool
$clightMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
lightMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$clightMapIntensity :: Property MeshStandardMaterial Double
lightMapIntensity :: Property MeshStandardMaterial Double
$cmap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
map :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$cmetalness :: Property MeshStandardMaterial Double
metalness :: Property MeshStandardMaterial Double
$cmetalnessMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
metalnessMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$cnormalMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
normalMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$cnormalMapType :: Property MeshStandardMaterial NormalMapType
normalMapType :: Property MeshStandardMaterial NormalMapType
$cnormalScale :: Property MeshStandardMaterial Vector2
normalScale :: Property MeshStandardMaterial Vector2
$croughness :: Property MeshStandardMaterial Double
roughness :: Property MeshStandardMaterial Double
$croughnessMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
roughnessMap :: forall texture.
(TextureClass texture, FromJSVal texture) =>
Property MeshStandardMaterial (Maybe texture)
$cwireframe :: Property MeshStandardMaterial Bool
wireframe :: Property MeshStandardMaterial Bool
$cwireframeLinecap :: Property MeshStandardMaterial Linecap
wireframeLinecap :: Property MeshStandardMaterial Linecap
$cwireframeLinejoin :: Property MeshStandardMaterial Linejoin
wireframeLinejoin :: Property MeshStandardMaterial Linejoin
$cwireframeLinewidth :: Property MeshStandardMaterial Double
wireframeLinewidth :: Property MeshStandardMaterial Double
MeshStandardMaterialClass)

instance FromJSVal MeshStandardMaterial where
  fromJSVal :: JSVal -> IO (Maybe MeshStandardMaterial)
fromJSVal = Maybe MeshStandardMaterial -> IO (Maybe MeshStandardMaterial)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Maybe MeshStandardMaterial -> IO (Maybe MeshStandardMaterial))
-> (JSVal -> Maybe MeshStandardMaterial)
-> JSVal
-> IO (Maybe MeshStandardMaterial)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. MeshStandardMaterial -> Maybe MeshStandardMaterial
forall a. a -> Maybe a
Just (MeshStandardMaterial -> Maybe MeshStandardMaterial)
-> (JSVal -> MeshStandardMaterial)
-> JSVal
-> Maybe MeshStandardMaterial
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> MeshStandardMaterial
MeshStandardMaterial

-- Constructor

new :: THREE.Three MeshStandardMaterial
new :: IO MeshStandardMaterial
new = (JSVal -> MeshStandardMaterial)
-> MisoString -> () -> IO MeshStandardMaterial
forall args con.
ToArgs args =>
(JSVal -> con) -> MisoString -> args -> Three con
THREE.new JSVal -> MeshStandardMaterial
MeshStandardMaterial MisoString
"MeshStandardMaterial" ()