WSF
WsfSixDOF_ObjectManager.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2020 Infoscitex, a DCS Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFSIXDOFOBJECTMANAGER_HPP
13#define WSFSIXDOFOBJECTMANAGER_HPP
14
15#include "UtCallbackHolder.hpp"
16class WsfPlatform;
18class WsfTrack;
19class WsfWeapon;
21
22namespace wsf
23{
24namespace six_dof
25{
26class TypeManager;
27
29{
30public:
31 explicit ObjectManager(TypeManager* aTypeManager);
32 ~ObjectManager() = default;
33
35 void AddedToSimulation() override;
36
38 bool Initialize() override;
39
41 void Start() override;
42
44 void Complete(double aSimTime) override;
45
46 // Called when the simulation is initializing.
47 // This is guaranteed to be called once even if the simulation
48 // initialized prior to adding the extension.
49 bool PrepareExtension() override;
50
51 // PlatformAdded handler
52 void PlatformAdded(double aSimTime, WsfPlatform* aPlatformPtr);
53
54 // PlatformDeleted handler
55 void PlatformDeleted(double aSimTime, WsfPlatform* aPlatformPtr);
56
57 // WeaponFired handler
58 void WeaponFired(double aSimTime, const WsfWeaponEngagement* aEngagementPtr, const WsfTrack* aTargetTrackPtr);
59
60 // WeaponReloadEnded handler
61 void WeaponReloadEnded(double aSimTime, WsfWeapon* aWeaponPtr);
62
63private:
64 UtCallbackHolder mCallbacks;
65 TypeManager* mWsfTypeManagerPtr;
66};
67} // namespace six_dof
68} // namespace wsf
69
70#endif
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
WsfSimulationExtension()
Definition WsfSimulationExtension.cpp:23
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfWeaponEngagement.hpp:43
Definition WsfWeapon.hpp:63
void Complete(double aSimTime) override
Called when the simulation is complete.
Definition WsfSixDOF_ObjectManager.cpp:44
void AddedToSimulation() override
Called by the simulation when this extension has been added.
Definition WsfSixDOF_ObjectManager.cpp:29
void Start() override
Called by the simulation when it is about to be started.
Definition WsfSixDOF_ObjectManager.cpp:42
void PlatformAdded(double aSimTime, WsfPlatform *aPlatformPtr)
Definition WsfSixDOF_ObjectManager.cpp:51
void WeaponReloadEnded(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfSixDOF_ObjectManager.cpp:61
void WeaponFired(double aSimTime, const WsfWeaponEngagement *aEngagementPtr, const WsfTrack *aTargetTrackPtr)
Definition WsfSixDOF_ObjectManager.cpp:55
bool PrepareExtension() override
Definition WsfSixDOF_ObjectManager.cpp:46
bool Initialize() override
Called by the simulation when it is being initialized.
Definition WsfSixDOF_ObjectManager.cpp:37
void PlatformDeleted(double aSimTime, WsfPlatform *aPlatformPtr)
Definition WsfSixDOF_ObjectManager.cpp:53
ObjectManager(TypeManager *aTypeManager)
Definition WsfSixDOF_ObjectManager.cpp:23
Definition WsfSixDOF_TypeManager.hpp:32
Definition WsfSA_Processor.hpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved