JS: implement all needed interfaces on AboutBox to avoid an inner class

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Added Entity chain following to OuputPropertyLabels

Now a string of entities can be followed, like getting the name of a brand
from a tank.

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Added configurable failure text for OutputPropertyLabels

This is a little bit more debuggable than a blank string.

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Stop caching DisplayEntity list size

These were causing too many recoverable exceptions in the log.

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: explicitly catch indexoutofbounds as we read the global list racily (on purpose)

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: fixup for null pointer exception when looking up an output value

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: fold TreeRenderer subclass into the ui class that uses it

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: JaamSim graphics debug feature, picking a debug AABB is now red

This is helpful when debugging picking issues.

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: remove getTotalHoursFor(index) from ModelEntity

number of states may never be zero.

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: correct spacing in ModelEntity::printUtilizationOn(FileEntity)

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: remove getTotalHoursFor(index) method from ModelEntity

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
TLS: change the stateChanged callback to explicitly take both states

ALso, this call is done _after_ the state has been changed, so that all statitics
are up to date by the time the callback is done.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: remove getCurrentCycleHoursFor(index) method from ModelEntity

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: MeshReader now imports Armature data

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Added debug ability to draw armatures

Signed-off-by: Matt Chudleigh <matt.chudleigh@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: update version to TLS2013-16

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: remove getCompletedCycleHoursFor(index) method from ModelEntity

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: remove getStateRecordFor(index) method from ModelEntity

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: remove getPresentStateIndex() from ModelEntity

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: remove index from ModelEntity.StateRecord

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>