Class: OrgansViewer

PJP.OrgansViewer(ModelsLoaderIn, PanelName) → {PJP.OrgansViewer}

new OrgansViewer(ModelsLoaderIn, PanelName) → {PJP.OrgansViewer}

Viewer of 3D-organs models. Users can toggle on/off different views. Data is displayed instead if models are not available.
Parameters:
Name Type Description
ModelsLoaderIn PJP.ModelsLoader defined in modelsLoade.js, providing locations of files.
PanelName String Id of the target element to create the PJP.OrgansViewer on.
Author:
  • Alan Wu
Source:
Returns:
Type
PJP.OrgansViewer

Members

(inner) imageCombiner

{ImageCombiner}.
Source:

Methods

(async) loadOrgans(speciesName, systemName, systemName)

Load organ(s) with the provided species, system and part. This will update the UIs, load in the models. If models are not available, it will attempt to display the data instead (same geometry as shown on the PJP.BodyViewer
Parameters:
Name Type Description
speciesName String
systemName String
systemName String
Source:

(inner) _addOrganPartCallback()

New organs geometry has been added to the scene, add UIs and make sure the viewport is correct.
Source:

(inner) addUICallback()

Add UI callbacks after html page has been loaded.
Source:

(inner) changeDataGeometryVisibility()

Callback function when a data geometry has been toggled on/off the scene.
Source:

(inner) changeNerveMapVisibility()

Nerve map has been toggled on/off, change organs renderer layput.
Source:

(inner) changeOrganPartsVisibility()

Change visibility for parts of the current scene.
Source:

(inner) getAvailableSpecies() → {Array}

Return an array containing name(s) of species that also contains the currently displayed organs.
Source:
Returns:
containing species name
Type
Array

(async, inner) initialise()

initialise loading of the html layout for the organs panel, this is called when the PJP.OrgansViewer is created.
Source:

(inner) initialiseOrgansVisualisation()

Initialise organs panel, setup primary renderer and dat.gui UI.
Source:

(inner) setupNerveMapPrimaryRenderer()

Read in the nerve map models onto the primary renderer when nerve map has been toggled on.
Source:

(inner) setupOrgansNerveSVG()

Load the appropriate svg diagram to the svg viewer on the organs panel.
Source:

(inner) setupSecondaryRenderer()

Create/Get the secondary renderer and display relavant models on it.
Source:

(inner) timeSliderChanged()

Used to update internal timeer in scene when time slider has changed.
Source:

(inner) toggleFieldVisibility()

Toggle data field displays. Data fields displays flow/pressure and other activities of the organs.
Source:

(inner) updateLayout()

Update layout of the organs panel, there are three different layouts at this moment. 1. Normal display - Fullscreen/split screen with a single display. 2. Nerve map display - Three panels when it is on fullscreen display. 3. Species comparison display - Two panels when it is on fullscreen display.
Source:

(inner) updateOrganSpecificGui()

Reset dat.gui ui and also update it to fit the current displaying organs.
Source:

(inner) updateTimeSlider()

Update the time slider and other renderers/scenes when time has changed.
Source:

Type Definitions

_addNerveMapGeometryCallback

Change some of the ZincGeometry property for never map geometry
Source:

_hoverCallback

Callback function when a pickable object has been hovered over. It will show objecty id/name as tooltip text.
Source:

_pickingCallback

Callback function when a pickable object has been picked. It will then call functions in tissueViewer and cellPanel to show corresponding informations.
Source:

onImageScrollEvent

Trigger zoom event on the nerve map composite image.
Source:

speedSliderChanged

Speed slider has moved, adjust the play speed of the renderer.
Source: