New Features in FreeFlyer 7.5
Rewind and Replay Output Windows
•The FreeFlyer navigation bar now includes a replay toolbar that enables you to replay a Mission Plan backwards and forwards, step backwards or forwards frame-by-frame, and control the speed of playback
oThe replay capability is available after a Mission Plan finishes running
oRotating of the camera, changing to a different type of Viewpoint, showing/hiding objects, and more are all supported while replaying a Mission Plan
oDue to the addition of the replay toolbar, the throttle bar has been hidden by default and can be reenabled in User Preferences
•When generating a movie or while using the new replay feature, FreeFlyer will use a new preference for maximum storage per instance
oIf it is found that the beginning of the movie or replay content is being cut off by default settings, the preference can be increased to prevent that from happening
•Terrain data can now be ingested into FreeFlyer by users with a Mission-tier license for use with line of sight calculations for computing visibility between any two objects, whether orbiting in space, moving on the ground, stationary on-planet, or any combination thereof
oBoth instantaneous viewshed analyses and the evolution of viewshed analysis quality over time can be evaluated using this capability
oSingle-observer and multiple-observer viewshed analyses can be modeled with any number and type of observer included (spacecraft, drones, ground vehicles, and ground sites)
oData can be loaded in for coarse global analysis, granular localized analysis of a specific area of interest, or any combination thereof as needed for a particular mission
oThis feature runs locally on your machine and does not require connectivity to any external server for terrain calculations
•Terrain raster file data can be visualized through the Terrain.GetHeight method applied to PointGroup objects or GraphicsOverlay objects of regions of terrain data that can be then used in a ViewWindow
oWhen building visualization elements using terrain data, note that most computers do not have sufficient memory to visualize every single data point in the data files
oIn all cases, you'll want to visualize terrain data in a PointGroup or GraphicsOverlay using a more coarse mesh than at single-pixel resolution for performance
•GroundVehicle objects can now be added to FreeFlyer Mission Plans to represent vehicles that travel along a CelestialObject's surface
oA GroundVehicle can be used to represent any ground-based object, including vans, tanks, and trucks, and 3D models have been included with the object to help visualize this in output
oDrones and other aircraft can be modeled via the GroundVehicle object by setting an appropriate vehicle height above the ground
oGroundVehicle objects can be used as both an observer and target in VisibilitySegment calculations, with or without Terrain
oAdditionally, GroundVehicle supports many other standardized vehicle properties and methods similar to the Spacecraft, such as being able to determine if it is in shadow
•Two different propagators are provided with the GroundVehicle, the ability to follow a set of predefined waypoints and the ability to move at a specific heading and speed
oGroundVehicle objects can follow the surface of the planetary ellipsoid or the surface of Terrain as loaded from file
oThree interpolation methods are provided for interpolating between waypoints, including using a step function or following the Rhumb line or Geodesic path between points
oThree attitude reference frames are available, including the traditional MJ2000 reference frame, a Velocity-Local Tangent reference frame, and a topocentric East-North-Up reference frame
•Sensor objects can be added to a GroundVehicle much like they can be added to Spacecraft objects, enabling coverage and contact analysis
•Diagnostic reporting has been improved by adding a new View Support Information option within the Help menu for use when reporting issues to FreeFlyer Technical Support
•Formation objects and Lists of objects can now be initialized to a given size with square brackets following their definition similar to Array objects
•The runtime API Java interface has been updated with Maven support and the Python interface has been updated with Wheel support
•Improved the accuracy, stability, and convergence behavior of the Step command used with a condition
•Corrected implementations of Latitude- and Longitude-based properties to correctly use the central body's equatorial frame for non-Earth central bodies
•Addressed an issue whereby the Ap value for the F10.7 format in custom drag files was erroneously offset, resulting in modeling errors when propagating with MSIS density models
•Fixed the Spacecraft.SimulateTrackingData() method overload that takes a List of Observation objects to properly account for a Sensor field of view when the object being observed has a Sensor configured
•Improved the drawing behavior of dense PointGroup objects in a 2D map Viewpoint to prevent points from overlapping or aliasing with one another
•GroundStation object obfuscation mask projection height behavior in a ViewWindow has been improved to display with expected shapes and sizes
Migrating to FreeFlyer 7.5
While we always strive to maintain 100% backwards compatibility in our new releases, our efforts to make FreeFlyer more flexible and consistent in FreeFlyer 7.5 and higher have necessitated a few changes which may require user intervention when migrating your existing Mission Plans. These changes are outlined below.
Modeling and Numerics
•User Preferences have been updated to remove redundancy between ViewWindow properties and preferences on the Mission View page. The affected preferences will now sensibly be set from the object that they affect instead of set at the User Preference level and then overridden for the object using them.
•The behavior of plot data labels when you check the Show Data Labels option in the Output Properties tab has been improved. This improvement was done by changing the default choice for this drop-down to "Value" so that the value gets shown by default if you check the Show Data Labels box. The old behavior can be achieved by selecting "Label" for this particular drop-down menu.
Runtime API and Command-Line Usage
•The default for the Timing Precision Mode (-tpm) switch has been changed to nanosecond to match the default timing precision mode when creating a new Mission Plan.
•FF_SolarSystem property values when using the runtime API with scripts instead of Mission Plans have been made consistent with all other methods of running FreeFlyer Mission Plans. This specifically will only change the default values of FF_SolarSystem.ComputePolarMotion, which is now true by default, and FF_SolarSystem.COUpdateInterval, which is now 0 seconds by default.
•The changes to make the Java runtime API Maven-compatible included changing the package name and jar name of the Java runtime API files. This will require that users of the Java runtime API change the import line of their Java code from "import aisolutions.freeflyer.runtimeapi.*" to "import com.ai_solutions.freeflyer.runtimeapi" to correctly acquire the package in their tools.
•Various Objects, Properties, Methods, and Functions have been deprecated
oDeprecated Objects, Properties, Methods, and Functions are elements of FreeFlyer which are no longer recommended for use. The description of each deprecated element indicates the new recommended way to achieve the functionality of that element. The complete list of affected elements is given on the Deprecated Objects, Properties, Methods, and Functions page.