Program Class

Extends ResourceManager
Module: Core

Program class contains all the data of a nunuStudio program.

Is stores and manages all available resources used by the children objects.

Is responsible for handling runtime tasks, initialization, update, resizes etc.

Methods

add

(
  • scene
)

Add new scene to this program.

On the program class only scenes can be added as children.

Parameters:

clone

() Program

Clone program, keeping uuids and every identification attribute.

Clone method uses the ObjectLoad to serialize and create a new program instance with the same data.

Returns:

Program:

Cloned program

displayVR

()

Enter virtual reality mode.

To enter virtual reality mode a WebVR enabled browser is required.

When displaying VR content the display.requestAnimationFrame should be used to call the render method.

dispose

()

Dispose program data to avoid memory leaks.

Called when exiting the program.

exitVR

()

Exit virtual relity mode.

initialize

()

Select initial scene and initialize that scene.

Automatically called by the runtime.

receiveDataApp

(
  • data
)

Receive external data and pass it to all script instances.

Parameters:

  • data Object

remove

(
  • scene
)

Remove Scene from program.

Parameters:

render

(
  • renderer
)

Render current scene to canvas.

When rendering in VR mode all effects and camera parameters are ignored.

Renderer should be initialized and passed as argument.

Parameters:

  • renderer Renderer

resize

(
  • x
  • y
)

Resize the current scene elements.

Parameters:

  • x Number

    Width.

  • y Number

    Height.

sendDataApp

(
  • data
)

Send data to external app instance.

Parameters:

  • data Object

setInitialScene

(
  • uuid
)

Set a scene as initial scene using its uuid.

This method is used by the editor.

Parameters:

  • uuid String

    Scene uuid

setMouseKeyboard

(
  • mouse
  • keyboard
)

Set program mouse and keyboard.

Parameters:

setRenderer

(
  • renderer
  • configure
)

Set program renderer to be used by this program.

Parameters:

  • renderer WebGLRenderer

    Three.js renderer to be used by this program

  • configure Bool

    If true also updates renderer configuration to match rendering quality specified in the program.

setScene

(
  • scene
)

Change scene during runtime, this method can receive booth a scene name or a scene object.

This method should be used inside of script objects during runtime.

Parameters:

  • scene Scene | String

    Scene object or name of the scene to be used.

toJSON

(
  • meta
  • exportResources
)
Object

Serialize the object to JSON format.

Parameters:

  • meta Object

    Metadata object passed to the objects and resources toJSON method to store data.

  • exportResources Boolean

    If true all resouces in the program are exported, else only resources attached to objects are exported

Returns:

Object:

json Serialized JSON data containing the program, all scenes and resources stored.

update

()

Update program state, this updated all current scene children elements.

updateRenderer

()

This method updated the webgl renderer configuration.

Should be called after changing any rendering related parameter.

Properties

app

NunuApp

NunuRuntime instance used to communication between nunu app and the host webpage.

Inside the editor communication with the app is simulated on the debug console.

author

String

Program author.

canvas

DOM

Canvas being used to draw content.

This canvas is where the WebGL rendering context was created.

clock

THREE.Clock

Clock object used to measure times between frames.

defaultCamera

THREE.Camera

Default camera to be used by scenes where there is no camera.

On the editor this value is automatically set to the last editor camera point used

defaultScene

THREE.Scene

Scene loaded as default on startup.

description

String

Program description.

division

DOM

DOM Division element that can be used to add html content to the app.

All content added to this division should be manually removed before the app exits.

handlePixelRatio

Boolean

Flag to indicate if the runtime should handle device pixel ratio.

Default: false

keyboard

Keyboard

Keyboard input object.

lockPointer

Boolean

Flag to control pointer locking.

Default: false

manager

EventManager

Event manager used to handle VR display presentation change event.

mouse

Mouse

Mouse input object.

name

String

Program name.

renderer

WebGLRenderer

Renderer being used during runtime.

rendererConfig

RendererConfiguration

Renderer configuration applied to the WebGL renderer.

scene

Scene

Scene currently running in the program.

version

String

Program version.

Default: "0"

vr

Boolean

Enable virtual reality flag.

Default: false

vrScale

Number

Virtual reality movement scale.

Indicates the relation between the real movement and virtual world movement.

Default: 1.0