Isis 3 Programmer Reference
|
A container for the information stored in a version 3 and 4 ControlPoint. More...
#include <ControlPointV0003.h>
Public Member Functions | |
ControlPointV0003 (PvlObject &pointObject) | |
Create a ControlPointV0003 object from a version 3 or 4 control point Pvl object. More... | |
ControlPointV0003 (QSharedPointer< ControlPointFileEntryV0002 > pointData) | |
Create a ControlPointV0003 object from a protobuf version 2 control point message. More... | |
ControlPointV0003 (ControlPointV0002 &oldPoint) | |
Create a ControlPointV0003 object from a ControlPointV0002 object. More... | |
const ControlPointFileEntryV0002 & | pointData () |
Access the protobuf control point data. More... | |
Private Member Functions | |
ControlPointV0003 () | |
Default constructor. More... | |
ControlPointV0003 (const ControlPointV0003 &other) | |
Copy constructor. More... | |
ControlPointV0003 & | operator= (const ControlPointV0003 &other) |
Assignment operator. More... | |
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 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, QSharedPointer< ControlPointFileEntryV0002 > point, void(ControlPointFileEntryV0002::*setter)(double)) |
This convenience method takes a double value from a PvlKeyword and copies it into a version 2 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, QSharedPointer< ControlPointFileEntryV0002 > point, void(ControlPointFileEntryV0002::*setter)(const std::string &)) |
This convenience method takes a string value from a PvlKeyword and copies it into a version 2 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, ControlPointFileEntryV0002_Measure &measure, void(ControlPointFileEntryV0002_Measure::*setter)(bool)) |
This convenience method takes a boolean value from a PvlKeyword and copies it into a version 2 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, ControlPointFileEntryV0002_Measure &measure, void(ControlPointFileEntryV0002_Measure::*setter)(double)) |
This convenience method takes a double value from a PvlKeyword and copies it into a version 2 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, ControlPointFileEntryV0002_Measure &measure, void(ControlPointFileEntryV0002_Measure::*setter)(const std::string &)) |
This convenience method takes a string value from a PvlKeyword and copies it into a version 2 protobuf field. More... | |
Private Attributes | |
QSharedPointer< ControlPointFileEntryV0002 > | m_pointData |
protobuf container that holds information used to create a control point. More... | |
A container for the information stored in a version 3 and 4 ControlPoint.
A wrapper around the version 3 and 4 protobuf serialization of a ControlPoint. It allows for reading ControlPoints serialized as both PvlObjects and protobuf messages. It also allows for upgrading version 2 ControlPoints to version 3 and 4 ControlPoints.
The version 3 and 4 binary serialization of ControlPoint use the same protobuf message, so this class works with both versions. The difference between the version 3 and 4 Pvl serializations is Ground and Tie points were renamed to Fixed and Free respectively. This is sufficiently minor that it is handled in the pvl constructor.
In the Pvl format, control points are represented by objects contained in the ControlNetwork object. Control measures are represented by groups contained in the control point objects.
Valid Control Point Keywords
Valid Control Measure Keywords
2017-12-14 Jesse Mapel - Original version.
2017-12-21 Jesse Mapel - Added support for measure log data.
2017-12-21 Adam Goins - Changed Pvl constructor to take PvlObject.
2017-12-21 Adam Goins - Changed Pvl constructor to not used the deprecated "ToProtocolBuffer()" call from ControlMeasureLogData.
2018-01-03 Jesse Mapel - Improved documentation.
2017-01-27 Jesse Mapel - More documentation improvements.
Definition at line 174 of file ControlPointV0003.h.
Isis::ControlPointV0003::ControlPointV0003 | ( | PvlObject & | pointObject | ) |
Create a ControlPointV0003 object from a version 3 or 4 control point Pvl object.
pointObject | The control point and its measures in a Pvl object |
Definition at line 32 of file ControlPointV0003.cpp.
References _FILEINFO_, copy(), Isis::PvlObject::hasKeyword(), m_pointData, and Isis::IException::User.
Isis::ControlPointV0003::ControlPointV0003 | ( | QSharedPointer< ControlPointFileEntryV0002 > | pointData | ) |
Create a ControlPointV0003 object from a protobuf version 2 control point message.
pointData | The protobuf message from a control net file. |
Definition at line 21 of file ControlPointV0003.cpp.
Isis::ControlPointV0003::ControlPointV0003 | ( | ControlPointV0002 & | oldPoint | ) |
Create a ControlPointV0003 object from a ControlPointV0002 object.
oldPoint | The PvlControlPointV0002 that will be upgraded to V0003. |
Definition at line 268 of file ControlPointV0003.cpp.
References _FILEINFO_, Isis::ControlPointV0002::logData(), m_pointData, Isis::ControlPointV0002::pointData(), and Isis::IException::User.
|
private |
Default constructor.
Intentionally un-implemented.
|
private |
Copy constructor.
Intentionally un-implemented.
other | The other ControlPointV0003 to copy from. |
|
private |
This convenience method takes a boolean value from a PvlKeyword and copies it into a version 2 protobuf field.
Once copied, the PvlKeyword is deleted.
If the keyword doesn't exist, this does nothing.
container | The PvlContainer representation of the control point that contains the PvlKeyword. | |
keyName | The name of the keyword to be copied. | |
[out] | point | The version 2 protobuf representation of the control point that the value will be copied into. |
setter | The protobuf mutator method that sets the value of the field in the protobuf representation. |
Definition at line 576 of file ControlPointV0003.cpp.
References Isis::PvlContainer::deleteKeyword(), and Isis::PvlContainer::hasKeyword().
Referenced by ControlPointV0003().
|
private |
This convenience method takes a double value from a PvlKeyword and copies it into a version 2 protobuf field.
Once copied, the PvlKeyword is deleted.
If the keyword doesn't exist, this does nothing.
container | The PvlContainer representation of the control point that contains the PvlKeyword. | |
keyName | The name of the keyword to be copied. | |
[out] | point | The version 2 protobuf representation of the control point that the value will be copied into. |
setter | The protobuf mutator method that sets the value of the field in the protobuf representation. |
Definition at line 609 of file ControlPointV0003.cpp.
References Isis::PvlContainer::deleteKeyword(), Isis::PvlContainer::hasKeyword(), and Isis::toDouble().
|
private |
This convenience method takes a string value from a PvlKeyword and copies it into a version 2 protobuf field.
Once copied, the PvlKeyword is deleted.
If the keyword doesn't exist, this does nothing.
container | The PvlContainer representation of the control point that contains the PvlKeyword. | |
keyName | The name of the keyword to be copied. | |
[out] | point | The version 2 protobuf representation of the control point that the value will be copied into. |
setter | The protobuf mutator method that sets the value of the field in the protobuf representation. |
Definition at line 638 of file ControlPointV0003.cpp.
References Isis::PvlContainer::deleteKeyword(), and Isis::PvlContainer::hasKeyword().
|
private |
This convenience method takes a boolean value from a PvlKeyword and copies it into a version 2 protobuf field.
Once copied, the PvlKeyword is deleted.
If the keyword doesn't exist, this does nothing.
container | The PvlContainer representation of the control measure that contains the PvlKeyword. | |
keyName | The name of the keyword to be copied. | |
[out] | measure | The version 2 protobuf representation of the control measure that the value will be copied into. |
setter | The protobuf mutator method that sets the value of the field in the protobuf representation. |
Definition at line 667 of file ControlPointV0003.cpp.
References Isis::PvlContainer::deleteKeyword(), and Isis::PvlContainer::hasKeyword().
|
private |
This convenience method takes a double value from a PvlKeyword and copies it into a version 2 protobuf field.
Once copied, the PvlKeyword is deleted.
If the keyword doesn't exist, this does nothing.
container | The PvlContainer representation of the control measure that contains the PvlKeyword. | |
keyName | The name of the keyword to be copied. | |
[out] | measure | The version 2 protobuf representation of the control measure that the value will be copied into. |
setter | The protobuf mutator method that sets the value of the field in the protobuf representation. |
Definition at line 700 of file ControlPointV0003.cpp.
References Isis::PvlContainer::deleteKeyword(), Isis::PvlContainer::hasKeyword(), and Isis::toDouble().
|
private |
This convenience method takes a string value from a PvlKeyword and copies it into a version 2 protobuf field.
Once copied, the PvlKeyword is deleted.
If the keyword doesn't exist, this does nothing.
container | The PvlContainer representation of the control measure that contains the PvlKeyword. | |
keyName | The name of the keyword to be copied. | |
[out] | measure | The version 2 protobuf representation of the control measure that the value will be into. |
setter | The protobuf mutator method that sets the value of the field in the protobuf representation. |
Definition at line 729 of file ControlPointV0003.cpp.
References Isis::PvlContainer::deleteKeyword(), and Isis::PvlContainer::hasKeyword().
|
private |
Assignment operator.
Intentionally un-implemented.
other | The other ControlPointV0003 to assign from. |
const ControlPointFileEntryV0002 & Isis::ControlPointV0003::pointData | ( | ) |
Access the protobuf control point data.
If there is not internal point data then default point data is returned. Note that default point data may be missing required fields.
Definition at line 553 of file ControlPointV0003.cpp.
References m_pointData.
Referenced by Isis::ControlNetVersioner::createPoint().
|
private |
protobuf container that holds information used to create a control point.
Definition at line 228 of file ControlPointV0003.h.
Referenced by ControlPointV0003(), and pointData().