WSF
WsfDefaultWeaponsManagerImpl.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// The use, dissemination or disclosure of data in this file is subject to
7// limitation or restriction. See accompanying README and LICENSE for details.
8// ****************************************************************************
9/*******************************************************************************
10*
11* File: WsfDefaultWeaponsManagerImpl.hpp
12*
13* Classification: UNCLASSIFIED
14*
15* Details:
16*
17* Contract Number:
18* Contractor Name: Radiance Technologies
19* Address: 350 Wynn Drive
20* Huntsville, AL 35805
21*
22* Abstract: This class provides default implementations in C++ for
23* what could be overridden in script for the Weapons Manager base class.
24* The intention was to provide the classical implementation of what was originally
25* done in script so default usage of the processor works without supplemental scripting.
26*
27*******************************************************************************/
28
29#ifndef WSF_DEFAULT_WEAPONS_MANAGER_IMPL_HPP
30#define WSF_DEFAULT_WEAPONS_MANAGER_IMPL_HPP
31
32#include "UtPlugin.hpp"
33#include <string>
34#include <set>
35
36#include <UtInput.hpp>
37#include <WsfMessage.hpp>
38
39#include <WsfBMCommon.hpp>
43
44// forward declarations
46class WsfPlatform;
47class WsfAssetManager;
49class WsfWeapon;
51
52class WSF_IADS_C2_LIB_EXPORT WsfDefaultWeaponsManagerImpl
53{
54 public:
56
57 virtual bool ProcessInput(UtInput& aInput);
58 virtual void Initialize(WsfBMWeaponsManager* wm);
59 virtual void Initialize2(WsfBMWeaponsManager* wm);
60
61 virtual void on_update(const double sim_time_s, WsfPlatform* this_plat, WsfBMWeaponsManager* wm);
62 virtual bool on_message(const double sim_time_s, const WsfMessage& message, WsfBMWeaponsManager* wm);
63
64 protected:
65 void PerformSelfDefense(const double sim_time_s, WsfPlatform* this_plat, WsfBMWeaponsManager* wm);
66 bool PerformSelfDefenseProcessing(const double sim_time_s, WsfPlatform* this_plat, WsfBMWeaponsManager* wm, const std::shared_ptr<il::trackRecord>& track);
67 bool CreateSelfDefenseAssignment(const double sim_time_s, WsfPlatform* this_plat, WsfBMWeaponsManager* wm, const std::shared_ptr<il::trackRecord>& track);
68 std::shared_ptr<il::weaponRecord> SelectSelfDefenseWeapon(const double sim_time_s, WsfPlatform* this_plat, WsfBMWeaponsManager* wm, const std::shared_ptr<il::trackRecord>& track);
69
70 private:
71 WsfAssetManager* m_am_ref; // we don't own these allow slices
72};
73
74#endif
Definition WsfAssetManager.hpp:63
Definition WsfBMDisseminateC2.hpp:53
Definition WsfBMWeaponsManager.hpp:50
Definition WsfBattleManager.hpp:61
virtual bool on_message(const double sim_time_s, const WsfMessage &message, WsfBMWeaponsManager *wm)
Definition WsfDefaultWeaponsManagerImpl.cpp:183
WsfDefaultWeaponsManagerImpl()
Definition WsfDefaultWeaponsManagerImpl.cpp:47
void PerformSelfDefense(const double sim_time_s, WsfPlatform *this_plat, WsfBMWeaponsManager *wm)
Definition WsfDefaultWeaponsManagerImpl.cpp:203
bool CreateSelfDefenseAssignment(const double sim_time_s, WsfPlatform *this_plat, WsfBMWeaponsManager *wm, const std::shared_ptr< il::trackRecord > &track)
Definition WsfDefaultWeaponsManagerImpl.cpp:253
virtual void on_update(const double sim_time_s, WsfPlatform *this_plat, WsfBMWeaponsManager *wm)
Definition WsfDefaultWeaponsManagerImpl.cpp:74
std::shared_ptr< il::weaponRecord > SelectSelfDefenseWeapon(const double sim_time_s, WsfPlatform *this_plat, WsfBMWeaponsManager *wm, const std::shared_ptr< il::trackRecord > &track)
Definition WsfDefaultWeaponsManagerImpl.cpp:298
virtual void Initialize2(WsfBMWeaponsManager *wm)
Definition WsfDefaultWeaponsManagerImpl.cpp:61
virtual void Initialize(WsfBMWeaponsManager *wm)
Definition WsfDefaultWeaponsManagerImpl.cpp:56
virtual bool ProcessInput(UtInput &aInput)
Definition WsfDefaultWeaponsManagerImpl.cpp:51
bool PerformSelfDefenseProcessing(const double sim_time_s, WsfPlatform *this_plat, WsfBMWeaponsManager *wm, const std::shared_ptr< il::trackRecord > &track)
Definition WsfDefaultWeaponsManagerImpl.cpp:222
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Definition WsfWeapon.hpp:63
Copyrights Multiple, All Rights Reserved