WSF
ScenarioAnalyzerUtilities.hpp File Reference
#include "wsf_scenario_analyzer_lib_export.h"
#include <functional>
#include <string>
#include <vector>
#include "WsfCommNetworkManager.hpp"
#include "WsfCommUtil.hpp"
#include "WsfCommXmtrRcvr.hpp"
#include "WsfCommandChain.hpp"
#include "WsfExternalLinks.hpp"
#include "WsfGroupManager.hpp"
#include "WsfInternalLinks.hpp"
#include "WsfLinkedProcessor.hpp"
#include "WsfPlatform.hpp"
#include "WsfPlatformPart.hpp"
#include "WsfProcessor.hpp"
#include "script/WsfScriptProcessor.hpp"
#include "WsfStringId.hpp"
#include "ScenarioFileLocation.hpp"
#include "ScenarioAnalyzerMessage.hpp"
Include dependency graph for ScenarioAnalyzerUtilities.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  wsf
 Function definitions for those who need run-time access to the version.
namespace  wsf::comm

Typedefs

using PlatformCheck = std::function<bool(WsfPlatform*)>
using Messages = std::vector<ScenarioAnalyzerMessage>

Functions

void RegisterUtilsScriptTypes (WsfApplication &application)
template<typename TFunc>
WSF_SCENARIO_ANALYZER_LIB_EXPORT Messages runSuiteCheck (const std::string &aSuiteName, const std::string &aCheckName, ScenarioAnalyzerMessage::SeverityLevel aSeverity, WsfSimulation &aSimulation, TFunc aFunction, bool aWriteFlag=true)
template<typename T>
std::vector< T * > getInternallyLinkedPlatformParts (WsfPlatformPart *origin)
template<typename T>
std::vector< T * > getInternallyLinkedPlatformParts (WsfPlatformPart *origin, std::vector< WsfPlatformPart * > &visited)
template<typename T>
std::vector< T * > getLinkedAndReachablePlatformParts (WsfPlatformPart *origin, const std::vector< std::string > &ignoreExternalLinks, bool follow)
template<typename T>
std::vector< T * > getLinkedAndReachablePlatformParts (WsfPlatformPart *origin)
template<typename T>
std::vector< T * > getLinkedAndReachablePlatformParts (WsfPlatformPart *origin, std::vector< WsfPlatform * > &visitedPlatforms, std::vector< wsf::comm::Comm * > &visitedComms, const std::vector< std::string > &ignoreOrFollowExternalLinks, bool follow)
template<typename T>
std::vector< T * > getLinkedAndReachablePlatformParts (wsf::ExternalLinks &links, WsfPlatform *platform, std::vector< WsfPlatform * > &visitedPlatforms, std::vector< wsf::comm::Comm * > &visitedComms, const std::vector< std::string > &ignoreOrFollowExternalLinks, bool follow)
WSF_SCENARIO_ANALYZER_LIB_EXPORT WsfPlatformgetTopCommander (WsfStringId commandChainName, WsfPlatform *platform)
WSF_SCENARIO_ANALYZER_LIB_EXPORT bool checkUpCommandChain (WsfPlatform *platform, PlatformCheck check)
WSF_SCENARIO_ANALYZER_LIB_EXPORT bool checkUpCommandChain (WsfPlatform *platform, PlatformCheck check, WsfStringId commandChainName)
WSF_SCENARIO_ANALYZER_LIB_EXPORT bool checkDownCommandChain (WsfPlatform *platform, PlatformCheck check)
WSF_SCENARIO_ANALYZER_LIB_EXPORT bool checkDownCommandChain (WsfPlatform *platform, PlatformCheck check, WsfStringId commandChainName)
WSF_SCENARIO_ANALYZER_LIB_EXPORT bool checkFullCommandChain (WsfPlatform *platform, PlatformCheck check)
WSF_SCENARIO_ANALYZER_LIB_EXPORT void ConvertMessagesToScript (const Messages &aMessages, UtScriptData &aReturnVal, UtScriptContext &aContext, UtScriptClass *aReturnClassPtr)
template<typename T>
std::vector< T * > getAllPartsDownCommandChain (WsfPlatform *platform)
template<typename T>
std::vector< T * > getAllPartsDownCommandChain (WsfPlatform *platform, WsfStringId commandChainName)

Typedef Documentation

◆ Messages

using Messages = std::vector<ScenarioAnalyzerMessage>

◆ PlatformCheck

using PlatformCheck = std::function<bool(WsfPlatform*)>

Function Documentation

◆ checkDownCommandChain() [1/2]

◆ checkDownCommandChain() [2/2]

WSF_SCENARIO_ANALYZER_LIB_EXPORT bool checkDownCommandChain ( WsfPlatform * platform,
PlatformCheck check,
WsfStringId commandChainName )

◆ checkFullCommandChain()

◆ checkUpCommandChain() [1/2]

◆ checkUpCommandChain() [2/2]

WSF_SCENARIO_ANALYZER_LIB_EXPORT bool checkUpCommandChain ( WsfPlatform * platform,
PlatformCheck check,
WsfStringId commandChainName )

◆ ConvertMessagesToScript()

◆ getAllPartsDownCommandChain() [1/2]

◆ getAllPartsDownCommandChain() [2/2]

template<typename T>
std::vector< T * > getAllPartsDownCommandChain ( WsfPlatform * platform,
WsfStringId commandChainName )

◆ getInternallyLinkedPlatformParts() [1/2]

template<typename T>
std::vector< T * > getInternallyLinkedPlatformParts ( WsfPlatformPart * origin)

◆ getInternallyLinkedPlatformParts() [2/2]

template<typename T>
std::vector< T * > getInternallyLinkedPlatformParts ( WsfPlatformPart * origin,
std::vector< WsfPlatformPart * > & visited )

◆ getLinkedAndReachablePlatformParts() [1/4]

template<typename T>
std::vector< T * > getLinkedAndReachablePlatformParts ( wsf::ExternalLinks & links,
WsfPlatform * platform,
std::vector< WsfPlatform * > & visitedPlatforms,
std::vector< wsf::comm::Comm * > & visitedComms,
const std::vector< std::string > & ignoreOrFollowExternalLinks,
bool follow )
extern

◆ getLinkedAndReachablePlatformParts() [2/4]

template<typename T>
std::vector< T * > getLinkedAndReachablePlatformParts ( WsfPlatformPart * origin)
extern

◆ getLinkedAndReachablePlatformParts() [3/4]

template<typename T>
std::vector< T * > getLinkedAndReachablePlatformParts ( WsfPlatformPart * origin,
const std::vector< std::string > & ignoreExternalLinks,
bool follow )
extern

◆ getLinkedAndReachablePlatformParts() [4/4]

template<typename T>
std::vector< T * > getLinkedAndReachablePlatformParts ( WsfPlatformPart * origin,
std::vector< WsfPlatform * > & visitedPlatforms,
std::vector< wsf::comm::Comm * > & visitedComms,
const std::vector< std::string > & ignoreOrFollowExternalLinks,
bool follow )
extern

◆ getTopCommander()

WSF_SCENARIO_ANALYZER_LIB_EXPORT WsfPlatform * getTopCommander ( WsfStringId commandChainName,
WsfPlatform * platform )

◆ RegisterUtilsScriptTypes()

void RegisterUtilsScriptTypes ( WsfApplication & application)

◆ runSuiteCheck()

template<typename TFunc>
WSF_SCENARIO_ANALYZER_LIB_EXPORT Messages runSuiteCheck ( const std::string & aSuiteName,
const std::string & aCheckName,
ScenarioAnalyzerMessage::SeverityLevel aSeverity,
WsfSimulation & aSimulation,
TFunc aFunction,
bool aWriteFlag = true )

References ScenarioAnalyzerMessage::SetCheckName(), ScenarioAnalyzerMessage::SetSeverity(), ScenarioAnalyzerMessage::SetSuccessful(), and ScenarioAnalyzerMessage::SetSuiteName().

Referenced by checkAssetManagersHaveUpdateInterval(), checkBattleManagerConnectedToSubordinateSensorsManagerByC2CapablePlatforms(), checkBattleManagerConnectedToSubordinateWeaponsManagerByC2CapablePlatforms(), checkBattleManagerReachableBySubordinateSensors(), checkBattleManagersDontConflict(), checkCommanderInDeclaredCommandChain(), checkCommInternallyLinked(), checkDeclaredCommandChainHasStructure(), checkLargeScenarioHasCommandChain(), checkMaxAquisitionTimeLongEnoughForSensorsToFormTracks(), checkPlatformHasMeaningfulLocation(), checkPlatformHasRequiredSignatures(), checkPlatformInCommandChainHasComm(), checkPlatformWithAssetManagerHasDisseminateC2Manager(), checkPlatformWithBattleManagerIsC2Capable(), checkPlatformWithDisseminateC2ManagerHasInternalCommLinks(), checkPlatformWithSensorsManagerConnectedToBattleManagerWithCommitAuthority(), checkPlatformWithSensorsManagerConnectedToTAROrTTR(), checkPlatformWithSensorsManagerIsC2Capable(), checkPlatformWithTAROrTTRConnectedToSensorsManager(), checkPlatformWithWeaponHasWeaponsManager(), checkPlatformWithWeaponsManagerConnectedToBattleManagerWithCommitAuthority(), checkPlatformWithWeaponsManagerHasAccessToRequiredSensor(), checkPlatformWithWeaponsManagerHasWeapon(), checkPlatformWithWeaponsManagerIsC2Capable(), checkPurgeIntervalLongEnoughToEstablishTrack(), checkPurgeIntervalLongEnoughToMaintainTrack(), checkScriptProcessorHasUpdateInterval(), checkSensorInternallyLinked(), checkSensorInternallyLinkedToTrackProcessor(), checkSensorOn(), checkSensorsManagersMustNotConflict(), checkSignaturesDetectableByEnemySensor(), checkTrackProcessorHasPurgeInterval(), checkTrackProcessorsDontReportFusedTracksToEachOther(), checkTTRWithFOVSensorsManagerDoesNotManipulateOnOff(), checkTTRWithFOVSensorsManagerHasAuxDataFields(), checkTTRWithFOVSensorsManagerHasOneBeamPerMode(), checkTTRWithFOVSensorsManagerUsesDefaultSensorScheduler(), checkUserConfiguredSpeedsWithinMoverCapabilities(), checkWeaponsNonzeroQuantity(), checkWeaponsOnWMAIPlatformHavRequiredAuxData(), checkWMAIPlatformDetectsEnemyTTRs(), and checkWMAIPlatformHasRequiredRWR().

Copyrights Multiple, All Rights Reserved