Isis 3 Programmer Reference
ControlPointV0003.h
1 #ifndef ControlPointV0003_h
2 #define ControlPointV0003_h
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 #include <QSharedPointer>
13 
14 #include "ControlPointFileEntryV0002.pb.h"
15 
16 namespace Isis {
17  class ControlPointV0002;
18  class PvlObject;
19  class PvlContainer;
20 
161  public:
162  ControlPointV0003(PvlObject &pointObject);
165 
166  const ControlPointFileEntryV0002 &pointData();
167 
168  private:
187 
188  // methods for converting from Pvl to protobuf
189  void copy(PvlContainer &container,
190  QString keyName,
192  void (ControlPointFileEntryV0002::*setter)(bool));
193  void copy(PvlContainer &container,
194  QString keyName,
196  void (ControlPointFileEntryV0002::*setter)(double));
197  void copy(PvlContainer &container,
198  QString keyName,
200  void (ControlPointFileEntryV0002::*setter)(const std::string&));
201  void copy(PvlContainer &container,
202  QString keyName,
203  ControlPointFileEntryV0002_Measure &measure,
204  void (ControlPointFileEntryV0002_Measure::*setter)(bool));
205  void copy(PvlContainer &container,
206  QString keyName,
207  ControlPointFileEntryV0002_Measure &measure,
208  void (ControlPointFileEntryV0002_Measure::*setter)(double));
209  void copy(PvlContainer &container,
210  QString keyName,
211  ControlPointFileEntryV0002_Measure &measure,
212  void (ControlPointFileEntryV0002_Measure::*setter)(const std::string &));
213 
217  };
218 }
219 
220 #endif
Isis::PvlObject
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
Isis::ControlPointV0003::pointData
const ControlPointFileEntryV0002 & pointData()
Access the protobuf control point data.
Definition: ControlPointV0003.cpp:561
Isis::ControlPointV0003::copy
void copy(PvlContainer &container, QString keyName, QSharedPointer< ControlPointFileEntryV0002 > point, void(ControlPointFileEntryV0002::*setter)(bool))
This convenience method takes a boolean value from a PvlKeyword and copies it into a version 2 protob...
Definition: ControlPointV0003.cpp:584
Isis::ControlPointV0002
A container for the information stored in a version 2 ControlPoint.
Definition: ControlPointV0002.h:154
Isis::ControlPointV0003::ControlPointV0003
ControlPointV0003(const ControlPointV0003 &other)
Copy constructor.
Isis::ControlPointV0003::operator=
ControlPointV0003 & operator=(const ControlPointV0003 &other)
Assignment operator.
QSharedPointer< ControlPointFileEntryV0002 >
Isis::ControlPointV0003::m_pointData
QSharedPointer< ControlPointFileEntryV0002 > m_pointData
protobuf container that holds information used to create a control point.
Definition: ControlPointV0003.h:214
Isis::ControlPointV0003::ControlPointV0003
ControlPointV0003()
Default constructor.
Isis::ControlPointV0003
A container for the information stored in a version 3 and 4 ControlPoint.
Definition: ControlPointV0003.h:160
Isis::PvlContainer
Contains more than one keyword-value pair.
Definition: PvlContainer.h:49
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16