Isis 3 Programmer Reference
ControlPointV0002.h
1#ifndef ControlPointV0002_h
2#define ControlPointV0002_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 ControlPointV0001;
19 class PvlObject;
20 class PvlContainer;
21
155 public:
156 ControlPointV0002(PvlObject &pointObject);
157 ControlPointV0002(QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> pointData,
158 QSharedPointer<ControlNetLogDataProtoV0001_Point> logData);
160
161 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> pointData();
162 QSharedPointer<ControlNetLogDataProtoV0001_Point> logData();
163
164 private:
183
184 // methods for converting from Pvl to protobuf
185 void copy(PvlContainer &container,
186 QString keyName,
187 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> point,
188 void (ControlNetFileProtoV0001_PBControlPoint::*setter)(bool));
189 void copy(PvlContainer &container,
190 QString keyName,
191 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> point,
192 void (ControlNetFileProtoV0001_PBControlPoint::*setter)(double));
193 void copy(PvlContainer &container,
194 QString keyName,
195 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> point,
196 void (ControlNetFileProtoV0001_PBControlPoint::*setter)(const std::string&));
197 void copy(PvlContainer &container,
198 QString keyName,
199 ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure,
200 void (ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(bool));
201 void copy(PvlContainer &container,
202 QString keyName,
203 ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure,
204 void (ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(double));
205 void copy(PvlContainer &container,
206 QString keyName,
207 ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure,
208 void (ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(
209 const std::string &));
210
211 QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> m_pointData;
213 QSharedPointer<ControlNetLogDataProtoV0001_Point> m_logData;
215 };
216}
217
218#endif
A container for the information stored in a version 1 ControlPoint.
A container for the information stored in a version 2 ControlPoint.
QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > m_pointData
protobuf container that holds information used to create a control point.
ControlPointV0002(const ControlPointV0002 &other)
Copy constructor.
QSharedPointer< ControlNetLogDataProtoV0001_Point > logData()
Access the protobuf log data for the control measures in the point.
QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > pointData()
Access the protobuf control point data.
QSharedPointer< ControlNetLogDataProtoV0001_Point > m_logData
Protobuf container that holds log data for the control measures in the point.
ControlPointV0002 & operator=(const ControlPointV0002 &other)
Assignment operator.
ControlPointV0002()
Default constructor.
void copy(PvlContainer &container, QString keyName, QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > point, void(ControlNetFileProtoV0001_PBControlPoint::*setter)(bool))
This convenience method takes a boolean value from a PvlKeyword and copies it into a version 1 protob...
Contains more than one keyword-value pair.
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
Namespace for the standard library.