WSF Core 2.8 - 11 Mar 2021¶
Visit the AFSIM 2.8 Release Page on DI2E (Access Controlled) for more information and resources related to this release.
Release Dates¶
WSF Core 2.8.2 - 22 Oct 2021
WSF Core 2.8.1 - 29 Sep 2021
WSF Core 2.8.0 - 11 Mar 2021
General¶
(2.8.3) Removed platform state data from event_output and csv_event_output for platforms that have not been initialized. (AFSIM-1878)
(2.8.1) Updated documentation of WsfPlatform script methods for setting location, velocity, and orientation to caution usage of these methods on uninitialized platforms created via script. (AFSIM-190)
Added boolean inputs, defaulted to true, and deprecated the dis_interface commands suppress_cme_detect_beam, suppress_cme_entity_data, suppress_cme_passive_sensor, and suppress_cme_draw_data. Marked use_deprecated_cme_draw_data as deprecated. (AFSIM-714)
Removed several undocumented and deprecated script methods from WsfPlatform which provided simulation management facilities already present as static methods in WsfSimulation, including
FindPlatform
andDeletePlatform
. (AFSIM-756)Modifications to the simulation initialization sequence with regard to platforms may produce slightly different simulation outcomes for regression testing. (AFSIM-543)
Deprecated the WsfSpaceMover Periapsis and Apoapsis methods. PeriapsisRadius and ApoapsisRadius should be used instead. (AFSIM-805)
Deprecated the class WsfTargetOffsetFrame, uses of which should be replaced by WsfOrbitalReferenceFrame. (AFSIM-749)
Deprecated the methods WsfTargetPoint.HasOffset, WsfTargetPoint.OffsetFrame, WsfTargetPoint.Offset, WsfTargetPoint.ClearOffset, and WsfTargetPoint.SetOffset, uses of which should be replaced by WsfTargetPoint.HasPositionOffset, WsfTargetPoint.PositionOffsetFrame, WsfTargetPoint.PositionOffset, WsfTargetPoint.ClearPositionOffset, and WsfTargetPoint.SetPositionOffset. (AFSIM-749)
It is now an initialization error when a WSF_ATG_LAUNCH_COMPUTER has more than one LAR defined and the parent weapon has an unset update_interval. (AFSIM-144)
Corrections¶
(2.8.3) Corrected an issue where an implicitly constructed script_struct would cause a crash. (AFSIM-1889)
(2.8.3) Corrected an issue in which floating point values provided to integer inputs would silently truncate the input. An input error is now generated in such a case. (AFSIM-2273)
(2.8.3) New movers provided via WsfPlatform.SwapMover now respect maximum_mover_update_interval. (AFSIM-2121)
(2.8.3) Corrected a crash in osm_traffic that occurred when background vehicles exited the route_network via an one-way road. Vehicles are now deleted and a new vehicle is spawned at the beginning of a road that originates from an edge of the network. (AFSIM-1677)
(2.8.3) Fixed a regression introduced from AFSIM-169 regarding usage of transform_route with offset waypoints. (AFSIM-1885)
(2.8.3) WsfFuel now correctly inherits WsfPlatformPart as documented, making WsfPlatformPart script methods available on fuel objects. (AFSIM-2029)
(2.8.3) Corrected documentation for structures in aux data. (AFSIM-131)
(2.8.3) Corrected an issue when computing range_rate_error_sigma to reflect doppler resolution used in WSF_RADAR_SENSOR as a velocity instead of frequency. (AFSIM-1325)
(2.8.3) Corrected an issue where enabling csv_event_output or print_eci_locations for event_output would change the initial orbiting locations of satellites. (AFSIM-1878)
(2.8.2) Fixed incorrect parsing of script string literals. (AFSIM-1788)
(2.8.2) WSF_KINEMATIC_MOVER now correctly reports acceleration. (AFSIM-1730)
(2.8.2) WSF_KINEMATIC_MOVER now correctly reports velocity vector. (AFSIM-1729)
(2.8.2) Fixed an issue where WSF_TSPI_MOVER relocate_and_rotate used a spherical earth model instead of an ellipsoidal earth. (AFSIM-177)
(2.8.2) Fixed an issue where a WSF_TSPI_MOVER would always report 0 heading after a relocate_and_rotate command. (AFSIM-730)
(2.8.1) Corrected the return value of script methods WsfSimulation.ExecuteAtTime, WsfPlatform.ExecuteAtTime, and WsfProcessor.ExecuteAtTime to indicate whether the supplied script is valid. (AFSIM-642)
(2.8.1) Corrected the application of range_error_sigma value to the track measurement when percent_of_true_range is specified. (AFSIM-1151)
(2.8.1) Corrected an issue where platforms with route movers initially turned off will move along the provided route, jumping between waypoints, despite the mover being off. (AFSIM-182)
(2.8.1) Corrected an issue where platforms with route movers initially turned off and given a route, if later turned on using the WsfMover.TurnOn script method, will cause the platform to jump to the location on the route as if the mover had been on the entire time. (AFSIM-183)
(2.8.1) Corrected an issue in the kinematic trajectory model for the WSF_TSPI_MOVER that is used to predict future locations and time of apogee. (AFSIM-167)
(2.8.1) Corrected an issue in LocationValid2D() that caused some tracks with known 3-D location information to report false for this method and true for LocationValid(). Clarified documentation for these methods. (AFSIM-209)
(2.8.1) Corrected an issue where WSF_TABULAR_ATTENUATION was limiting attenuation values to the range [0, 1] absolute. (AFSIM-172)
(2.8.1) Corrected issues with SENSOR_FREQUENCY_CHANGED event output that caused errors in event and CSV files for some scenarios. (AFSIM-179)
(2.8.1) Corrected an issue in the line_of_sight_manager that could cause multi-threaded simulations to hang or crash. (AFSIM-1244)
(2.8.1) Corrected an issue where the WSF_ROAD_MOVER would not use the road network when commanded using the WsfPlatform.GoToLocation or WsfPlatform.FollowRoute script methods. (AFSIM-211)
(2.8.1) Corrected an issue where GPS navigation_errors were not being converted from a platform’s local XYZ coordinate frame to the WCS frame correctly. (AFSIM-932)
(2.8.1) Corrected an issue with the WSF_ROTORCRAFT_MOVER not moving along a route correctly after encountering a waypoint with a pause_time. (AFSIM-150)
(2.8.1) Corrected an issue where platforms following a route with a segment longer than ~1/4 of the earth’s circumference would not reach the proper location. (AFSIM-311)
(2.8.1) Corrected an issue where converting MGRS coordinates to Latitude/Longitude would fail in certain cases. (AFSIM-1039)
(2.8.1) Corrected a crash when using ProcessInput() on a command that depends on other input that has not been loaded. For example, a route referenced in the use_route command must be loaded or the scenario crashed. A console_output Info message will get issued when using the ProcessInput script method on a command with dependencies. (AFSIM-1071)
(2.8.1) Added missing documentation for mti_processor commands filtered_doppler_speed and unfiltered_doppler_speed. Added commands to the grammar for correct parsing in Wizard. (AFSIM-1073)
(2.8.1) Fixed crash that could occur when sending a WsfDraw command over XIO. (AFSIM-1097)
(2.8.1) Corrected observer documentation to include missing events, remove events no longer available, and accurately reflect event signatures. (AFSIM-1099)
(2.8.1) Removed excess console output from WsfPlatform.SetSignatureState. (AFSIM-234)
(2.8.1) Added warnings when using various zone commands on zone shapes they are not intended for. (AFSIM-1119)
(2.8.1) Corrected an issue where Advanced Behavior Tree Shared Blackboard script commands would not propagate all the way up the tree. (AFSIM-1234)
(2.8.1) Corrected an issue causing priority_selector to not work with root_node_type on Advanced Behavior Trees. Also fixed crashes involving root_node_type with sequence_with_memory/selector_with_memory nodes. (AFSIM-1241)
(2.8.1) Fixed the propulsion DIS appearance mask and added missing air domain flags. (AFSIM-1209)
(2.8.1) Fixed crash that could occur when osm_traffic vehicles are changing lanes to an unoccupied neighboring lane. (AFSIM-1132)
(2.8.1) Corrected an issue in which using the script method Array<T>.Insert would result in a script compilation error if T was not an Object. (AFSIM-1394)
(2.8.1) Fixed an issue with the Record Length in the DIS Record Specification. (AFSIM-1395)
Corrected an issue where the wrong reason was provided in event_output for the failure of a behavior_tree node to execute when calling the WsfBehaviorTreeNode.Failure method multiple times. (AFSIM-99)
Corrected an issue where the script method WsfZoneRouteFinder.AvoidZone would not add the specified zone to the list of avoidance zones. (AFSIM-163)
road_traffic is now generated on Monte Carlo iterations of a simulation. (AFSIM-168)
Corrected small inaccuracies in dead-reckoning when using a high-update rate. (AFSIM-524)
Corrected an issue in which brace initialization (
= {}
) on non-constructible script types resulted in null objects. Brace initialization for non-constructible types is now a script compiler error.Corrected an issue where a platform with SELF as a commander on a named command chain would have no commander on the default command chain instead of SELF as the commander. (AFSIM-127)
Corrected issues when using platform types with a WSF_ROAD_MOVER in a road_traffic block. If the off_road_speed was explicitly set, then these platforms were always traveling at the off-road speed even when on the road network. Additionally, these platforms were not using the speeds specified in the road_traffic block. (AFSIM-151)
Corrected an issue where the path computer, used by waypoint mover types, was not correctly calculating the turn radius when applying the body_g_limit constraint. The error was causing the calculated turn radius to be larger than expected. (AFSIM-301)
Corrected deficiencies identified with the documentation of Quaternion script methods. Removed the undocumented methods GetPsi(), GetTheta(), and GetPhi(), as these have been deprecated. The Quaternion.Psi, Quaternion.Theta, and Quaternion.Phi methods were incorrectly returning angles in radians and now return angles in degrees. The documentation has been updated accordingly. (AFSIM-308)
Corrected an issue where comm messages between simulations were unreliable when more than two simulations were connected over DIS. (AFSIM-322)(AFSIM-323)
Corrected an issue with checking terrain masking when using the use_fast_masking_check option. The algorithm was going one step too far, checking behind the target. This results in false-positives of terrain masking when line-of-sight isn’t actually blocked. (AFSIM-608)
Prevent the mover from being swapped when WsfPlatform.SwapMover is called on an externally moved platform. This prevents external simulations controlling a platform’s movement via DIS Entity State PDUs from losing control of the platform’s movement. (AFSIM-725)
Correct an issue with the Lambert orbital targeting solver that would lead to incorrect solutions for some hyperbolic transfers. (AFSIM-908)
Changed the time used in the lunar model from UT1 to TT. (AFSIM-886)
Corrected a crash when calling WsfXIO.Subscribe, WsfXIO_PublishKey.Field, or WsfXIO_PublishKey.ToString from script. (AFSIM-951)
(2.8.1) Addressed a possible issue where WsfSA_Processor could be providing incorrect platform data to scripted queries prior to its first update. (AFSIM-1235)
(2.8.1) Corrected a problem where orbit_determination fusion method was not producing a valid Initial Orbit Determination (IOD) result in the angles-only case (where only sensors that report bearing and elevation contribute to the IOD), particularly for satellites in Geosynchronous orbits. (AFSIM-291)
(2.8.1) Corrected an issue with WsfSolarTerminator.PlatformSolarIllumination for platforms on the surface of the Earth, or which had no mover. (AFSIM-1111)
(2.8.1) Corrected an issue where the high_resolution_eclipse option for the WSF_SPACE_OPTICAL_SIGNATURE would incorrectly compute a zero solar illumination.
(2.8.1) Corrected a problem where the three argument, WsfTrackId accepting version of WsfInterceptManeuver.Construct would silently fail and halt the simulation when used outside a platform’s script context. (AFSIM-555)
(2.8.1) Corrected issues where orbital targeting optimization (such as for the Rendezvous or Intercept maneuvers) would not find solutions, or give sub-optimal solutions. (AFSIM-1347)
(2.8.1) Corrected an issue where WsfSpaceMover.RIC_AtTime would report incorrect results for platforms with no mover. (AFSIM-1360)
(2.8.1) Corrected an issue where WSF_INTEGRATING_SPACE_MOVER would use an incorrect mass. (AFSIM-1719)
Corrected an issue with change_raan and change_raan_inclination attempting to execute for equatorial orbits, resulting in an infinite loop. (AFSIM-861)
WsfPlatform.FutureLocation is now valid for platforms with a WSF_INTEGRATING_SPACE_MOVER. (AFSIM-640)
Corrected a problem where the WSF_ORBIT_DETERMINATION_FILTER was not working properly due to incorrect initialization.
Corrected a problem where an inherent_contrast warning would be displayed on WSF_SPACE_OPTICAL_SIGNATURE, which does not require it.
Corrected a problem with the relative_time orbital event constraint failing for unbounded orbits. (AFSIM-557)
Corrected a problem with the documented description of the rotating frame used by the WsfLibrationPoint script class. (AFSIM-854)
WsfSpaceMover methods PeriapsisAltitude and ApoapsisAltitude are now referenced to the mean radius of the appropriate central_body, rather than to the spherical earth radius. (AFSIM-805)
Corrected problems with special cases of change_inclination maneuvers. This issue caused the WSF_NORAD_SPACE_MOVER to enter an infinite loop when attempting to change to an equatorial, non-circular orbit. (AFSIM-315)
(2.8.1) Corrected an issue in WSF_SENSOR_COVERAGE where multiple sensors on the same platform providing free assets are all set to ignore the grid assets. (AFSIM-1233)
Corrected an issue in AFSIM coverage where an access interval that completely covers the coverage interval would not be handled correctly, leading to incorrect MOE values. (AFSIM-785)
(2.8.3) Fixed a crash due to platform deletion when WSF_ENGAGE_LAUNCH_PK_TABLE_LETHALITY is used with WSF_IMPLICIT_WEAPON. (AFSIM-1507)
(2.8.3) Fixed an issue where sensor tracks were not being suppressed from subordinate sensors that are attached to a WSF_TRIMSIM_PROCESSOR. (AFSIM-1641)
(2.8.1) Corrected deficiencies in the documentation of Element Electronic Steered/Scanned Array (ESA) Pattern. Added average_element_spacing_x and average_element_spacing_y commands to the grammar for correct parsing in Wizard. (AFSIM-258)
(2.8.1) Fixed a crash in the WSF_TRIMSIM_PROCESSOR when error covariance data is being updated on the sensor track. (AFSIM-1647)
(2.8.1) Corrected the documented set of events which trigger the Engagement Report for the post_processor. (AFSIM-227)
(2.8.3) Corrected an issue with fuse_function_range to allow weapons to detonate at the appropriate distance specified. (AFSIM-1537)
(2.8.3) Fixed a rare crash with WSF_QUANTUM_TASKER_PROCESSOR when using the allocator_extra_tasks feature. (AFSIM-2142)
(2.8.3) Corrected an issue when computing range_rate_error_sigma to reflect doppler resolution used in WSF_OTH_RADAR_SENSOR and WSF_SURFACE_WAVE_RADAR_SENSOR as a velocity instead of frequency. (AFSIM-1325)
(2.8.3) Corrected an issue with WSF_GUIDED_MOVER and WSF_UNGUIDED_MOVER where WSF_EXPLICIT_WEAPON caused unexpected headings when a nonzero initial velocity was provided. (AFSIM-1974)
(2.8.2) Fixed crash that would occur with WsfClusterManager when using H_TREE_AVG clustering. (AFSIM-1313)
(2.8.1) Corrected an issue where continuous- and discrete-fire implicit weapons were generating more hits or PK draws than expected during an engagement. (AFSIM-206)
(2.8.1) Corrected an issue with the WSF_PERCEPTION_PROCESSOR providing incorrect number of available systems/resources on an asset platform. (AFSIM-165)
(2.8.1) Corrected the issue of WSF_IMPLICIT_WEAPON ignoring quantity, reloading and firing interval settings. (AFSIM-361)
(2.8.1) Corrected an issue with the WSF_QUANTUM_TASKER_PROCESSOR incorrectly allocating extra tasks when using the allocator_extra_tasks feature. (AFSIM-1059)
(2.8.1) Fixed a crash when the WSF_QUANTUM_TASKER_PROCESSOR purges multiple received tasks. (AFSIM-208)
(2.8.1) WSF_BALLISTIC_MISSILE_LAUNCH_COMPUTER can now compute intercept solutions for platforms using a WSF_TSPI_MOVER. (AFSIM-167)
(2.8.1) Corrected an issue where turning optical sensors off and on that report to a WSF_IMAGE_PROCESSOR with a filter could cause a crash. (AFSIM-838)
(2.8.1) Fixed an issue where the surface_clutter model fails silently with low antenna_height used with a surface platform on rough seas. (AFSIM-170)
(2.8.1) Corrected an issue in which WsfWeapon.TimeToIntercept was returning inaccurate results for weapons using the WSF_SAM_LAUNCH_COMPUTER. (AFSIM-153)
(2.8.1) Corrected an issue with the WSF_TRACK_EFFECT not applying the range_error, azimuth_error elevation_error, or velocity_error. (AFSIM-660)
(2.8.1) Corrected an issue with WsfAssetPerception.RelativeBearingTo so that it correctly returns relative bearing instead of true bearing. (AFSIM-1317)
(2.8.1) Corrected an issue with the WSF_QUANTUM_TASKER_PROCESSOR crashing during the evaluation step when the reallocation_strategy is either static or event and the evaluator is either distance or intercept_time. (AFSIM-1634)
(2.8.1) Corrected an issue where launching a WSF_GUIDED_MOVER or WSF_UNGUIDED_MOVER without a target track could use orientation rather than velocity when separating from the launching vehicle. (AFSIM-1675)
Fixed issue where the mover of a weapon with a deferred launch would be initialized twice, resulting in invalid data. (AFSIM-142)
Corrected an issue where the WSF_SAR_SENSOR was no longer checking the resulting signal-to-noise against the receiver’s detection threshold when determining probability of detection. The change occurred somewhere between v1.10.5 and v2.0.1. As a result, the electronic attack WSF_JAMMER_POWER_EFFECT was having no effect on the outcome of a detection attempt. (AFSIM-324)
Corrected an issue with the WsfEM_Interaction.SignalToNoiseClutterJamming, WsfEM_Interaction.NoiseJammerPower, WsfEM_Interaction.PulseJammerPower, and WsfEM_Interaction.CoherentJammerPower methods returning a value of zero by default. A value of -300 will now be returned for 0 power cases to be consistent with other EM interactions power query methods. (AFSIM-390)
Corrected an issue where using WsfWeaponEngagement.SetPkDegrade was ineffective if called from within the on_weapon_target_engagement script. (AFSIM-895)
Fixed inconsistent definition of success/failure in cyber attack status report. (AFSIM-1626)
(2.8.1) Corrected an issue with the horizontal_map and flight_path_analysis functions in sensor_plot not using the initial_mode of sensor when running with multiple sensors. (AFSIM-161)
Corrected an issue which caused the WSF_BRAWLER_MOVER to ignore script commands at high update rates. (AFSIM-178)
Allow the WSF_BRAWLER_MOVER to be used without a processor. (AFSIM-306)
(2.8.1) Corrected an issue with the sign of delta_altitude generated by the ATG_LAR_AND_LC_GENERATOR. (AFSIM-975)
Made initialization of AIR_TO_AIR_LAUNCH_COMPUTER_GENERATOR fail when deferred launch is active on the launch platform, rather than have an unclear assertion fail. (AFSIM-141)
Corrected an issue where certain weapons caused the ATG_LAR_AND_LC_GENERATOR to generate incorrect LARs. (AFSIM-143)
Enhancements¶
(2.8.3) Set the script type to “WSF_DIS_MOVER” for DIS mover instances. It was previously unset and so mover.Type() returned an empty string. (AFSIM-2117)
(2.8.3) Added the Matrix script class. (AFSIM-1952)
(2.8.1) Added additional functionality to FileIO for users to query mode and path information for opened files. (AFSIM-820)
(2.8.1) Added the option to declare a category as private in dis_interface. (AFSIM-244)
(2.8.1) Added WsfSensor.TrackQuality methods that allow a user to access track_quality inputs per sensor mode. (AFSIM-245)
(2.8.1) Added support for methods WsfZone.Draw and WsfZone.DebugDrawZone to draw all types of polygonal zones as well as absolute ones. (AFSIM-203)
(2.8.1) Added command force_flushing to configure the automatic flushing of console_output. (AFSIM-953)
(2.8.1) Added a version of WsfPlatform.RadarCrossSection that allows a user to query a platform’s bistatic RCS using both receiver and transmitter aspect angles. (AFSIM-952)
(2.8.1) Added new versions of WsfPlatform.SlantRangeTo, WsfTrack.SlantRangeTo, and WsfGeoPoint.SlantRangeTo that perform the slant range calculation with spherical coordinates. (AFSIM-996)
(2.8.1) Added new script method KeySet to access the full set of keys for a Map. (AFSIM-1056)
(2.8.1) Optimized the performance of a graph pathfinding algorithm, resulting in improved runtimes for scenarios utilizing communications. (AFSIM-1117)
(2.8.1) Added methods WsfGeoPoint.ApparentTimeNow and WsfGeoPoint.ApparentTime for querying the mean solar time of a WsfGeoPoint. (AFSIM-1153)
(2.8.1) Added a method WsfPlatform.ApparentTime for querying the mean solar time of a WsfPlatform. (AFSIM-1153)
(2.8.1) Added new script methods WsfTrack.RangeRate and WsfTrack.RangeRateErrorSigma. (AFSIM-1664)
Added new equatorial field_of_view type. (AFSIM-314)
Added new command target_solar_illumination_angle to all passive IR and passive visual sensors, as well as WSF_GEOMETRIC_SENSOR.
Added new observer for the IMAGE_CREATED event.
Added command enable_moon_los_block to sensor to prevent sensor detections due to lunar blocking of a sensor’s line-of-sight.
Added script methods to Moon and Sun to get the The World Coordinate System (WCS) location of those bodies.
Added methods to Earth to convert The Earth Centered Inertial System (ECI) locations to and from The World Coordinate System (WCS), and to get the geostationary orbital radius.
Added script methods WsfPlatform.PrintComponentInfo and WsfPlatform.GetComponentInfo to return and print the names and types of all components attached to a WsfPlatform.
Added WsfArticulatedPart.TimeToCueToLLA, WsfArticulatedPart.TimeToCueToWCS, WsfArticulatedPart.TimeToCueToPoint, WsfArticulatedPart.TimeToCueToTrack, WsfArticulatedPart.TimeToCueToAbsoluteAzEl, and WsfArticulatedPart.TimeToCueToRelativeAzEl. Each of these methods returns the time required for the part to orient to a given location. (AFSIM-108)
Added documentation for command chains to explain how the default command chain is constructed. (AFSIM-124)
Added new script methods Quaternion.Multiply and Quaternion.Slerp to Quaternion. (AFSIM-333)
Improved performance when publishing a lot of event_pipe data. (AFSIM-525)
Added the capability to disable horizon checks while still requiring terrain checks when performing sensor detections. This allows sensors to consider both terrain and bathymetry data for line-of-sight checks. Specific commands and script methods include check_terrain_masking, terrain_masking_mode, WsfEM_XmtrRcvr.MaskingMode, and WsfEM_XmtrRcvr.SetMaskingMode. (AFSIM-530)
event_pipe has been modified to publish entity-state data at up to the mover update rates. New input arguments were added to allow for the tuning of these rates. (AFSIM-526)
Updated the format for the csv_event_output and event_output documentation to be more visually appealing and concise. (AFSIM-576)
Added methods to Earth to provide the sub-solar and sub-lunar points, and the Camera-Target-Earth angle.
Added script method Vec3.AngleWith to obtain the angle between two arbitrary vectors. (AFSIM-647)
Added script method Vec3.Negate to reverse the direction of a vector. (AFSIM-661)
Added new functionality allowing trees within trees, root node types, and descriptions for Advanced Behavior Trees. (AFSIM-666)
Added script method WsfSimulation.SetEndTime to set the scheduled end_time of the simulation. (AFSIM-756)
Added support for loading bathymetry files in ASCII XYZ format to supply water depth and new script methods WsfTerrain.BathymetryElevApprox and WsfTerrain.BathymetryElevInterp. (AFSIM-873)
Added new command line parameters
-log-server-host <host>
and-log-server-port <port>
to support logging simulation output to a log server. (AFSIM-984)Modifications have been made to the simulation initialization routine, such that all communication framework script functionality is now available for usage with on_initialize2 script blocks. (AFSIM-437)
(2.8.3) Added the command, align_heading_with_velocity, that when enabled, sets the WSF_GUIDED_MOVER or the WSF_UNGUIDED_MOVER heading to match owning platform’s velocity vector, rather than orientation. (AFSIM-1974)
Added output of jamming beam number to the JAMMING_ATTEMPT event for event_output and csv_event_output.
(2.8.2) Added variant of WsfSpaceMover.SetOrbit that accepts an initial epoch as a parameter. (AFSIM-1254)
(2.8.1) Added methods to WsfSpaceMover to compute common space mission-relevant geometric quantities (WsfSpaceMover.LookAngleTo, WsfSpaceMover.IncidenceAngle, WsfSpaceMover.TargetElevationAngle, WsfSpaceMover.SquintAngleTo, WsfSpaceMover.DistanceToHorizon, and WsfSpaceMover.LookAngleToHorizon). (AFSIM-1152)
(2.8.1) Added WsfSpaceMover.InitialHeading, which calculates the heading of a satellite from its initial velocity state. (AFSIM-697)
Added versions of WsfSpaceMover.ComputeRendezvous and WsfSpaceMover.ComputeIntercept that calculate a rendezvous and intercept with a given fixed transfer time. (AFSIM-973)
Added RIC and RIC_AtTime functions to WsfSpaceMover. (AFSIM-536)
Added Atmospheric Drag to the WSF_INTEGRATING_SPACE_MOVER, and associated script class WsfAtmosphericDragTerm. (AFSIM-535)
Added the WsfAtmosphere, WsfPiecewiseExponentialAtmosphere, and WsfJacchiaRobertsAtmosphere script classes. (AFSIM-535)
Added options to specify and access offsets for targeting-class maneuvers in the Radial, In-track, Cross-track (RIC) frame (see target and WsfTargetOffsetFrame.RIC). (AFSIM-659)
Added periapsis_radius, periapsis_altitude, apoapsis_radius, apoapsis_altitude as available orbital element commands for space movers. (AFSIM-517)
Added the high_resolution_eclipse option to the WSF_SPACE_OPTICAL_SIGNATURE to perform more accurate computations of the illumination state of the platform. (AFSIM-527)
Added option to specify delta-v for Delta_V orbital maneuvers in the Radial, In-track, Cross-track (RIC) frame. (AFSIM-748)
Added options to specify relative velocity offsets in target input blocks and the WsfTargetPoint class. (AFSIM-749)
Added a Natural Motion Circumnavigation orbital maneuver with corresponding class WsfNaturalMotionCircumnavigation. (AFSIM-749)
Introduced WSF_RIGID_BODY_SIX_DOF_MOVER, which is based on WSF_P6DOF_MOVER, and WSF_POINT_MASS_SIX_DOF_MOVER, which implements a simplified vehicle dynamics model. (AFSIM-630)
Added script methods WsfSimulation.CyberEngagementScanDelayStatus, WsfSimulation.CyberEngagementAttackDelayStatus, WsfSimulation.CyberScanCancel and WsfSimulation.CyberAttackCancel to allow users the ability to query truth based engagement delay status and cancel ongoing cyber engagements with delays. (AFSIM-441)
Development¶
(2.8.3) Added a
WsfObserver::MoverChanged
callback to the baseWsfEventPipeInterface
callbacks. Associated with this are small refactors of the code associated with updating a platform’s mover’sWsfMover.mUpdateInterval
based on the maximum mover update interval associated with the event pipe. (AFSIM-2027)(2.8.3) Fixed issue caused by
WsfApplication
managing the globalUtDictionary
. Also added unit tests forWsfApplication
andUtDictionary
. (AFSIM-1410)(2.8.1) Updated CMake configuration to support building AFSIM as a sub-project for another top-level project. (AFSIM-411)
(2.8.1)
WsfXIO_ScriptListPkt
now correctly reports a platform index of 0 for global scripts. (AFSIM-1053)(2.8.1) Improved the API of
ut::CloneablePtr
to include move semantics and be more consistent with the API of managed pointers in the C++ standard library. (AFSIM-917)(2.8.1) Fixed several potential issues caused by the misuse of the
typeid
operator; addedut::TypeNameOf
as a cross-platform method of accessing type names. (AFSIM-1070)(2.8.1) Added export macros to several classes maintaining type lists, including
WsfTrackReportingStrategyTypes
andWsfVisualPartTypes
, to allow plugin developers to extend them with custom object types. (AFSIM-1260)(2.8.1) Added a new flag to
UtProcess
that allows executing the process in a new console window on Windows systems. (AFSIM-1199)(2.8.1) Removed the redefinition of
isfinite
on Windows systems inDisValidationUtils.hpp
, allowing developers to usestd::isfinite
in translation units that include it. (AFSIM-978)Updated the
wsf::event::Result
constructor to allow the use of a defaultSettings
object and take an optional name argument to support runtime type recognition. (AFSIM-893)Added a new flag to
UtProcess
that allows the console window to be hidden when executing the process on Windows systems. (AFSIM-591)WsfSensor
constructor now takes itsWsfScenario
argument by reference toconst
. (AFSIM-590)Removed
GenI::WaitForever
enumeration, as it was not supported. (AFSIM-125)Added overloads of
GetLocation
,GetVelocity
, andGetAcceleration
in all available Coordinate Systems, returningUtVec3d
, toUtEntity
andUtEntityPart
.GetAcceleration
methods inUtEntity
returning the magnitude of the acceleration vector as adouble
have been renamed to avoid naming conflicts. (AFSIM-243)Added a custom Sphinx role
:issue:
to documentation to link changelog issue references directly to their DI2E issue pages. (AFSIM-442)Removed deprecated overload of method
UtInput::PushInput
which was deprecated in 2.6.Added advanced CMake flag PROMOTE_HARDWARE_EXCEPTIONS.
Added the method
ConvertVelocityWCSToECI
to theUtEntity
class. (AFSIM-551)Fixed an issue with
WsfDateTime::GetCurrentTime
returning inaccurate results in some circumstances. (AFSIM-610)Corrected an issue where subscribers of
WsfObserver::RouteChanged
would not be notified by WsfPlatform.SetRoute for certain movers. (AFSIM-634)Added
WsfSimulation::GetNextEventTime
method to retrieve the simulation time of the next event.Corrected issues with querying unit validity and unit enumerations for compound and multi-dimensional units in
UtUnitTypes
. Also, added some convenience overloads of utility functions, includingIsUnitValid
forstd::string
.Changed the access specifier of
WsfFrameStepSimulation::GetFrameTime
topublic
.Created Sphinx extension afsim-autosectionlabel to allow developers to reference documentation sections without needing to manually create section labels. (AFSIM-779)
Added baseline support for automatic generation of PDF based AFSIM Documentation.
Added support for automatic generation of the AFSIM User Manual as a PDF through the DOCUMENTATION_USER_MANUAL CMake target. (AFSIM-888)
Modified the initialization routine for
WsfSimulation
in regards to initialization ofWsfPlatform
. Previously, platforms would initialize fully on a platform-by-platform basis, such that one platform may be fully instantiated and initialized in the simulation before another platform. This is no longer the case, as all platforms now progress through initialization such that no platform starts a new initialization phase until all platforms have completed the previous phase. (AFSIM-543)Modified
WsfEvent
to provide a priority value, and a boolean indicating event cancellation. The corresponding simulation and event manager usage ofWsfEvent
now allows ordering of events that occur at the same discrete time by priority, and the cancellation of events directly from theWsfEvent
object’s interface. (AFSIM-441)Moved doxygen and documentation targets from CMakeTargets to DocumentationTargets for better organization in IDEs. (AFSIM-1001)
Updated Documentation Guide and created AFSIM Documentation Standard. (AFSIM-706)
ESM_Mode
for theWsfESM_Sensor
is now exported so that extensions can access the class. (AFSIM-204)Corrected an issue where subscribers of
WsfObserver::RouteChanged
would not be notified by GuidedMovers. (AFSIM-634)