WSF
WsfBMInterceptCalcResult.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: WsfBMInterceptCalcResult.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: Type for returning intercept calculation results.
23*
24*******************************************************************************/
25
26#ifndef WSF_BM_INTERCEPT_CALC_RESULT_HPP
27#define WSF_BM_INTERCEPT_CALC_RESULT_HPP
28
29#include <WsfBMCommon.hpp>
30#include <WsfObject.hpp>
31#include <WsfGeoPoint.hpp>
32
33#include <UtMemory.hpp>
34
35#define INT_CALC_RESULT_SCRIPT_CLASS_NAME "WsfBMIntCalcResult"
36#define INT_CALC_RESULT_BASE_CLASS_NAME "WSF_BM_INT_CALC_RESULT"
37
38class WSF_IADS_C2_LIB_EXPORT WsfBMInterceptCalcResult : public WsfObject
39{
40 public:
41
43
44 WsfBMInterceptCalcResult* Clone() const override;
45
46 const char* GetScriptClassName() const override { return INT_CALC_RESULT_SCRIPT_CLASS_NAME; }
47 virtual const char* GetBaseClassName() { return INT_CALC_RESULT_BASE_CLASS_NAME; }
48
49 inline virtual void SetCanIntercept(const bool value) { m_can_intercept = value; }
50 inline virtual bool GetCanIntercept() const { return m_can_intercept; }
51
52 inline virtual void SetTTI(const double value) { m_tti = value; }
53 inline virtual double GetTTI() const { return m_tti; }
54
55 inline virtual void SetPredPoint(const WsfGeoPoint& value) { m_pred_int_pt = value; }
56 inline virtual WsfGeoPoint GetPredPoint() const { return m_pred_int_pt; }
57
58 inline virtual void SetEstimatedPK(const double value) { m_estimated_pk = value; }
59 inline virtual double GetEstimatedPK() const { return m_estimated_pk; }
60
61 inline virtual void SetWeaponMaxRange(const double value) { m_max_range = value; }
62 inline virtual double GetWeaponMaxRange() const { return m_max_range; } // max range of the weapon given current conditions against this target
63
64 private:
65 bool m_can_intercept;
66 double m_tti;
67 WsfGeoPoint m_pred_int_pt;
68 double m_estimated_pk;
69 double m_max_range;
70};
71
73// Script Class //
75#include <UtScriptBasicTypes.hpp>
76
77class WSF_IADS_C2_LIB_EXPORT WsfScriptBMInterceptCalcResultClass : public UtScriptClass
78{
79 public:
80 WsfScriptBMInterceptCalcResultClass(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
82
83 void* Create(const UtScriptContext& aContext) override;
84 void* Clone(void* aObjectPtr) override;
85 void Destroy(void* aObjectPtr) override;
86
87 UT_DECLARE_SCRIPT_METHOD(SetCantIntercept);
88 UT_DECLARE_SCRIPT_METHOD(SetCanIntercept);
89 UT_DECLARE_SCRIPT_METHOD(SetCanIntercept_2);
90 UT_DECLARE_SCRIPT_METHOD(GetCanIntercept);
91
94
97
98 UT_DECLARE_SCRIPT_METHOD(GetEstimatedPK);
99 UT_DECLARE_SCRIPT_METHOD(SetEstimatedPK);
100
101 UT_DECLARE_SCRIPT_METHOD(GetWeaponMaxRange);
102 UT_DECLARE_SCRIPT_METHOD(SetWeaponMaxRange);
103};
104
105#endif
#define INT_CALC_RESULT_SCRIPT_CLASS_NAME
Definition WsfBMInterceptCalcResult.hpp:35
#define INT_CALC_RESULT_BASE_CLASS_NAME
Definition WsfBMInterceptCalcResult.hpp:36
WsfBMInterceptCalcResult()
Definition WsfBMInterceptCalcResult.cpp:28
virtual double GetEstimatedPK() const
Definition WsfBMInterceptCalcResult.hpp:59
virtual bool GetCanIntercept() const
Definition WsfBMInterceptCalcResult.hpp:50
virtual double GetTTI() const
Definition WsfBMInterceptCalcResult.hpp:53
const char * GetScriptClassName() const override
Definition WsfBMInterceptCalcResult.hpp:46
virtual double GetWeaponMaxRange() const
Definition WsfBMInterceptCalcResult.hpp:62
virtual const char * GetBaseClassName()
Definition WsfBMInterceptCalcResult.hpp:47
virtual WsfGeoPoint GetPredPoint() const
Definition WsfBMInterceptCalcResult.hpp:56
virtual void SetPredPoint(const WsfGeoPoint &value)
Definition WsfBMInterceptCalcResult.hpp:55
virtual void SetCanIntercept(const bool value)
Definition WsfBMInterceptCalcResult.hpp:49
virtual void SetEstimatedPK(const double value)
Definition WsfBMInterceptCalcResult.hpp:58
virtual void SetWeaponMaxRange(const double value)
Definition WsfBMInterceptCalcResult.hpp:61
virtual void SetTTI(const double value)
Definition WsfBMInterceptCalcResult.hpp:52
Definition WsfGeoPoint.hpp:29
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
virtual WsfObject * Clone() const =0
UT_DECLARE_SCRIPT_METHOD(SetCantIntercept)
void * Create(const UtScriptContext &aContext) override
Definition WsfBMInterceptCalcResult.cpp:74
UT_DECLARE_SCRIPT_METHOD(SetCanIntercept_2)
WsfScriptBMInterceptCalcResultClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfBMInterceptCalcResult.cpp:44
void Destroy(void *aObjectPtr) override
Definition WsfBMInterceptCalcResult.cpp:85
UT_DECLARE_SCRIPT_METHOD(GetCanIntercept)
UT_DECLARE_SCRIPT_METHOD(GetWeaponMaxRange)
UT_DECLARE_SCRIPT_METHOD(SetWeaponMaxRange)
UT_DECLARE_SCRIPT_METHOD(SetCanIntercept)
Copyrights Multiple, All Rights Reserved