WSF
WsfP6DOF_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 2003-2015 The Boeing 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// Updated by Infoscitex, a DCS Company.
13// ****************************************************************************
14
15#ifndef WSFP6DOF_OBJECTMANAGER_HPP
16#define WSFP6DOF_OBJECTMANAGER_HPP
17
18#include "UtCallbackHolder.hpp"
20
21class WsfPlatform;
23class WsfTrack;
24class WsfWeapon;
26
28{
29public:
30 explicit WsfP6DOF_ObjectManager(WsfP6DOF_TypeManager* aTypeManager);
31 ~WsfP6DOF_ObjectManager() override = default;
32
34 void AddedToSimulation() override;
35
37 bool Initialize() override;
38
40 void Start() override;
41
43 void Complete(double aSimTime) override;
44
45 // Called when the simulation is initializing.
46 // This is guaranteed to be called once even if the simulation
47 // initialized prior to adding the extension.
48 bool PrepareExtension() override;
49
50 // PlatformAdded handler
51 void PlatformAdded(double aSimTime, WsfPlatform* aPlatformPtr);
52
53 // PlatformDeleted handler
54 void PlatformDeleted(double aSimTime, WsfPlatform* aPlatformPtr);
55
56 // WeaponFired handler
57 void WeaponFired(double aSimTime, const WsfWeaponEngagement* aEngagementPtr, const WsfTrack* aTargetTrackPtr);
58
59 // WeaponReloadEnded handler
60 void WeaponReloadEnded(double aSimTime, WsfWeapon* aWeaponPtr);
61
62private:
63 UtCallbackHolder mCallbacks;
64 WsfP6DOF_TypeManager* mWsfTypeManagerPtr;
65};
66
67#endif
void WeaponFired(double aSimTime, const WsfWeaponEngagement *aEngagementPtr, const WsfTrack *aTargetTrackPtr)
Definition WsfP6DOF_ObjectManager.cpp:60
~WsfP6DOF_ObjectManager() override=default
bool Initialize() override
Called by the simulation when it is being initialized.
Definition WsfP6DOF_ObjectManager.cpp:42
bool PrepareExtension() override
Definition WsfP6DOF_ObjectManager.cpp:51
void PlatformAdded(double aSimTime, WsfPlatform *aPlatformPtr)
Definition WsfP6DOF_ObjectManager.cpp:56
void WeaponReloadEnded(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfP6DOF_ObjectManager.cpp:66
void PlatformDeleted(double aSimTime, WsfPlatform *aPlatformPtr)
Definition WsfP6DOF_ObjectManager.cpp:58
void Start() override
Called by the simulation when it is about to be started.
Definition WsfP6DOF_ObjectManager.cpp:47
void AddedToSimulation() override
Called by the simulation when this extension has been added.
Definition WsfP6DOF_ObjectManager.cpp:33
void Complete(double aSimTime) override
Called when the simulation is complete.
Definition WsfP6DOF_ObjectManager.cpp:49
WsfP6DOF_ObjectManager(WsfP6DOF_TypeManager *aTypeManager)
Definition WsfP6DOF_ObjectManager.cpp:27
Definition WsfP6DOF_TypeManager.hpp:25
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
Copyrights Multiple, All Rights Reserved