Isis Developer Reference
ControlPointV0001.h
Go to the documentation of this file.
1#ifndef ControlPointV0001_h
2#define ControlPointV0001_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12 #include <QSharedPointer>
13
14 #include "ControlNetFileProtoV0001.pb.h"
15 #include "ControlNetLogDataProtoV0001.pb.h"
16
17namespace Isis {
18 class PvlObject;
19 class PvlContainer;
20
63 public:
64 ControlPointV0001(PvlObject &pointObject, const QString targetName);
65 ControlPointV0001(QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> pointData,
66 QSharedPointer<ControlNetLogDataProtoV0001_Point> logData);
67
68 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> pointData();
69 QSharedPointer<ControlNetLogDataProtoV0001_Point> logData();
70
71 private:
89 ControlPointV0001 &operator=(const ControlPointV0001 &other);
90
91 // methods for converting from Pvl to protobuf
92 void copy(PvlContainer &container,
93 QString keyName,
94 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> point,
95 void (ControlNetFileProtoV0001_PBControlPoint::*setter)(bool));
96 void copy(PvlContainer &container,
97 QString keyName,
98 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> point,
99 void (ControlNetFileProtoV0001_PBControlPoint::*setter)(double));
100 void copy(PvlContainer &container,
101 QString keyName,
102 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> point,
103 void (ControlNetFileProtoV0001_PBControlPoint::*setter)(const std::string&));
104 void copy(PvlContainer &container,
105 QString keyName,
106 ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure,
107 void (ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(bool));
108 void copy(PvlContainer &container,
109 QString keyName,
110 ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure,
111 void (ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(double));
112 void copy(PvlContainer &container,
113 QString keyName,
114 ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure,
115 void (ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(
116 const std::string &));
117
118 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> m_pointData;
120 QSharedPointer<ControlNetLogDataProtoV0001_Point> m_logData;
122 };
123}
124
125#endif
A container for the information stored in a version 1 ControlPoint.
Definition ControlPointV0001.h:62
QSharedPointer< ControlNetLogDataProtoV0001_Point > logData()
Access the protobuf log data for the control measures in the point.
Definition ControlPointV0001.cpp:575
QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > pointData()
Access the protobuf control point data.
Definition ControlPointV0001.cpp:564
Contains more than one keyword-value pair.
Definition PvlContainer.h:49
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16