WSF
WsfATG_WeaponLAR.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 WSFATG_WEAPONLAR_HPP
13#define WSFATG_WEAPONLAR_HPP
14
15#include "wsf_mil_export.h"
16
17class UtInputBlock;
18#include "WsfStringId.hpp"
19#include "WsfWeaponLAR.hpp"
20class WsfZone;
21
26
27class WSF_MIL_EXPORT WsfATG_WeaponLAR : public WsfWeaponLAR
28{
29public:
32
33 static WsfStringId GetTypeId();
34
35 ~WsfATG_WeaponLAR() override;
36 WsfWeaponLAR* Clone() const override;
37 bool ProcessInput(UtInput& aInput) override;
38 bool Initialize(WsfSimulation& aSimulation) override;
39
40 void ProcessInputBlock(UtInputBlock& aInputBlock);
41
42 double LaunchSpeed() const { return mLaunchSpd; }
43
44 // This function indicates whether the target is inside
45 // the LAR for this weapon. If the launch is off design
46 // conditions, an offset will be applied to the input
47 // target position to account for the LAR shift. This
48 // process is an approximation only, and cannot be relied
49 // upon to be correct for far off nominal conditions.
50 virtual bool IsInside(const double aTargetPointWCS[3],
51 const double aLaunchPointWCS[3],
52 const double aLaunchHeading,
53 const double aLaunchSpeed,
54 const double aDeltaAltitude,
55 const double aLaunchGamma) const;
56
58 double DeltaAltitude() const { return mDeltaAlt; }
59 const WsfZone* GetZone() const { return mZonePtr; }
60
61 // Needed for sorting LARs by altitude...
62 virtual bool operator<(const WsfATG_WeaponLAR& aRhs) const { return mDeltaAlt < aRhs.mDeltaAlt; }
63
64protected:
66
67private:
68 WsfZone* mZonePtr;
69 double mDeltaAlt;
70 double mLaunchSpd;
71 double mSens10mAlt;
72 double mSens10msVel;
73 double mSensGradient;
74};
75
76#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
const WsfZone * GetZone() const
Definition WsfATG_WeaponLAR.hpp:59
WsfATG_WeaponLAR & operator=(const WsfATG_WeaponLAR &aRhs)
void ProcessInputBlock(UtInputBlock &aInputBlock)
Definition WsfATG_WeaponLAR.cpp:138
double DeltaAltitude() const
Delta Altitude is defined as Launcher Altitude minus Target Altitude.
Definition WsfATG_WeaponLAR.hpp:58
double LaunchSpeed() const
Definition WsfATG_WeaponLAR.hpp:42
WsfATG_WeaponLAR()
Definition WsfATG_WeaponLAR.cpp:26
virtual bool operator<(const WsfATG_WeaponLAR &aRhs) const
Definition WsfATG_WeaponLAR.hpp:62
WsfStringId GetTypeId() const
Get the string ID of the 'type' of the object.
Definition WsfObject.hpp:78
The main controller for a simulation.
Definition WsfSimulation.hpp:109
WsfWeaponLAR()
Definition WsfWeaponLAR.cpp:20
virtual bool Initialize(WsfSimulation &aSimulation)
Definition WsfWeaponLAR.cpp:47
bool ProcessInput(UtInput &aInput) override
Definition WsfWeaponLAR.cpp:30
WsfWeaponLAR * Clone() const override=0
Definition WsfZone.hpp:63
Copyrights Multiple, All Rights Reserved