JS: import of jaamsim project changes

- new VP8-based video recorder/screen capture implementation
- new implementation of Vec[234]d and Mat4d classes
- removal of dependency on vecmath lib
- Beginning to better separate DisplayModel from graphics drawing

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: remove the vecmath jarfile, we no longer depend on it

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: assorted updates to graphics, and new Calculation Objects package

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: BooleanIndicator class

Graphic representation of a boolean property.

Signed-off-by: Geoffrey Savinkoff <Geoffrey.Savinkoff@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: change scale value passed to Polygon/PolygonProxy to a Vec3d

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: remove getJaamMathSize which was a leftover of converting away from Vecmath

This really points out we are missing a helper in DisplayModel to do this.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Improve code style for CalculationObjects

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Initial commit of BooleanCalculation components

ConstantBoolean, AndOperator, OrOperator, NotOperator

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add PIDController and Polynomial to CalculationObjects

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add keyword "Offset" to WaveGenerator

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Protect Differentiator from dt=0

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add units

New units for density, pressure, viscosity
Add angular speed unit rpm
Add volume flow unit m3/s

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Remove extra blank line from Contoller

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Initial commit of Fluid Objects

New objects: Fluid, FluidComponent, FluidFlow, FluidTank, FluidPipe, FluidCentrifugalPump

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Remove trace statements from FluidPipe

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D: add totalHours to StateRecord

this is the total hours spent in the state

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
All: collect initialization stats after initialization period

Copy totalHours to initializationHours, then clear totalHours for
StateRecord right after initialization period.

Since it is possible to enter ReportAgent::collectInitializationStats()
method from two callers (BTM and MTM), use collectedInitializationStats
flag (in ReportAgent) to avoid re-running this method again.

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
All: add cycle hours stats to StateRecord

at the end of each cycle add currenCycleHours to completedCycleHours, then
clear currentCycleHours.

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
All: collect the correct stats before/after printing report

updateStateRecordHours for each model entity before report interval, & also
before the end of run report. Clear totalHours and completedCycleHours for
each model entity after each report interval.

Signed-off-by: Ali Marandi <ali.marandi@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS3D, BTM: Do not include initial train cycle in cycle hours(completed or current)

Initial cycle from generation point to parking block should not be included
in train statistics

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