RefFrame.hpp
Go to the documentation of this file.
1 //==============================================================================
2 //
3 // This file is part of GNSSTk, the ARL:UT GNSS Toolkit.
4 //
5 // The GNSSTk is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published
7 // by the Free Software Foundation; either version 3.0 of the License, or
8 // any later version.
9 //
10 // The GNSSTk is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with GNSSTk; if not, write to the Free Software Foundation,
17 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 //
19 // This software was developed by Applied Research Laboratories at the
20 // University of Texas at Austin.
21 // Copyright 2004-2022, The Board of Regents of The University of Texas System
22 //
23 //==============================================================================
24 
25 //==============================================================================
26 //
27 // This software was developed by Applied Research Laboratories at the
28 // University of Texas at Austin, under contract to an agency or agencies
29 // within the U.S. Department of Defense. The U.S. Government retains all
30 // rights to use, duplicate, distribute, disclose, or release this software.
31 //
32 // Pursuant to DoD Directive 523024
33 //
34 // DISTRIBUTION STATEMENT A: This software has been approved for public
35 // release, distribution is unlimited.
36 //
37 //==============================================================================
38 
39 #ifndef GNSSTK_REFFRAME_HPP
40 #define GNSSTK_REFFRAME_HPP
41 
42 #include "RefFrameSys.hpp"
43 #include "RefFrameRlz.hpp"
44 #include "ReferenceFrame.hpp" // deprecated
45 
46 namespace gnsstk
47 {
49 
50 
53  class RefFrame
54  {
55  public:
57  RefFrame();
63  RefFrame(RefFrameRlz rlz);
71  RefFrame(RefFrameSys sys, const gnsstk::CommonTime& when);
82  RefFrame(const std::string& str, const gnsstk::CommonTime& when);
84  bool operator==(const RefFrame& right) const noexcept
85  { return (system == right.system) && (realization == right.realization); }
87  bool operator!=(const RefFrame& right) const noexcept
88  { return (system != right.system) || (realization != right.realization); }
90  bool operator<(const RefFrame& right) const noexcept;
93  { return system; }
96  { return realization; }
97 
101  bool operator==(ReferenceFrame orf) const noexcept;
105  RefFrame(ReferenceFrame orf, const gnsstk::CommonTime& when);
106  private:
111 
112  friend std::ostream& operator<<(std::ostream& s, const RefFrame& rf);
113  };
114 
115 
117  using RefFramePair = std::pair<RefFrame, RefFrame>;
118 
119 
124  inline std::ostream& operator<<(std::ostream& s, const RefFrame& rf)
125  {
126  // just print the realization, it should be enough.
128  return s;
129  }
130 
132 
133 }
134 
135 #endif // GNSSTK_REFFRAME_HPP
gnsstk::RefFrame::getRealization
RefFrameRlz getRealization() const noexcept
Return the reference frame realization represented by this object.
Definition: RefFrame.hpp:95
RefFrameSys.hpp
RefFrameRlz.hpp
gnsstk::ReferenceFrame
ReferenceFrame
Definition: ReferenceFrame.hpp:52
gnsstk::RefFrame::operator==
bool operator==(const RefFrame &right) const noexcept
Compare this with right.
Definition: RefFrame.hpp:84
const
#define const
Definition: getopt.c:43
gnsstk::RefFrame::RefFrame
RefFrame()
Set both system and realization to Unknown.
Definition: RefFrame.cpp:45
gnsstk::RefFrame::realization
RefFrameRlz realization
The reference frame realization this object represents.
Definition: RefFrame.hpp:110
gnsstk::StringUtils::asString
std::string asString(IonexStoreStrategy e)
Convert a IonexStoreStrategy to a whitespace-free string name.
Definition: IonexStoreStrategy.cpp:46
gnsstk::RefFrameRlz
RefFrameRlz
Reference frame realizations. For general systems, see RefFrameSys.
Definition: RefFrameRlz.hpp:51
gnsstk::RefFrame::operator<
bool operator<(const RefFrame &right) const noexcept
Ordering for maps etc.
Definition: RefFrame.cpp:86
gnsstk::RefFrame
Definition: RefFrame.hpp:53
gnsstk
For Sinex::InputHistory.
Definition: BasicFramework.cpp:50
gnsstk::operator<<
std::ostream & operator<<(std::ostream &s, const ObsEpoch &oe) noexcept
Definition: ObsEpochMap.cpp:54
gnsstk::CommonTime
Definition: CommonTime.hpp:84
gnsstk::RefFrame::operator!=
bool operator!=(const RefFrame &right) const noexcept
Compare this with right.
Definition: RefFrame.hpp:87
gnsstk::RefFrameSys
RefFrameSys
Reference frame systems. For specific realizations, see RefFrameRlz.
Definition: RefFrameSys.hpp:51
gnsstk::RefFrame::getSystem
RefFrameSys getSystem() const noexcept
Return the reference frame system represented by this object.
Definition: RefFrame.hpp:92
ReferenceFrame.hpp
gnsstk::RefFramePair
std::pair< RefFrame, RefFrame > RefFramePair
A little something to use for TransformerMap.
Definition: RefFrame.hpp:117
gnsstk::RefFrame::operator<<
friend std::ostream & operator<<(std::ostream &s, const RefFrame &rf)
Definition: RefFrame.hpp:124
gnsstk::RefFrame::system
RefFrameSys system
The reference frame system this object represents.
Definition: RefFrame.hpp:108


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:40