three
Safe HaskellNone
LanguageHaskell2010

THREE.Internal

Synopsis

Types

type Three = IO Source #

data Property object field Source #

Constructors

Property 

Fields

newtype ReadOnly object field Source #

Constructors

ReadOnly (object -> Three field) 

type Method object args return = args -> object -> Three return Source #

class ToObject object => W object where Source #

Minimal complete definition

Nothing

Methods

w :: Property object Double Source #

Instances

Instances details
W JSVal Source # 
Instance details

Defined in THREE.Internal

W Vector4 Source # 
Instance details

Defined in THREE.Vector4

class ToObject object => X object where Source #

Minimal complete definition

Nothing

Methods

x :: Property object Double Source #

Instances

Instances details
X JSVal Source # 
Instance details

Defined in THREE.Internal

X Euler Source # 
Instance details

Defined in THREE.Euler

X Vector2 Source # 
Instance details

Defined in THREE.Vector2

X Vector3 Source # 
Instance details

Defined in THREE.Vector3

X Vector4 Source # 
Instance details

Defined in THREE.Vector4

class ToObject object => Y object where Source #

Minimal complete definition

Nothing

Methods

y :: Property object Double Source #

Instances

Instances details
Y JSVal Source # 
Instance details

Defined in THREE.Internal

Y Euler Source # 
Instance details

Defined in THREE.Euler

Y Vector2 Source # 
Instance details

Defined in THREE.Vector2

Y Vector3 Source # 
Instance details

Defined in THREE.Vector3

Y Vector4 Source # 
Instance details

Defined in THREE.Vector4

class ToObject object => Z object where Source #

Minimal complete definition

Nothing

Methods

z :: Property object Double Source #

Instances

Instances details
Z JSVal Source # 
Instance details

Defined in THREE.Internal

Z Euler Source # 
Instance details

Defined in THREE.Euler

Z Vector3 Source # 
Instance details

Defined in THREE.Vector3

Z Vector4 Source # 
Instance details

Defined in THREE.Vector4

Combinators

(^.) :: GetField field => object -> field object return -> Three return infixr 4 Source #

(.=) :: Property object field -> field -> object -> Three () infixr 4 Source #

(+=) :: forall object field. Num field => Property object field -> field -> object -> Three () infixr 4 Source #

(-=) :: forall object field. Num field => Property object field -> field -> object -> Three () infixr 4 Source #

(%=) :: Property object field -> (field -> field) -> object -> Three () infixr 4 Source #

(*=) :: forall object field. Num field => Property object field -> field -> object -> Three () infixr 4 Source #

(!.) :: (ToObject a, ToObject b) => Property a b -> Property b c -> Property a c Source #

This is how we compose Property, can be used for getting and setting fields

  object & position .! x .= 100

(!..) :: Three field -> (field -> Three result) -> Three result infixl 1 Source #

This is how we invoke a function

  object ^. position !.. setXYZ 1 1 1

property :: (ToObject object, ToJSVal field, FromJSVal field) => MisoString -> Property object field Source #

method :: forall object return args. (FromJSVal return, ToArgs args, ToObject object) => MisoString -> Method object args return Source #

readonly :: forall object return. (FromJSVal return, ToObject object) => MisoString -> ReadOnly object return Source #

optional :: (ToObject object, ToJSVal field, FromJSVal field) => MisoString -> Property object (Maybe field) Source #

new :: ToArgs args => (JSVal -> con) -> MisoString -> args -> Three con Source #

Classes

class ToJSVal args => Triplet args where Source #

Class for dealing with overloaded triplet like arguments (e.g. Vector3, '(Int,Int,Int)'), see use in Object3D, lookAt

Methods

triplet :: args -> IO JSVal Source #

Instances

Instances details
Triplet Vector3 Source # 
Instance details

Defined in THREE.Vector3

ToJSVal (x, y, z) => Triplet (x, y, z) Source # 
Instance details

Defined in THREE.Internal

Methods

triplet :: (x, y, z) -> IO JSVal Source #