CloudSession

class cee.CloudSession()

The CloudSession’s responsibility is to manage the Viewers and the main event loop of EnvisionWeb (handleAnimationFrameCallback).

All EnvisionWeb applications need a CloudSession object. There is only need for one, even in apps with multiple viewers, views, models and remote servers.

Constructors

Accessors

  • buildDateTimeString

  • version

  • viewerCount


Constructors

CloudSession.constructor()

Constructor

Return type:

CloudSession

Accessors

cee.buildDateTimeString()

Returns the date and time this version of EnvisionWeb was built

Return type:

string

cee.version()

Returns the version of CEETRON Envision for Web

Format: Major.Minor.Patch-Build. E.g. ‘1.2.0+34145A’ or ‘1.2.0-rc1++38C14A

Return type:

string

cee.viewerCount()

Returns the number of viewers in the client application.

Return type:

number

Methods

addModelToProcessingSet

CloudSession.addModelToProcessingSet(model)
Arguments:

Manually add a model to the set of models that need background processing

Return type:

void

addViewer

CloudSession.addViewer(canvas[, viewerOptions])
Arguments:
  • canvas (HTMLCanvasElement) – None

  • viewerOptions (ViewerOptions) – optional None

Adds a new Viewer to the session.

The Viewer is tied to a HTML Canvas element, and the provided canvas must be capable of rendering WebGL. A Viewer can have many Views, and all the Views within a Viewer can share WebGL resources. So, to show the same Model in two Views, using one Viewer with two Views is more efficient than using two Viewers with one View each.

A client application can contain many Viewers, but each Viewer must be linked to single unique Canvas.

Return type:

Viewer

deleteAllViewers

CloudSession.deleteAllViewers()

Deletes all viewers from the app.

Return type:

void

deleteViewerAt

CloudSession.deleteViewerAt(index)
Arguments:
  • index (number) – None

Deletes the viewer at the given index.

The index must be zero based and between 0 and viewerCount - 1

Return type:

void

destroySession

CloudSession.destroySession()

Destroys the session object. This will delete all the viewers.

Return type:

void

getViewerArray

CloudSession.getViewerArray()

Returns a read only array with all viewers in the session

Return type:

unknown

getViewerAt

CloudSession.getViewerAt(index)
Arguments:
  • index (number) – None

Returns the viewer with the given index.

The index must be zero based and between 0 and viewerCount - 1

Return type:

Viewer

handleAnimationFrameCallback

CloudSession.handleAnimationFrameCallback(highResTimestamp_ms)
Arguments:
  • highResTimestamp_ms (number) – None

Mandatory update method for the CEETRON Envision Client.

This method must be called from a requestAnimationFrame() for animations to run and server communication to work as expected.

The standard code for doing this is:

// Setup timer to keep the session viewer up-to-date
function myAnimationFrameCallback(highResTimestamp) {
    mySession.handleAnimationFrameCallback(highResTimestamp);
    requestAnimationFrame(myAnimationFrameCallback);
}

requestAnimationFrame(myAnimationFrameCallback);
Return type:

boolean

removeModelFromProcessingSet

CloudSession.removeModelFromProcessingSet(model)
Arguments:

Remove a model that was previously added manually to the processing set

Return type:

void