Skip to content

v4.0 to v4.1 API Changes Overview

All Products

  • Military maneuvers and products are now moved to new namespaces.
    • Namespace FixedWingLibCGFMil, include path: Include/FixedWingLibCGFMil
    • Namespace RotorLibCGFMil, include path: Include/RotorLibCGFMil
    • Namespace RotorLibFDMMil, include path: Include/RotorLibFDMMil
    • Namespace WeaponLib, include path: Include/WeaponLib
  • All floating point values are double precision now.
    • smReal, smVec2r, smVec3r and smVec4r use double precision. smDouble, smVc2d etc. are not changed.
    • If you reimplemented BotController::update()  make sure that it is overriden as BotController::update( smReal ). Overriding as BotController::update( float ) used to work when smReal was single precision but this code will break with the new version.
  • Load factor of a vehicle must be obtained using VehicleBase::getLoadFactor(). The previous method, myVehicle.getState().getLoadFactor() , is not supported anymore.
  • isVehicleCorrectlyConfigured() method renamed as isCorrectlyConfigured()
  • VehicleBase is derived from EntityBase now. This class contains most of the functionality of the VehicleBase.
  • EntityBase::reset() (which was previously VehicleBase::reset() ) detaches all attached objects, performs reset on itself, resets all attached objects and reattaches all objects now.
  • Added methods for loading and saving states from/to files: BotBase::loadState(), BotBase::saveState(), EntityBase::loadState() and EntityBase::saveState().
  • takeOffPower, emergencyPower, maximumContinuousPower parameters of GenericTurbineEngine and ConstantRPMEngine are renamed as takeOffPowerHP, emergencyPowerHP, maximumContinuousPowerHP

RotorLib FDM

  • Removed updateSubstepCount and introduced maxIntegrationStepSizeDeg parameter.
  • Signatures of GenHeli600::findMaxClimbRateFtMin(), GenHeli600::findMaxSpeedKts and GenHeli600::trim() methods changed. They have a new argument, timeStepSize, now.

RotorLib FDM for Matlab

  • RotorLib FDM for Matlab is extended with the ability to add slung and fixed loads to the helicopter. As a consequence, following has changed in the interface
    • Added rlAttachFixedLoad and rlAttachSlungLoad functions.
    • The flight dynamics model simulation variables are acessed with a new prefix, FDM, now. E.g. previously the position of a helicopter was queried with rlGetSimVar( heliId, ‘position’). Now rlGetSimVar( heliId, ‘FDM/position’) must be used.
    • The state and output structs (as obtained with rlGetHeliBasicState() ) have a new sub-struct called FDM now. This substruct contains the fields that were contained by the state and output structs previously. E.g. previously x.position was used to store position. Now this is be done with x.FDM.position.

v4.1.Beta1 to v4.1.Beta2 Changes

FixedWingLib CGF

  • Renamed Limits section as StabilityAugmentation, AoA as AoALimiter, Load as LoadLimiter and added following new parameters to aoa and sideslip limiters: loadLimiterActivationSpeedLowKIAS, loadLimiterActivationSpeedHighKIAS, AoALimiterActivationSpeedLowKIAS, AoALimiterActivationSpeedHighKIAS
  • Added MaxPitchAcceleration curve which can be used to limit pitch acceleration depending on speed
  • It is not allowed to set a rate limit for rudder anymore because it is observed that low rate limits could lead hard-to-debug problems.
  • YawJet section renamed as ActiveControl. Added parameters for pitch and roll active control.
  • Pitch and yaw moment models are updated. It might be necessary to update XML models.
  • Dropped backward compatibility: Removed extendedFlightModel flag. dragCoeff and maxEngineThrust parameters are not supported in XML anymore.
  • gearDragCoefficient and gearReferenceArea parameters are not supported anymore. Instead equivalentFlatPlateArea parameters in ground contact descriptions must be used.
  • New configuration format for LandingController (see the Programmer’s Guide for details)
  • New configuration format for Lift and Drag (see the Programmer’s Guide for details)

v4.1.Beta2 to v4.1.Beta3 Changes

All Products

  • Removed World::setGravity(). Added World::setGravityScale()
  • World::getGravity() has a position argument now. Gravity vector is a function of position.
  • EntityBase::getGravity() returns the gravity vector at the location of an entity.
  • EntityBase::getGravity() returns the gravity vector at the location of an entity.

FixedWingLib CGF

  • LandingController dynamic parameters changed
    • m_runwayStart parameter removed.
    • m_touchdownPoint parameter added. This is a 2D vector which is a position in nautical miles    in flat earth mode and a position in latitude, longitude (degrees) form in round earth mode.
    • Added m_touchdownAltitudeFeet parameter
    • m_runwayEnd changed to be a 2D vector which is a position in nautical miles in flat earth mode and a position in latitude, longitude (degrees) form in round earth mode.
  • PositionController dynamic parameters changed
    • m_desiredPosition is a position in nautical miles in flat earth mode and a position in latitude,longitude (degrees) form in round earth mode.
  • LoiterController dynamic parameters changed
    • m_centerPoint is a position in nautical miles in flat earth mode and a position in latitude,longitude (degrees) form in round earth mode.
  • FollowRouteController dynamic parameters changed
    • WaypointInfo::positionNM is renamed as position and it is a position in nautical miles in flat earth mode and a position in latitude, longitude (degrees) form in round earth mode.
  • FixedWingLib CGF VelocityController’s m_desiredVelocity parameter is a vector in East-North-Up  coordinates now.
  • VelocityController’s m_desiredVelocity parameter is a vector in East-North-Up coordinates now.
  • Military Features of FixedWingLib CGF (e.g. VTOL, terrain following flight) are moved to new classes. MilitaryAirplaneDynamics and MilitaryAirplaneBot can be used to access these features now.

RotorLib CGF

  • Military Features of RotorLib CGF (e.g. ship deck landing) are moved to new classes. MilitaryHelicopterDynamics and MilitaryHelicopterBot can be used to access these features now.

RotorLib FDM

  • Military Features of RotorLib FDM (e.g. ship deck landing) are moved to new classes. MilitaryGenHeli600 and MilitaryGenHeli500 can be used to access these features now.

v4.1.Beta3 to v4.1.Beta4 Changes

No API changes occured.

v4.1.Beta4 to v4.1.Beta5 Changes

FixedWingLib CGF

  • Some controller parameters related to positions are renamed and their definition is changed. Following parameters are in nautical miles and WCS in flat earth mode and contains latitude and longitude in WGS84 ECEF mode.
    • TakeoffController, m_runwayEnd. This parameter was an smVec3r previously.
    • TaxiPositionController, m_desiredPositionNM. Renamed as m_desiredPosition
    • TaxiRouteController, WaypointInfo::positionNM. Renamed as position.
    • RaceTrackController, m_startPointNM. Renamed as m_startPoint.
    • DiveBombingController, m_targetPosNM. Renamed as m_targetPos.
    • VTOLLandingController, m_landingLocationPosNM. Renamed as m_landingLocationPos.
    • VTOLPositionController, m_desiredPositionNM. Renamed as m_desiredPosition.
  • m_desiredVelocity parameter of the VTOLVelocityController is in ENU now.
  • m_desiredDirection parameter of BasicTaxiController describes a heading in ENU now.

RotorLib CGF

  • m_desiredAttitude parameter of the AttitudeController is in ENU now. As a result hpr argument of attitudeHold method is also in ENU.
  • m_forceToApply parameter of the ForceController is in ENU now.
  • m_desiredVelocity of the VelocityController is in ENU now. Also, “velocity” arguments of velocityHoldCT and velocityHoldCH are changed the same way.
  • position parameter of the FollowRouteController and m_desiredPosition parameter of PositionController have a dual definition now. These are in nautical miles and WCS in flat earth mode and contains latitude and longitude in WGS84 ECEF mode. “position” arguments of moveToCT, moveThroughCT , moveToCH methods are similarly changed.

RotorLibFDM

  • GenHeli600 does not pass rotor brake pilot input to rotors automatically anymore. Rotor brake control must be explicitely modelled in the control system (XML configuration).

v4.1.Beta5 to v4.1.Beta6 Changes

FixedWingLib CGF

  • m_runwayEnd parameter of the TakeOff Controller is in nautical miles in FLAT_EARTH mode now. The parameter was documented this way but it was in meters due to a bug.

RotorLibFDM

GenericTurbineEngine is improved to provide more realistic sppol-up times during start-up. This may result in changed behavior in existing applications that use this engine model.

v4.1.Beta6 to v4.1.Beta7 Changes

Common

  • Changes in EntityBase::saveState(), EntityBase::loadState() , BotBase::loadState() , BotBase::saveState() so that users have more control on saved file naming.

FixedWingLib CGF

  • Changes in the parameter names in the controllers that are listed below. Please refer to the documentation or the headers files:
    • BankLeftRightController
    • BasicFlightController
    • BasicLowLevelController
    • FollowRouteController
    • LandingController
    • LoiterController
    • PositionController
    • TakeoffController
    • RaceTrackController
    • VelocityController
  • Removed Weave maneuver
  • Change in XML configuration format of the LandingController: maxRollRate renamed as desiredRollRate

RotorLibCGF

  • Some controller parameters related to positions are renamed and their definition is changed. Following parameters are in nautical miles and WCS in flat earth mode and contains latitude and longitude in WGS84 ECEF mode.
    • LandingController, m_landingLocation (lat, lon, alt in WGS84_ECEF mode)
  • Removed Weave maneuver

v4.1.Beta7 to v4.1.Beta8 Changes

Common

  • On Linux executable and library names do not include architecture anymore.

FixedWingLib CGF

  • AirplneBot::accelerateDecelerate() renamed as setSpeedKtsCommon(). Also added a setLoadFactorCommon().

v4.1.Beta8 to v4.1.Beta9 Changes

No API changes.

v4.1.Beta9 to v4.1.Beta10 Changes

Common

  • Classes that are derived  from RTD::Base must contain the macro RTD_BASE_COMMON in their class decleration ( note: RTD_ENTITY_COMMON_DECL includes RTD_BASE_COMMON )
  • Classes that are derived from RTD::EntityBase must contain the macro RTD_ENTITY_COMMON_DECL in their class decleration. They also have to include RTD_ENTITY_COMMON_IMPL macro once in their cpp.
  • Bot and Vehicle constructors search given configuration files in user defined search paths (see addConfigSearchPath() , findConfigFile() ). Absolute paths or searching in the current working directory works as usual, i.e. previously written code shall function w/o problems.
  • Non-const getValue() methods are removed from all Simulation Variable classes. This is replaced by getChangableValue()
  • FCSComponent tag is not supported anymore in XML files; only CSComponent can be used.
  • ModelComponentBase::getType() method is removed. This method was a pure virtual method which must have been overriden in derived classes. Using RTD_BASE_COMMON is sufficient now. getClassName() can be used instead of getType().
  • Constructor signature of GenericObject100 is changed.
  • It is possible to add a terrain query callback to RTD::World now. This callback will be used by all world participants unless they have their own terrain query callback. This modification does not render previouly written code invalid, however, users might find it cleaner to use this new API.

Cable Add-on

  • Constructor signature of Cable100 is changed

v4.1.Beta10 to v4.1.Beta11 Changes

Common

  • TrimCallback is moved to VehicleBase from GenHeli600 class.

v4.1.Beta11 to v4.1.Beta12 Changes

 

FixedWingLibCGF

  • CML add-on related headers are moved to Include\FixedWingLibCGF\CML
  • FollowEntityController.h moved to Include\FixedWingLibCGF\Formation
  • MilitaryAirplaneBot.h and MilitaryAirplaneDynamics.h are moved to Include\FixedWingLibCGF\MilitaryCommon

RotorLibCGF

  • FollowEntityController.h moved to Include\RotorLibCGF\Formation
  • MilitaryHelicopterBot.h and MilitaryHelicopterDynamics.h moved to Include\RotorLibCGF\MilitaryCommon

Cable Add-on

  • m_resetAzimuth renamed as m_resetHeading
  • m_resetElevation renamed as m_resetPitch