WSF
WsfEM_Util.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 WSFEM_UTIL_HPP
13#define WSFEM_UTIL_HPP
14
15#include "wsf_export.h"
16
17#include <string>
18
19class UtEntity;
20#include "WsfEM_Types.hpp"
21
23
25{
26public:
27 static bool ComputeApparentPosition(double aEarthRadiusScale,
28 const double aSrcLocWCS[3],
29 const double aTgtLocWCS[3],
30 double aApparentSrcLocWCS[3],
31 double aApparentTgtLocWCS[3]);
32
33 static bool ComputeApparentPosition(double aEarthRadiusScale,
34 const double aSrcLocWCS[3],
35 const double aTgtLocWCS[3],
36 double aSrcAlt,
37 double aTgtAlt,
38 double aApparentSrcLocWCS[3],
39 double aApparentTgtLocWCS[3]);
40
41 static void ComputeViewerAspect(UtEntity* aTargetPtr,
42 const double aViewerLocWCS[3],
43 double aEarthRadiusScale,
44 double& aTargetToViewerAz,
45 double& aTargetToViewerEl);
46
47 static bool MaskedByHorizon(double aLat1,
48 double aLon1,
49 double aAlt1,
50 double aTrnHgt1,
51 double aLat2,
52 double aLon2,
53 double aAlt2,
54 double aTrnHgt2,
55 double aEarthRadiusScale);
56
57 static bool StringToEnum(WsfEM_Types::Polarization& aPolarization, const std::string& aString);
58
59 static bool StringToEnum(WsfEM_Types::InfraredBand& aBand, const std::string& aString);
60
61 static bool StringToEnum(WsfEM_Types::OpticalBand& aBand, const std::string& aString);
62
63 static std::string EnumToString(WsfEM_Types::Polarization aPolarization);
64
65 static std::string EnumToString(WsfEM_Types::InfraredBand aBand);
66
67 static std::string EnumToString(WsfEM_Types::OpticalBand aBand);
68};
69
70#endif
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Utility methods used by the electromagnetic classes.
Definition WsfEM_Util.hpp:25
static bool MaskedByHorizon(double aLat1, double aLon1, double aAlt1, double aTrnHgt1, double aLat2, double aLon2, double aAlt2, double aTrnHgt2, double aEarthRadiusScale)
Definition WsfEM_Util.cpp:202
static void ComputeViewerAspect(UtEntity *aTargetPtr, const double aViewerLocWCS[3], double aEarthRadiusScale, double &aTargetToViewerAz, double &aTargetToViewerEl)
Definition WsfEM_Util.cpp:162
static bool ComputeApparentPosition(double aEarthRadiusScale, const double aSrcLocWCS[3], const double aTgtLocWCS[3], double aApparentSrcLocWCS[3], double aApparentTgtLocWCS[3])
A pass-through to the other form, not given the altitude.
Definition WsfEM_Util.cpp:27
static std::string EnumToString(WsfEM_Types::Polarization aPolarization)
Definition WsfEM_Util.cpp:431
static bool StringToEnum(WsfEM_Types::Polarization &aPolarization, const std::string &aString)
Definition WsfEM_Util.cpp:324
OpticalBand
Definition WsfEM_Types.hpp:48
Polarization
Polarization of the electromagnetic wave.
Definition WsfEM_Types.hpp:21
InfraredBand
Infrared band names.
Definition WsfEM_Types.hpp:34
Copyrights Multiple, All Rights Reserved