WSF
WsfTabularLaunchComputer.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#ifndef WSFTABULARLAUNCHCOMPUTER_HPP
13#define WSFTABULARLAUNCHCOMPUTER_HPP
14
15#include "wsf_mil_export.h"
16
17#include "UtCloneablePtr.hpp"
18#include "UtEntity.hpp"
19#include "UtTable.hpp"
20#include "WsfLaunchComputer.hpp"
21
32
33class WSF_MIL_EXPORT WsfTabularLaunchComputer : public WsfLaunchComputer
34{
35public:
37 static std::string BaseTypeName() { return "WSF_TABULAR_LAUNCH_COMPUTER"; }
38
41 ~WsfTabularLaunchComputer() override = default;
43
44 WsfLaunchComputer* Clone() const override;
45 bool ProcessInput(UtInput& aInput) override;
46 bool Initialize(double aSimTime, WsfWeapon* aWeaponPtr) override;
47
48 double EstimatedTimeToIntercept(double aSimTime, const WsfTrack& aTrack, double aLaunchDelayTime) override;
49
50protected:
51 bool InitializeTTIData() override;
52
53private:
54 void ComputeIntercept(double aSimTime, const WsfTrack& aTrack, double aLaunchDelayTime);
55
56 double GetAverageSpeed(const double aIntLocWCS[3]);
57
58 void ShowPoint(const double aLocWCS[3], double aRedValue, double aGreenValue, double aBlueValue, int aPointSize);
59 void UpdateLaunchPerception(double aCurTime);
60 bool UpdateTargetPerception(double aCurTime, const WsfTrack& aTrack);
61
63 UtCloneablePtr<UtTable::Table> mTimeOfFlightPtr;
64
65 double mAverageSpeed;
66 double mDropAdjustmentFactor;
67
68 UtEntity mLauState;
69 double mLauSpeed;
70
71 UtEntity mTgtState;
72
73 bool mShowGraphics;
74};
75
76#endif
virtual bool InitializeTTIData()
Definition WsfLaunchComputer.cpp:440
WsfLaunchComputer()
Definition WsfLaunchComputer.cpp:44
virtual double EstimatedTimeToIntercept(double aSimTime, const WsfTrack &aTrack, double aLaunchDelayTime)
Definition WsfLaunchComputer.cpp:749
WsfLaunchComputer * Clone() const override
Definition WsfLaunchComputer.cpp:518
bool ProcessInput(UtInput &aInput) override
Definition WsfLaunchComputer.cpp:171
virtual bool Initialize(double aSimTime, WsfWeapon *aWeaponPtr)
Definition WsfLaunchComputer.cpp:393
Definition WsfTabularLaunchComputer.hpp:34
static std::string BaseTypeName()
The basic type name (needed by weapon_tools and launch computer processor).
Definition WsfTabularLaunchComputer.hpp:37
WsfTabularLaunchComputer & operator=(const WsfTabularLaunchComputer &)=delete
WsfTabularLaunchComputer()
Definition WsfTabularLaunchComputer.cpp:48
~WsfTabularLaunchComputer() override=default
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfWeapon.hpp:63
Copyrights Multiple, All Rights Reserved