Skip to content

Release 5 to 6 API Changes Overview

All Products

  • Implemented dead reckoning with smoothing in RTD::KinematicVehicle
  • New smColoredConsolePrinter printer listener supports colored console output
  • SmartEnum::fromString() returns false in case of failure
  • Exposed XML processing capability in the API (see XMLUtils.h)
  • ¬†It is possible to define the default values (values that are set after a reset() ) of simulation variables in all XML files. This is done in <VariableDefaults> sections. Example: to make the autopilot on by default one can set the default value of ControlInputs/autoPilotMasterSwitch variable to true.
  • Terrain queries that are used to determine height above terrain for entities had a fixed intersector length (1000m). The length of the intersector is automatically determined depending on altitude now.
  • Terrain queries receive context information (e.g. whether the query is called by a sensor or ground contact). This can be used by developers for optimization purposes.
  • saveState and loadState methods of BotBase and EntityBase classes are modified regarding file name generation. Please see the method documentations.
  • BotBase::saveState and loadState do not load/save controlled vehicle’s states anymore. Instead, if a vehicle is a CGF vehicle (derived from CGFVehicleBase) it loads/saves its bot.
  • ConstantRPMEngine’s m_targetRPM parameter is read once during configuration phase and it does not affect the engine during runtime anymore. A new state varible, s_targetRPM, is introduced. This lets users control the desired RPM within a configuration XML as part of the control system. Note: setTargetRPM() method works as usual.
  • Signature of VehicleBase::TrimCallback::update() has changed. Please see the reference guide if reimplemented this method.

RotorLib FDM

  • New GenHeli700 class is introduced. Support for GenHeli600 continues.
    • Rotor naming scheme changed. MainRotor and TailRotor is not used anymore. Instead rotors are enumerated as Rotor_0, Rotor_1 and so on. Previous naming scheme made sense for conventional helicopters only. It was confusing for tandem, coaxial etc. This name change must be taken into account when porting a GenHeli600 XML to GenHeli700.
    • Format for rotor wash definitions changed for rotors, fuselage and stabilizers. Previously three curves for various a1 values was used. GenHeli700 uses a 2d table and also allows for defining multiple rotors as downwash generators for each component (e.g. both rotors of a tandem helicopter can generate downwash on the fuselage now)
  • Pitch, roll and yaw hold SAS modes did not work correctly during trim. Autopilot was bringing the helicopter to level attitude after trim instead of locking it to the trim attitude. This issue is fixed with the current version.
  • FCSHelicopterAutoTrim100 is enabled/disabled with m_autoPilotMasterSwitch pilot input. Its functionalities can be activated separately. Angular rate control is activated with m_sasAngularRateControl and coordunated turn support is activated with m_sasCoordinatedTurn. To obtain the previous behavor all three inputs must be set to true. To enable these features by default, XML files must be extended with a <VariableDefaults> section (see example helicopter as example)
  • Improved auto pilot model to perform the take off maneuvers without drifting.

RotorLib CGF

  • CGF helicopter entities can now automatically create their virtual pilots (a.k.a. bots). This behavior can be modified with the newly added “autoCreateVirtualPilot” constructor parameter; setting this parameter to false will give the previous behavior.
    When automatic creation is enabled, the confguration file that will be used to create the virtual pilot is taken from the helicopter’s configuration XML (ControlSystem/configFileName parameter).

EWAWS

  • WeaponDynamics entities can now automatically create their control systems (a.k.a. bots). This behavior can be modified with the newly added “autoCreateControlSystem” constructor parameter; setting this parameter to false will give the previous behavior.
    When automatic creation is enabled, the confguration file that will be used to create the control system is taken from the weapon’s configuration XML (ControlSystem/configFileName parameter).
  • TraitElectronicWarfare destructor deletes weapons that are created by it and are not launched yet.
  • TraitElectronicWarfare::WeaponConfigInf::m_weaponControlSystemConfig member variable removed. Weapon configuration system config files are defined in weapon configuration xml’s and are loaded automatically.
  • Enlarged vertical field of regard of SAM example (SAM.xml)
  • Added MissileApproachWarningSensor::getCurrentWarnings() which can be used to query actual threat warnings. This can be used instead of the callback method.
  • Added a new data channel to GuidanceController: “Seeker Angular Distance to Target”

FixedWingLib CGF

  • CGF aircraft entities can now automatically create their virtual pilots (a.k.a. bots). This behavior can be modified with the newly added “autoCreateVirtualPilot” constructor parameter; setting this parameter to false will give the previous behavior.
    When automatic creation is enabled, the confguration file that will be used to create the virtual pilot is taken from the aircraft’s configuration XML (ControlSystem/configFileName parameter).
  • Removed m_avoidInvertedFlight parameter from all controllers. This parameter is replaced by m_preferredRollAngle parameter which provides more control about the roll behavior.
  • avoidInvertedFlight removed from the configuration file format of the FollowRouteController. Instead the dafault value of¬†preferredRollAngle parameter is read.