Proto commits in USNavalResearchLaboratory/simdissdk

These 59 commits are when the Protocol Buffers files have changed:

Commit:9c8c347
Author:George Ruhlmann

SIM-18187 Updated Category Data and Generic Data to Simple C++ Classes (1/4 SDK) **JIRA Issue:** SIM-18187 **Description:** Did the minimum necessary to get the SDK and SIMDIS-X to compile. **Testing Performed:** Unit tests still pass and Simple Server looks good

The documentation is generated from this commit.

Commit:364a56e
Author:George Ruhlmann

SIM-18172 Merge Simple simData Updates Into Main (1/7 SDK) **Release Notes:** This is the first pass at removing Google protobuf from simData. The update classes have been replaced with simple c++ classes. **JIRA Issue:** SIM-18172 **Testing Performed:** SDK unit tests still pass, Ran S058 on Windows and Linux

Commit:23b1f77
Author:Daniel Emminizer

SDK: Lifespan Preference (1/4) **Release Notes:** SDK NEW FEATURE: simData::PlatformPrefs::LifespanMode is a new preference that controls how platform lifespan (is-active) is determined in file mode. **JIRA Issue:** SIM-17032 **Description:** Extracted file mode platform lifespan calculations to a single helper function. Reimplemented legacy lifespan based on previously removed code. Consolidated MemoryDataStore code instead of duplicating logic. **Testing Performed:** S058's import/export test. I ran with the old style and got the test to pass completely. I then updated to the new style and the test failed as it had been failing previously with too many entities shown. Also tested manually in SIMDIS, toggling the value and seeing changes immediately in the scene.

Commit:8665880
Author:George Ruhlmann

SIM-17263 Gates Now Have a Centroid Color Preference (1/4 SDK) **Release Notes:** Gates now have a centroid color preference. **JIRA Issue:** SIM-17263 **Description:** The gate centroid color follows the same pattern as customer rendering history. The centroid color is used if any of the color components are non-zero. If all color components are zero, use the gate color, but replace the alpha component with the centroid color alpha component. **Testing Performed:** Manual testing with the simple server plug-in

Commit:dbb2a52
Author:George Ruhlmann

SIM-16750 Added Draw Type Line Option for Beams (1/2 SDK) **Release Notes:** NEW FEATURE: simVis::SphericalVolume updated to support new LINE beam draw type. **JIRA Issue:** SIM-16750 **Testing Performed:** Manual testing in file mode. A top down view with only beams and all beams in view saw a 20% increase in frame rate when switching from a 3db draw type to line draw type.

Commit:f52e008
Author:Daniel Emminizer

SDK: Intensity Color Combine Mode **Release Notes:** simVis::OverrideColor and associated platform preference overrideColorCombineMode support a new mode for an intensity gradient. This applies post-lighting and may provide a more consistent result than the Color Replace mode. **JIRA Issue:** SIM-16554 **Testing Performed:** See screenshots in SIMDIS review.

Commit:3b7dc03
Author:George Ruhlmann

SIM-16371 Merge TSPI Filters into main (1/3 SDK) **JIRA Issue:** SIM-16371 **Description:** Release notes already covered in other MRs **Testing Performed:** Ran STS test, built and ran on Linux and Windows, did a non-unity build on Windows

Commit:d147c07
Author:George Ruhlmann

SIM-15873 Added Depth Test For Custom Rendering To simData.proto (1/4 SDK) **Release Notes:** Depth Test Boolean field was added to the Custom Rendering preferences to toggle the depth test. **JIRA Issue:** SIM-15873 **Testing Performed:** Updated SIMDIS to use the new field

Commit:6468ad4
Author:Daniel Emminizer

SDK: Fragment Effect Color (1/3) **JIRA Issue:** SIM-15565 **Description:** Fragment effect color added to simData and now impacting simVis fragment effects. Refactored the shader code for clarity and independent variation. **Testing Performed:** See screenshots. Tested each of the available effects.

Commit:3c91865
Author:Patrick Geissel

SDK: simData changes hilightFollowOrientation to hilightFollowYaw (1 of 3), SIM-15672 **JIRA Issue:** SIM-15672 **Description:** SDK: simData changes hilightFollowOrientation to hilightFollowYaw **Notes:** including some updates from previous review **Testing Performed:** still functions as expected

Commit:4ba71dc
Author:Patrick Geissel

SDK: Platform highlight adds follow orientation option, SIM-15467 (1 of 3) **JIRA Issue:** SIM-15467 **Description:** SDK: Platform highlight adds follow orientation option **Notes:** new pref to allow highlight shape to follow platform's orientation **Testing Performed:** tested with updated SIMDIS to set pref. Using shapes other than circle, verified that highlight shape followed orientation when set

Commit:088b6b9
Author:Daniel Emminizer

SDK: Fragment Effects (1/4) **Release Notes:** simVis::FragmentEffects is a new class for applying enumerated fragment shader values from platform preferences to a platform's state set. Added a Fragment Effects example application. **JIRA Issue:** SIM-15505 **Description:** Fragment effects apply to platforms and let the user change the visual styling of the entity's 2-D or 3-D model in 2-D space. This allows users to add custom stippling or color effects. **Testing Performed:** Standalone test application, integration into SIMDIS.

Commit:edb36be
Author:Daniel Emminizer

SDK: Override H-FOV, Fixes to V-FOV (1/3) **Release Notes:** simData::ProjectorPrefs includes an override horizontal FOV angle and Boolean to allow for preference-driven overrides of horizontal and vertical FOV. **JIRA Issue:** SIM-15523 **Description:** Projector prefs now includes a use-hfov-override and hfov-override-angle value. Fixed calculation of effective data/prefs h-fov. Fixed calculation of aspect ratio and vfov from the case where vfov is set to "calculate". Improved docs. **Testing Performed:** SIMDIS toggling the various values and changing input prefs to various values.

Commit:6b1ffa7
Author:Daniel Emminizer

SDK: Coffin Area Highlight (1/2) **Release Notes:** SDK NEW FEATURE: simVis::AreaHighlight now supports new simData::CH_COFFIN coffin shape, useful for kill/rebirth highlighting. **JIRA Issue:** SIM-15466 **Description:** Also updated the Image Icons example to support coffin shape. **Testing Performed:** See screenshot from Image Icons example.

Commit:c3ec451
Author:Colin McNulty

Add projector horizontal field of view backend (1/2) **JIRA Issue:** SIM-15334 **Description:** Add projector horizontal field of view backend. **Notes:** Repositories outside SDK were updated the minimum amount to keep them compiling. Full support will come later. Going forward, any existing projector FOV functions will be deprecated and replaced with vFOV functions. hFOV will remain optional. Future passes will include: - Updating plug-in API - Updating FileWriter and HDF5 plug-ins - Adding an hFOV column definition to PlotXyQt - Updating SIMDIS-X data browser and entity label - swig and RemoteAPI **Testing Performed:** Made one of the projectors in the projector example vary the horizontal FOV over time. Changed images used in projector example to ones with different aspect ratios. Projectors which didn't specify horizontal field of view updated size appropriately. Projectors that did stayed the same size, distorting the image to fit. Ran unit tests, fieldDictionaryTest passed

Commit:b2d8644
Author:Daniel Emminizer

SDK: Override Color Mode (1/3) **Release Notes:** Platform Preference overrideColorCombineMode lets users choose how override color contributes to model color. Choose between multiply (the default) and replace. **JIRA Issue:** SIM-14704 **Testing Performed:** See screenshots. Tested with 2D and 3D icons in SIMDIS.

Commit:7bd41d5
Author:George Ruhlmann

SIM-14368 Highlight Can Be Independent of Host Size (1/3 SDK) **Release Notes:** Platform highlight size can now be set. The default value of zero uses the icon size. **JIRA Issue:** SIM-14368 **Description:** The hightlight is part of the scaledInertialTransform_, so it will still scale based on platform scaling, if any. **Testing Performed:** Manual testing with SIMDIS-X.

Commit:079b570
Author:Glenn Waldron

Projectors: add a doubleSided property that controls whether to project on backfacing geometry(when true) in addition to front-facing geometry(the default). Also fix an issue with project-on-entity in which max range and backfacing geometry was not being considered.

Commit:598aa5d
Author:Daniel Emminizer

SDK NEW FEATURE: CommonPrefs.acceptsProjectors is now a repeated field. Previous scalar acceptsProjector field removed. * Projectors example cleaned up to use prefs * Command updating method now ensures repeated scalar fields (like repeated uint64) use the last set of scalars, rather than combining all values into one list * Planetarium View Tool now correctly monitors for multiple IDs * New unit test to confirm behavior of commands with new repeated uint64 acceptsProjectors field Fixes part of SIM-13832. Review: 26988

Commit:1e26a75
Author:Daniel Emminizer

DEV: Minor improvements to maximum projector range. Values <= 0 now mean no limiting, allowing a better default value of 0, improving GUI displays. Fixed minor issue with negative ranges. Minor proto documentation fixes. Review: 26800

Commit:039c743
Author:Glenn Waldron

Projectors: add a 'maxdrawrange' pref to limit the render distance of a projector. Updated the example_projectors test to toggle it.

Commit:10614cc
Author:George Ruhlmann

SIM-13663 Projector Preference for Shadow Mapping (1 of 4 SDK) Release Notes: N/A. Notes: Converted control from a member variable to a preference Test Environment: Windows, Visual Studio 2017, RelWithDebInfo Test: updated and ran projector example Review: 26533

Commit:1b80dd3
Author:Daniel Emminizer

DEV: Default swapped back to pixel scaling after fixing bug with dynamic scaling for pixels incorrectly impacting 3D icons. Fixes SIM-13472. Review: 26075

Commit:cec099d
Author:George Ruhlmann

SIM-13472 Restoring Default Dynamic Scale Algorithm Release Notes: N/A. Notes: Changing the default dynamic scale algorithm back to DSA_CONSISTENT_SIZING. The change to DSA_METERS_TO_PIXELS breaks too many tests. Test Environment: Windows, Visual Studio 2017, Debug Test: Icons are now visible. Review: 26059

Commit:56c16c9
Author:Daniel Emminizer

SIMDIS NEW FEATURE: Platform image icons now default to the Meters-to-Pixels algorithm for dynamic scale. As a result, 2D icons may be different sizes than previously. Icons will now have a size consistent with the size of the underlying image. For example, a 64x64 PNG will result in an icon twice as large as a 32x32 PNG when dynamically scaled. SDK NEW FEATURE: simData::PlatformPrefs dynamic scale algorithm now defaults to DSA_METERS_TO_PIXELS, changing the default size of several icons to scale based on the dimensions of the source image. Results in slightly better performance, especially in large scenarios. Review: 26042

Commit:a8a0405
Author:Daniel Emminizer

SDK NEW FEATURE: Time Ticks Label Color is a new preference for time ticks, under platform prefs. Fixes SIM-13264. Review: 25834

Commit:4e74512
Author:Martin Kinsey

SDK NEW FEATURE: simVis::AnimatedLineNode can now be configured with a line bending mode. SDK NEW FEATURE: simData::LobGroupPrefs has a new entry for line bending mode. DEV: SIM-12676, Review: 24989.

Commit:85c837e
Author:Daniel Emminizer

SIMDIS SDK NEW FEATURE: Platform Dynamic Scale Algorithm can now be changed per-platform. See PlatformPrefs.dynamicScaleAlgorithm. A new algorithm has been added to scale a platform directly from meters to pixels. This creates a consistently sized platform and is particularly useful for showing image icons at the source image size. Fixes SIM-12552. Review: 24118

Commit:6e7333d
Author:Martin Kinsey

DEV: Added acceptProjectorId field to CommonPrefs. SIM-12369, Review: 23671.

Commit:9677274
Author:Daniel Emminizer

DEV: Now specifying protobuf version syntax explicitly. Intended for help in upgrading protobuf versions. Part of SIM-12339. Review: 23554

Commit:214c04a
Author:George Ruhlmann

Addendum to Review 21588 to fix a documentation typo

Commit:c340f16
Author:George Ruhlmann

SIM-11494 Added Lighted Preference for Custom Rendering (1 of 3 SDK) Release: showLighted added to simData::CustomRenderingPrefs to toggle the light shading of custom rendering objects. Notes: The field name needs to be unique among all entity types so I went with showLighted Test Environment: Windows 10, Visual Studio 2017, Debug Test: Manual testing, see screen shot on the last review Review: 21588

Commit:fc0752f
Author:Frank Bausch

simData: add PlatformPref for ECI data mode (SIM-11295) Release Note: N/A Notes: Test Environment: Windows 10, VC14, Debug, 64-bit. Test: Review: 21413

Commit:874d10c
Author:Patrick Geissel

DEV: SDK: TimeTicks finishes up label drawing, SIM-4428, review 20345

Commit:91172d9
Author:Patrick Geissel

SDK API NEW FEATURE: simData TimeTickPrefs added to control simVis TimeTicks for drawing a time ticks trail on a platform DEV: SDK: simData TimeTickPrefs added to PlatformPrefs, used by TimeTicks, SIM-4428, review 20318

Commit:ee3118c
Author:George Ruhlmann

SIM-10756 Added a Preference for a Custom Rendering Center Axis (1 of 3 SDK) Release: Updated simData.proto to include a preference for a Custom Renderer center axis. Notes: N/A Test Environment: Windows 10, Visual Studio 2015, Debug Test: Manual testing with SIMDIS-10 using CustomRenderer.asi Review: 20021

Commit:fb323f1
Author:Daniel Emminizer

SDK NEW FEATURE: simData::PlatformPrefs field velVecColor added to control the color of a velocity vector. Fixes impl for SIM-10742. Review: 19942

Commit:02892ae
Author:Daniel Emminizer

SDK NEW FEATURE: Platforms now support more highlight styles with various line modes, using the new simVis::CompositeHighlightNode and simVis::LineDrawableHighlightNode. Fixes SIM-10659. Review: 19709

Commit:9e88174
Author:George Ruhlmann

SIM-10210 Added History Override Color (1 of 4 SDK) Release Notes: Custom Rendering now supports the concept of a history override color. Notes: Modeled after the Track History Override Color Test Environment: Windows 10, Visual Studio 2013, Debug, 64-bit Test: Manual testing using SIMDIS Review: 18343

Commit:609a01e
Author:George Ruhlmann

SIM-10000 Renamed Custom Rendering Preferences (1 of 3 SDK) Release Notes: N/A Notes: N/A Test Environment: Windows 10, Visual Studio 2013, Debug, 64-bit Test: Manual Testing Review: 17732

Commit:5b1a60e
Author:George Ruhlmann

SIM-9839 Added Custom Rendering Preferences (1 of 3 SDK) Release Notes: Added Custom Rendering preferences for persistence and history. Notes: N/A. Test Environment: Windows 10, Visual Studio 2013, Debug, 64-bit Test: Manual testing in SIMDIS10. Review: 17643

Commit:d8a9e4d
Author:George Ruhlmann

SIM-9839 Added Outline as a Preference to Custom Rendering (1 of 3 SDK) Release Notes: Added “outline” as a preference to custom rendering Notes: Only ellipse and rectangle support the outline preference. This is the first of several passes. Test Environment: Windows 10, Visual Studio 2013, Debug, 64-bit Test: Manual testing in SIMDIS10. Review: 17632

Commit:a0d70e0
Author:Daniel Emminizer

SDK NEW FEATURE: Projector now supports new prefs for overriding the field of view angle from data updates. SDK BUGFIX: Projector frustum now updates correctly when field of view changes. Review: 16710

Commit:555a99f
Author:Patrick Geissel

SDK API NEW FEATURE: simData LabelPrefs adds new field, useValues, an enum to indicate when to use actual data values vs. the adjusted display values in all labels DEV: SDK: LabelPrefs adds new useValues enum, used by PlatformNode for labels, SIM-9019, review 15849

Commit:ee1be57
Author:Daniel Emminizer

SDK NEWFEATURE: Platform Preferences has a new field animateDofNodes that controls whether the osgSim::DOFTransform nodes in the model are animated or not. This feature is off by default, and per-platform. SDK NEWFEATURE: simVis::EnableDOFTransform is a new utility visitor class to turn on and off osgSim::DOFTransform animation in a subgraph. Review: 15443

Commit:662aa86
Author:George Ruhlmann

SIM-9069 Added Support to Keep Platform Above the Terrain (1 of 3 SDK) Release Notes: N/A. Notes: Added a new preference and new filter class Test Environment: Windows, VC12, Debug, 64-bit Test: Manual testing with Simple Server. I added a Marker over one of the islands and placed is slightly under the terrain. Review: 15015

Commit:145ab46
Author:Daniel Emminizer

SDK BUGFIX: simData::ProjectorUpdate's projectorAlpha field now defaults to 1.0 to match SIMDIS 9 behavior. Fixes note from SIM-8956. Review: 14872

Commit:719a4aa
Author:Andrew LaFrance

Dev: Add the LOS Altitude Offset field, and utilize the field in the LOS range calculation. SIM-8689, Review #14839.

Commit:5e4e05f
Author:Martin Kinsey

DEV: Added two new platform pref fields to configure the range and azimuthal resolutions for an LOS graphic. See also reviews 14643-4. Fixes SIM-8869, Review: 14642.

Commit:07ad8f4
Author:Martin Kinsey

DEV: Added two new platform pref fields to configure the color of the LOS display on a per-platform basis. See also review 14637. Part of SIM-8869, Review: 14636.

Commit:36460bc
Author:George Ruhlmann

SIM-8671: Added Render field to CustomRenderingProperties (1 of 3 SDK) Release Notes: N/A Notes: I did not rename the source field since all the other entity types had the same field. I don’t think the field is used in our code. Test Environment: Windows, Visual Studio 2013, Debug, 64-bit Test: Compile, the SDK does not reference either field Review: 14220

Commit:a630dc7
Author:George Ruhlmann

SIM-8603: Adding Custom Rendering to simData and simVis Release Notes: N/A Notes: This is a proof of concept for the Custom Rendering. Test Environment: Windows, Visual Studio 2013, Debug, 64-bit Test: Created and ran CustomRenderingTest. Saw custom graphics and custom label. Did a successful build with custom rendering off. Review: 14061

Commit:b0c590e
Author:Patrick Geissel

SDK API NEW FEATURE: simData PlatformPrefs new field iconAlignment for applying alignment to 2D image icons, implemented by simVis PlatformModel DEV: SDK: simData::PlatformPrefs adds new field for 2D image icon alignment, simVis::PlatformModel applies it, SIM-7836, review 12923

Commit:103c59c
Author:William Doughty

SDK REL: Reduced the default LOB history appearance from 1800 to 10 points in order to improved display frame rate. SIM-7655 Using an ASI file created from script attached to SIM-7653, the draw time for 34 LOBs was 415 ms. This caused SIMDIS to have a frame rate of nearly 1 Hz. Changing the number of history points from 1800 to 10 improved the frame rate to 15 Hz for the same file. http://simapache.enews.nrl.navy.mil/reviews/r/11228/

Commit:fb5a777
Author:Patrick Geissel

DEV: SDK: Add new hookDisplayFields field to LabelPrefs message, implement hookText() method in simVis::EntityNode classes, SPR-1195, review 10585

Commit:7d99f39
Author:Daniel Emminizer

DEV: Pulse fixes: * Added pulseStipple field for dynamic stippling of the beam pulse. * Fixed documentation. * Extracted the code following the example of OverrideColor, as suggested before. * Now initializing control variables. * Refactored shader to respect real time (instead of easy-to-program hard-to-understand scalars) * Refactored shader for bit masking for stippling. * Optimization on vertex shader. * Renamed Pulse Period to Pulse Length Fixes SIM-7449, Structure for fixing SIM-7446. Review: 9973

Commit:6ec4907
Author:Vergel Fajardo

Implement Beam Pulse Animation (Part 1 of 2). Review 9944

Commit:a4301fc
Author:Frank Bausch

simData: protobuf now defaults to antenna pattern=algorithm instead of none (SIM-6997) Release Note: N/A Notes: the pattern=none options makes no sense. if user switches from 3db to pattern, something should show, not nothing. Test Environment: Windows 7, VC12, Debug, 64-bit. Test: simdis10 Review: 9625

Commit:33720e3
Author:Daniel Emminizer

DEV: Documentation on setThickness fixed. Added new setThicknessBySlots() method. Fixes SIM-7246. Review: 9600