WSF Core 2.7 - 30 Oct 2020¶
Visit the AFSIM 2.7 Release Page on DI2E (Access Controlled) for more information and resources related to this release.
Release Dates¶
WSF Core 2.7.3 - 24 Sep 2021
WSF Core 2.7.2 - 12 Mar 2021
WSF Core 2.7.1 - 19 Nov 2020
WSF Core 2.7.0 - 30 Oct 2020
General¶
All color inputs have been standardized across the framework to accept floating point [0, 1], unsigned integral [0, 255], or hexadecimal [00, FF] values for the red, green, blue and alpha (optional) components, as well as enumerated values. Notably, the
float
keyword is now required to indicate the RGBA values are floating point, which may affect any usages of color commands previously accepting only floating point values, such as classification_levels. See Argument Types for more information. (Issue #1933)
Removed the previously deprecated WsfSpaceMover.Boost and WsfSpaceMover.AddDeltaV methods. (Issue #1722)
Defaults for P6DOF aero_data legacy flags have changed; use_reduced_frequency now defaults to
true
, and use_legacy_derivatives now defaults tofalse
. (Issue #2125)P6DOF aero_mode blocks will inherit the legacy flag settings of their parent aero_data block where not explicitly set. (Issue #2472)
Corrections¶
(2.7.4) 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.7.4) WSF_KINEMATIC_MOVER now correctly reports acceleration. (AFSIM-1730)
(2.7.4) WSF_KINEMATIC_MOVER now correctly reports velocity vector. (AFSIM-1729)
(2.7.3) 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.7.3) Corrected the application of range_error_sigma value to the track measurement when percent_of_true_range is specified. (AFSIM-1151)
(2.7.3) 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.7.3) Corrected an issue in the line_of_sight_manager that could cause multi-threaded simulations to hang or crash. (AFSIM-1244)
(2.7.3) 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.7.3) 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.7.3) 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.7.3) Corrected an issue where WSF_TABULAR_ATTENUATION was limiting attenuation values to the range [0, 1] absolute. (AFSIM-172)
(2.7.3) 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.7.3) 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.7.3) 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.7.3) 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.7.3) Corrected an issue where converting MGRS coordinates to Latitude/Longitude would fail in certain cases. (AFSIM-1039)
(2.7.3) 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.7.3) 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.7.3) Fixed crash that could occur when sending a WsfDraw command over XIO. (AFSIM-1097)
(2.7.3) Corrected observer documentation to include missing events, remove events no longer available, and accurately reflect event signatures. (AFSIM-1099)
(2.7.3) Fixed crash that could occur when osm_traffic vehicles are changing lanes to an unoccupied neighboring lane. (AFSIM-1132)
(2.7.3) 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.7.2) 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)
(2.7.2) 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)
(2.7.2) 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)
(2.7.2) Corrected an issue where the script method WsfZoneRouteFinder.AvoidZone would not add the specified zone to the list of avoidance zones. (AFSIM-163)
(2.7.2) road_traffic is now generated on Monte Carlo iterations of a simulation. (AFSIM-168)
(2.7.2) Corrected an issue where comm messages between simulations were unreliable when more than two simulations were connected over DIS. (AFSIM-322) (AFSIM-323)
(2.7.2) 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)
(2.7.2) Correct an issue with the Lambert orbital targeting solver that would lead to incorrect solutions for some hyperbolic transfers. (AFSIM-908)
(2.7.2) Changed the time used in the lunar model from UT1 to TT. (AFSIM-886)
(2.7.2) Corrected a crash when calling WsfXIO.Subscribe, WsfXIO_PublishKey.Field, or WsfXIO_PublishKey.ToString from script. (AFSIM-951)
(2.7.1) 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)
(2.7.1) 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.(2.7.1) 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 an issue where WsfPlatform.AccelerationNED would sometimes yield incorrect results, depending on what other queries have been previously executed on the same platform. (AFSIM-512)
Corrected the position of waypoints within a route when both the offset and transform_route commands were used. (AFSIM-169)
Added an error message on execution of a callback defined at the global scope, if the callback script cannot be executed. (AFSIM-191)
Added an error message on initialization of a callback defined at the platform scope. If the callback processor or script cannot be found, the simulation will fail to initialize. (AFSIM-192) (AFSIM-193)
Corrected a bug that resulted in an input error when attempting to reference a user-defined error_model inside a sensor. (AFSIM-194)
Corrected Math.AngleIsBetween to return true if the limits represent a full circle. (AFSIM-221)
Corrected a bug where sending a message between the same WSF_SCRIPT_PROCESSOR multiple times at the same simulation time could cause an invalid MESSAGE variable. (AFSIM-257)
Corrected a bug which prevented WsfArticulatedPart.SetXYZ from affecting a part’s location. (AFSIM-293)
Corrected a crash on application exit that resulted in some cases when using a script_struct that contains an instance of another script_struct. (Issue #1730)
Corrected an issue where runtime comm deletion did not trigger the correct observer. (Issue #2247)
Corrected an issue in which a platform referencing an undefined signature did not result in an initialization error. (Issue #2265)
Corrected an issue with WsfPlatform.GroundRangeTo producing different results for zero and non-zero altitudes. (Issue #2307)
Corrected a bug where WsfZone.Reference was not returning correct values for zones that reference a platform or position. (AFSIM-135)
Corrected an issue where defining a struct in an aux_data block erases previously defined values. (Issue #2363)
Corrected an issue which caused shapefiles to load very slowly. (Issue #2404)
Corrected an issue with csv_event_output involving inconsistencies between the header and data being output in regard to SENSOR_TRACK_DROPPED and LOCAL_TRACK_DROPPED. (AFSIM-148)
Added missing grammar for loiter_route command for air_traffic. (AFSIM-176)
Corrected an issue where acceleration conversions to and from ECI (inertial) and WCS were not being performed. This bug could sometimes produce incorrect acceleration values being reported in event_output and csv_event_output. (Issue #2454)
Corrected an issue with incorrect functionality and instability regarding the observer usage of LINK_ENABLED_ON_LOCAL, LINK_DISABLED_ON_LOCAL, LINK_ENABLED_ON_MANAGER, and LINK_DISABLED_ON_MANAGER. (Issue #2507)
(2.7.3) Corrected an issue with the sign of delta_altitude generated by the ATG_LAR_AND_LC_GENERATOR. (AFSIM-975)
(2.7.2) 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)
(2.7.2) Corrected an issue where certain weapons caused the ATG_LAR_AND_LC_GENERATOR to generate incorrect LARs. (AFSIM-143)
(2.7.4) Corrected an issue with fuse_function_range to allow weapons to detonate at the appropriate distance specified. (AFSIM-1537)
(2.7.4) Fixed crash that would occur with WsfClusterManager when using H_TREE_AVG clustering. (AFSIM-1313)
(2.7.3) Corrected an issue in which WsfWeapon.TimeToIntercept was returning inaccurate results for weapons using the WSF_SAM_LAUNCH_COMPUTER. (AFSIM-153)
(2.7.3) 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.7.3) Corrected an issue with the WSF_PERCEPTION_PROCESSOR providing incorrect number of available systems/resources on an asset platform. (AFSIM-165)
(2.7.3) Corrected the issue of WSF_IMPLICIT_WEAPON ignoring quantity, reloading and firing interval settings. (AFSIM-361)
(2.7.3) Corrected an issue with the WSF_QUANTUM_TASKER_PROCESSOR incorrectly allocating extra tasks when using the allocator_extra_tasks feature. (AFSIM-1059)
(2.7.3) Fixed a crash when the WSF_QUANTUM_TASKER_PROCESSOR purges multiple received tasks. (AFSIM-208)
(2.7.3) WSF_BALLISTIC_MISSILE_LAUNCH_COMPUTER can now compute intercept solutions for platforms using a WSF_TSPI_MOVER. (AFSIM-167)
(2.7.3) 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.7.3) 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.7.3) Corrected an issue with the WSF_TRACK_EFFECT not applying the range_error, azimuth_error elevation_error, or velocity_error. (AFSIM-660)
(2.7.3) Corrected an issue with WsfAssetPerception.RelativeBearingTo so that it correctly returns relative bearing instead of true bearing. (AFSIM-1317)
(2.7.3) 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.7.2) Corrected an issue where using WsfWeaponEngagement.SetPkDegrade was ineffective if called from within the on_weapon_target_engagement script. (AFSIM-895)
(2.7.2) Fixed issue where the mover of a weapon with a deferred launch would be initialized twice, resulting in invalid data. (AFSIM-142)
(2.7.1) 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)
(2.7.1) 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 a bug where values returned from WsfClusterManager.ConvexHull could become invalid outside the calling script context. (AFSIM-106)
Corrected an issue with WSF_WEAPON_FUSE in which proximity checks for detonation would not occur against the first platform defined in the scenario when do_not_use_current_target was enabled. (Issue #2251)
Corrected an issue in which a WEAPON_MISSED event (see observer, event_output, csv_event_output) was not generated when the intended target was invulnerable to the weapon_effects, for example, when outside the maximum lethal radius. (Issue #1453)
Corrected an issue where values returned from WsfPerceptionProcessor.PerceivedAssets and values passed into a custom generator would become invalid outside the scope of the calling script. (AFSIM-212)
Corrected an issue with WsfTaskManager weapon task methods TimeSinceWeaponLastFiredFor, TimeSinceWeaponLastTerminatedFor, WeaponsActiveFor, SalvosFiredAt, RoundsFiredAt, and AbortFiringAt producing erroneous results. (Issue #2287)
Corrected an issue with weapon uplinks not occurring at the interval specified by the uplink_send_interval on a WSF_TASK_PROCESSOR. (AFSIM-136)
Corrected issues with documentation for WSF_CARLTON_LETHALITY by fixing the Carlton Lethality Equation, improving the overview section, and expanding command descriptions. (AFSIM-140)
Fixed a crash that sometimes occurred when a multi-beam WSF_ESM_SENSOR linked to a WSF_RF_JAMMER with a repeater. (AFSIM-154)
Corrected an issue with csv_event_output involving inconsistencies between the header and data being output in regard to WEAPON_HIT, WEAPON_MISSED, WEAPON_KILLED, and WEAPON_TERMINATED. (AFSIM-148)
Added missing grammar for the fuse_function_range command in the WSF_WEAPON_FUSE. (AFSIM-158)
Added missing grammar for the ignore_without_location and ignore_without_velocity commands in the WSF_THREAT_PROCESSOR. (AFSIM-200)
Added a detailed description for the velocity_pursuit_gain command in the WSF_FORMATION_FLYER. (AFSIM-231)
Corrected an issue where a jammer could cause a crash when publishing to the event-pipe. (Issue #2471)
Replaced and updated broken images in RIPR Resource Allocator and RIPR Scenarios. (Issue #2293)
(2.7.4) Fixed a crash due to platform deletion when WSF_ENGAGE_LAUNCH_PK_TABLE_LETHALITY is used with WSF_IMPLICIT_WEAPON. (AFSIM-1507)
(2.7.4) Fixed an issue where sensor tracks were not being suppressed from subordinate sensors that are attached to a WSF_TRIMSIM_PROCESSOR. (AFSIM-1641)
(2.7.3) 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.7.3) Fixed a crash in the WSF_TRIMSIM_PROCESSOR when error covariance data is being updated on the sensor track. (AFSIM-1647)
(2.7.3) 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)
(2.7.2) 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.7.3) 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)
Fixed an issue where propulsion produced from P6DOF subobjects resulted in incorrect induced moments on the parent vehicle. (Issue #2187)
Fixed inconsistent definition of success/failure in cyber attack status report. (AFSIM-1626)
(2.7.3) 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.7.3) Corrected an issue with WsfSolarTerminator.PlatformSolarIllumination for platforms on the surface of the Earth, or which had no mover. (AFSIM-1111)
(2.7.3) 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.7.3) Corrected an issue where WsfSpaceMover.RIC_AtTime would report incorrect results for platforms with no mover. (AFSIM-1360)
(2.7.2) Corrected an issue with change_raan and change_raan_inclination attempting to execute for equatorial orbits, resulting in an infinite loop. (AFSIM-861)
(2.7.2) Corrected a problem with the documented description of the rotating frame used by the WsfLibrationPoint script class. (AFSIM-854)
(2.7.2) Corrected a problem with the relative_time orbital event constraint failing for unbounded orbits. (AFSIM-557)
(2.7.2) 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.7.1) WsfPlatform.FutureLocation is now valid for platforms with a WSF_INTEGRATING_SPACE_MOVER. (AFSIM-640)
(2.7.1) Corrected a problem where the WSF_ORBIT_DETERMINATION_FILTER was not working properly due to incorrect initialization.
(2.7.1) Corrected a problem where an inherent_contrast warning would be displayed on WSF_SPACE_OPTICAL_SIGNATURE, which does not require it.
Corrected an issue where the WSF_SPACE_OPTICAL_SIGNATURE was providing incorrect values in the special case where the target platform has no mover, due to eclipsing.
Corrected an issue where the EclipseExit script method was being called on the ECLIPSE_ENTRY observer callback.
Fixed an issue where WsfSpaceMover.EclipsedState would never return the penumbral state. (Issue #2530)
Corrected a problem where WsfSpaceMover.SetOrbit could fail on a platform with an insufficiently defined space mover.
(2.7.3) Corrected the documented set of events which trigger the Engagement Report for the post_processor. (AFSIM-227)
Enhancements¶
(2.7.3) Optimized the performance of a graph pathfinding algorithm, resulting in improved runtimes for scenarios utilizing communications. (AFSIM-1117)
(2.7.2) 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)
(2.7.2) Added new equatorial field_of_view type. (AFSIM-314)
(2.7.2) Added script method Vec3.AngleWith to obtain the angle between two arbitrary vectors. (AFSIM-647)
(2.7.2) Added script method Vec3.Negate to reverse the direction of a vector. (AFSIM-661)
(2.7.1) Added new observer for the IMAGE_CREATED event.
(2.7.1) Added new script methods Quaternion.Multiply and Quaternion.Slerp to Quaternion. (AFSIM-333)
(2.7.1) Added script methods to Moon and Sun to get the The World Coordinate System (WCS) location of those bodies.
(2.7.1) 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.
(2.7.1) Added methods to Earth to provide the sub-solar and sub-lunar points, and the Camera-Target-Earth angle.
Added new script method Array<T>.Insert, which can be used to insert one or more new elements into a script Array at a specified position. This method has replaced the undocumented method
__Insert
. (AFSIM-103)Changed return type of WsfArticulatedPart cueing methods from
void
tobool
, to indicate whether the requested cue is within slew limits. (AFSIM-107)Added commands to set the fill_color and line_color of a zone or zone_set, as well as methods on WsfZone to access and modify the colors via script. (Issue #1480)
Added solar_exclusion_angle and lunar_exclusion_angle commands to sensor to consider line-of-sight to the sun or moon in detection attempts. (Issue #1818) (Issue #2194)
Added platform aux_data values to the event_pipe. (Issue #1856)
Added the static method WsfRoute.GlobalRoutes to provide a list of all global routes. (Issue #1880)
Added support for loading geotiff files to supply terrain elevation. (Issue #2080)
Added the ability to name composite nodes in Advanced Behavior Trees. (Issue #2291)
Added script methods for Earth, Moon, and Sun to check if line of sight between two locations is blocked by them. (Issue #2367)
Added script method WsfGeoPoint.LocationECI. (Issue #2425)
Expanded and documented use of user-defined atmosphere_table data by enabling speed-of-sound inputs and allowing for larger input sets. (Issue #2413)
Added ability to define a contrailing band in input via contrailing_altitude_floor and contrailing_altitude_ceiling. (Issue #2413)
Added new command visual_elements to define visual annotations in the scenario. (Issue #1810)
Added the air combat wsf_plugin. This introduces the SA (Situation Awareness) Processor (WSF_SA_PROCESSOR), the core component of a new pilot cognitive model, providing support for perception, assessment, and prediction and providing lists of assets (friendlies), bogies (unknowns), bandits (enemy), and groups. (Issue #1823)
Added new class WsfSAR_Sensor to expose the WSF_SAR_SENSOR to the scripting language. (AFSIM-109)
Added new script methods for WsfWeaponFuse script class. (Issue #1407)
Added new script methods for WsfGuidedMover and WsfGuidanceComputer script classes. (Issue #2281)
Added script methods EmptyWeight and FuelWeight to WsfBrawlerProcessor. (Issue #2280)
A WsfBrawlerMover’s internal fuel mass calculation now updates the WsfPlatform’s fuel mass value, so WsfPlatform.FuelMass returns the correct result. (Issue #2280)
(2.7.2) Added versions of WsfSpaceMover.ComputeRendezvous and WsfSpaceMover.ComputeIntercept that calculate a rendezvous and intercept with a given fixed transfer time. (AFSIM-973)
(2.7.1) Added RIC and RIC_AtTime functions to WsfSpaceMover. (AFSIM-536)
Added a Jupiter Monopole orbital dynamics term, and the associated script class, WsfJupiterMonopoleTerm. (Issue #2109)
Added WsfLibrationPoint for querying the kinematics of libration points. (Issue #2159)
Added a target input block and an associated script class WsfTargetPoint for specifying the target and offsets of some orbital maneuvers (the previous platform and offset commands are now deprecated). (Issue #2159)
Added the feature to select the same orbital propagator for tracking with orbit determination fusion or the WSF_ORBIT_DETERMINATION_FILTER as the tracked target (by default); or one can configure a custom propagator. These options provide for more accurate tracking over long periods of time. (Issue #2200)
Added a coverage capability. For details see Coverage Overview. (Issue #1748)
Added the script classes WsfCyberTrigger, WsfCyberTriggerComposite, and WsfCyberTriggerInterval. Added the observer events CYBER_TRIGGER_EVALUATION and CYBER_TRIGGER_EXECUTION, which are also available for event_output and csv_event_output. (Issue #2077)
P6DOF: Added support for WSF_P6DOF_EXPLICIT_WEAPON to allow the use of P6DOF subobjects as explicit weapons. (Issue #2191)
A WsfP6DOF_Mover’s internal fuel mass calculation now updates the WsfPlatform’s fuel mass value, so WsfPlatform.FuelMass returns the correct result. (Issue #2280)
Added the alternate_locations command block to allow a platform to select a starting position from a set of pre-determined locations. (AFSIM-112)
Development¶
(2.7.3) Updated CMake configuration to support building AFSIM as a sub-project for another top-level project. (AFSIM-411)
(2.7.3)
WsfXIO_ScriptListPkt
now correctly reports a platform index of 0 for global scripts. (AFSIM-1053)(2.7.3) Removed the redefinition of
isfinite
on Windows systems inDisValidationUtils.hpp
, allowing developers to usestd::isfinite
in translation units that include it. (AFSIM-978)(2.7.2) 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)(2.7.2) Added a new flag to
UtProcess
that allows the console window to be hidden when executing the process on Windows systems. (AFSIM-591)(2.7.2)
WsfSensor
constructor now takes itsWsfScenario
argument by reference toconst
. (AFSIM-590)(2.7.1) Fixed an issue with
WsfDateTime::GetCurrentTime
returning inaccurate results in some circumstances. (AFSIM-610)(2.7.1) Added the method
ConvertVelocityWCSToECI
to theUtEntity
class. (AFSIM-551)(2.7.1) Corrected an issue where subscribers of
WsfObserver::RouteChanged
would not be notified by WsfPlatform.SetRoute for certain movers. (AFSIM-634)Provided a public accessor
GetMaximumRange()
to return the maximum range of aWsfSensorMode
. (AFSIM-302)UtInputPreprocessor
now stores default values for all usages of preprocessor variables. (AFSIM-303)Modified
UtCalendar::SetCurrentDateAndTime
so that seconds are provided to nanosecond precision (previously only integral seconds were provided). (Issue #2156)Removed the deprecated overloads of
AddEvent
andAddWallEvent
inWsfSimulation
which took raw pointers. (Issue #1446)Added more interface methods for comm protocol stack manipulation to clear, insert, and remove layers. (Issue #2149)(Issue #2266)
Deprecated the specification of memory management in
ut::script::Data
. The management of memory is implied by the type that is stored.Event-pipe message id conflicts will now result in a fatal error. (Issue #2213)
Corrected an issue where retaining the application object while creating more than one scenario object could cause a segmentation fault due to missing medium component factories. (Issue #2226)
Namespace
WsfMeasurementUtil
has been deprecated and is now an alias forUtMeasurementUtil
.Created a unit test for geodata’s
DtedTile
. (Issue #2271)Fixed an issue in
WsfDisData
where the constructor would incorrectly override request ID values from externally receivedDisData
PDUs. (AFSIM-216)Deprecated
UtScriptClass
methodsGetClassNameId
,GetName
, andGetTypeId
, which have the same implementation asGetClassName
.UtAttributeBase
and its child classes have been updated to use smart pointers instead of raw pointers. Some methods in the old interface have been deprecated.WsfAttribute
template class and its aliases have been deprecated.Corrected an issue where the internal linkage class variable was referred to as external linkage and vice versa in
WsfMessageProcessor
. (AFSIM-285)Modified
wsf::comm::Comm::SendMessage()
to remove the parameterwsf::comm::SendOptions
.wsf::comm::SendOptions
has been removed as support for legacy comm functionality that does not use addressing. Legacy communications group specification is now placed onWsfMessage
directly until core functionality is fully compliant with updates to communications. (Issue #2266)WsfAuxDataEnabled::GetAuxData()
now has const and non-const versions. An additional method namedGetAuxDataConst()
allows the const version to be called explicitly. Calling the non-const version will queue aMsgAuxData
in the event pipe, if enabled.
Modified WSF_CYBER_MAN_IN_THE_MIDDLE_EFFECT to use comm layer mechanics instead of wrapping a comm object. (Issue #2076)
(2.7.1)
ESM_Mode
for theWsfESM_Sensor
is now exported so that extensions can access the class. (AFSIM-204)(2.7.1) Corrected an issue where subscribers of
WsfObserver::RouteChanged
would not be notified by GuidedMovers. (AFSIM-634)Registered a component role
cWSF_COMPONENT_RF_JAMMER
forWsfRF_Jammer
. (AFSIM-242)
WsfRateLimitedAttitudeController
is now exported so that extensions can access the class. (AFSIM-173)Corrected an error in the matrix multiplication order in
UtECI_Conversion
for the True-of-Date (TOD) to WCS conversion when using polar angle offsets. (AFSIM-297)Corrected the issue of handling time-reversed updates in
ut::OrbitalState
. Prior to this change, the ECI conversion would be updated only if the new time came after the old time, but some script methods update bidirectionally in time. (AFSIM-298)