WSF
SOSM_ScalarTable3D.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// 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 SOSM_SCALARTABLE3D_HPP
13#define SOSM_SCALARTABLE3D_HPP
14
15#include <string>
16#include <vector>
17
18class SOSM_Manager;
19#include "TblLookup.hpp"
20
27{
28public:
29 SOSM_ScalarTable3D(SOSM_Manager* aManagerPtr);
30
31 // Using default copy constructor.
32 // SOSM_ScalarTable3D(const SOSM_SpectralTable3D& aSrc);
33
35 double GetModificationTime() const { return mModificationTime; }
36
38 const TblIndVarU<float>& IV1() const { return mIV1; }
39
41 TblIndVarU<float>& IV1() { return mIV1; }
42
44 const TblIndVarU<float>& IV2() const { return mIV2; }
45
47 TblIndVarU<float>& IV2() { return mIV2; }
48
50 const TblIndVarU<float>& IV3() const { return mIV3; }
51
53 TblIndVarU<float>& IV3() { return mIV3; }
54
56 const std::vector<float>& DV() const { return mDV; }
57
59 std::vector<float>& DV() { return mDV; }
60
61 float Interpolate(const TblLookupL<float>& aIV1_Lookup,
62 const TblLookupL<float>& aIV2_Lookup,
63 const TblLookupL<float>& aIV3_Lookup) const;
64
65 void LoadBinaryFile(const std::string& aFileName);
66
67 void SaveBinaryFile(const std::string& aFileName);
68
69private:
70 SOSM_Manager* mManagerPtr;
71
73 std::string mFileName;
74
76 double mModificationTime;
77
79 std::string mUserIdent[3];
80
82 std::vector<float> mDV;
83
85 TblIndVarU<float> mIV1;
86
88 TblIndVarU<float> mIV2;
89
91 TblIndVarU<float> mIV3;
92};
93
94#endif
A singleton class that manages SOSM data.
Definition SOSM_Manager.hpp:32
double GetModificationTime() const
Return when the source file from which the object was recreated was last modified.
Definition SOSM_ScalarTable3D.hpp:35
TblIndVarU< float > & IV1()
Return the independent variable 1 values (non-const form).
Definition SOSM_ScalarTable3D.hpp:41
const std::vector< float > & DV() const
Return the dependent variable (const form).
Definition SOSM_ScalarTable3D.hpp:56
std::vector< float > & DV()
Return the dependent variable (non-const form).
Definition SOSM_ScalarTable3D.hpp:59
TblIndVarU< float > & IV3()
Return the independent variable 3 values (non-const form).
Definition SOSM_ScalarTable3D.hpp:53
const TblIndVarU< float > & IV2() const
Return the independent variable 2 values (const form).
Definition SOSM_ScalarTable3D.hpp:44
TblIndVarU< float > & IV2()
Return the independent variable 2 values (non-const form).
Definition SOSM_ScalarTable3D.hpp:47
float Interpolate(const TblLookupL< float > &aIV1_Lookup, const TblLookupL< float > &aIV2_Lookup, const TblLookupL< float > &aIV3_Lookup) const
Definition SOSM_ScalarTable3D.cpp:76
void SaveBinaryFile(const std::string &aFileName)
Definition SOSM_ScalarTable3D.cpp:56
SOSM_ScalarTable3D(SOSM_Manager *aManagerPtr)
Definition SOSM_ScalarTable3D.cpp:24
const TblIndVarU< float > & IV3() const
Return the independent variable 3 values (const form).
Definition SOSM_ScalarTable3D.hpp:50
const TblIndVarU< float > & IV1() const
Return the independent variable 1 values (const form).
Definition SOSM_ScalarTable3D.hpp:38
void LoadBinaryFile(const std::string &aFileName)
Definition SOSM_ScalarTable3D.cpp:31
Copyrights Multiple, All Rights Reserved