Isis 3 Programmer Reference
|
A container for the information stored in a version 1 ControlPoint. More...
#include <ControlPointV0001.h>
Public Member Functions | |
ControlPointV0001 (PvlObject &pointObject, const QString targetName) | |
Create a ControlPointV0001 object from a version 1 control point Pvl object. More... | |
ControlPointV0001 (QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > pointData, QSharedPointer< ControlNetLogDataProtoV0001_Point > logData) | |
Create a ControlPointV0001 object from a protobuf version 1 control point message. More... | |
QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > | pointData () |
Access the protobuf control point data. More... | |
QSharedPointer< ControlNetLogDataProtoV0001_Point > | logData () |
Access the protobuf log data for the control measures in the point. More... | |
Private Member Functions | |
ControlPointV0001 () | |
Default constructor. More... | |
ControlPointV0001 (const ControlPointV0001 &other) | |
Copy constructor. More... | |
ControlPointV0001 & | operator= (const ControlPointV0001 &other) |
Assignment operator. More... | |
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 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > point, void(ControlNetFileProtoV0001_PBControlPoint::*setter)(double)) |
This convenience method takes a double value from a PvlKeyword and copies it into a version 1 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > point, void(ControlNetFileProtoV0001_PBControlPoint::*setter)(const std::string &)) |
This convenience method takes a string value from a PvlKeyword and copies it into a version 1 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure, void(ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(bool)) |
This convenience method takes a boolean value from a PvlKeyword and copies it into a version 1 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure, void(ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(double)) |
This convenience method takes a double value from a PvlKeyword and copies it into a version 1 protobuf field. More... | |
void | copy (PvlContainer &container, QString keyName, ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure &measure, void(ControlNetFileProtoV0001_PBControlPoint_PBControlMeasure::*setter)(const std::string &)) |
This convenience method takes a string value from a PvlKeyword and copies it into a version 1 protobuf field. More... | |
Private Attributes | |
QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > | m_pointData |
Protobuf container that holds information used to create a control point. More... | |
QSharedPointer< ControlNetLogDataProtoV0001_Point > | m_logData |
Protobuf container that holds log data for the control measures in the point. More... | |
A container for the information stored in a version 1 ControlPoint.
A wrapper around the version 1 protobuf serialization of a ControlPoint. It allows for reading ControlPoints serialized as both PvlObjects and protobuf messages.
This class is designed to be compatible with all Pvl formats created prior to the use of versioning. So, the PvlObject constructor has to work with several different formats. Hence, several different keywords are checked for the same value.
Because this version supports several different formats, there is no standardized set of keywords, but all version 1 Pvl control networks have the same high level structure. Control points are represented by objects contained in the ControlNetwork object. Control measures are represented by groups contained in the control point objects.
Once read in, the data is always stored in a protobuf message regardless of the source. This is done to optimize reading binary control network files. Because the protobuf format for version 1 control points is identical to the version 2 format, control points read from a version 1 file are automatically "converted" to version 2. This also makes the version 1 to 2 upgrade process as simple as passing a pointer.
2017-12-18 Jesse Mapel - Original version.
2017-12-21 Adam Goins - Changed Pvl constructor to take PvlObject.
2017-12-21 Jesse Mapel - Improved documentation.
2017-01-27 Jesse Mapel - More documentation improvements.
2018-06-28 Debbie A Cook - Removed all calls to obsolete method SurfacePoint::SetRadii. References #5457.
2018-07-11 Debbie A Cook - Removed obsolete tests for failure due to missing target radii. SurfacePoint now uses the local radius of the point to convert sigmas to target radii are no longer used. References #5457
Definition at line 76 of file ControlPointV0001.h.
Isis::ControlPointV0001::ControlPointV0001 | ( | PvlObject & | pointObject, |
const QString | targetName | ||
) |
Create a ControlPointV0001 object from a version 1 control point Pvl object.
pointObject | The control point and its measures in a Pvl object |
targetName | The name of the target |
Definition at line 41 of file ControlPointV0001.cpp.
References _FILEINFO_, copy(), Isis::Angle::Degrees, Isis::PvlContainer::deleteKeyword(), Isis::PvlObject::hasKeyword(), Isis::PvlContainer::keywords(), m_pointData, Isis::Distance::Meters, Isis::Displacement::meters(), Isis::toDouble(), and Isis::IException::User.
Isis::ControlPointV0001::ControlPointV0001 | ( | QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > | pointData, |
QSharedPointer< ControlNetLogDataProtoV0001_Point > | logData | ||
) |
Create a ControlPointV0001 object from a protobuf version 1 control point message.
pointData | The protobuf message from a control net file. |
logData | The accompanying protobuf control measure log data for the point. |
Definition at line 27 of file ControlPointV0001.cpp.
|
private |
Default constructor.
Intentionally un-implemented.
|
private |
Copy constructor.
Intentionally un-implemented.
other | The other ControlPointV0001 to copy from. |
|
private |
This convenience method takes a boolean value from a PvlKeyword and copies it into a version 1 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 1 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 586 of file ControlPointV0001.cpp.
References Isis::PvlContainer::deleteKeyword(), and Isis::PvlContainer::hasKeyword().
Referenced by ControlPointV0001().
|
private |
This convenience method takes a double value from a PvlKeyword and copies it into a version 1 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 1 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 619 of file ControlPointV0001.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 1 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 1 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 648 of file ControlPointV0001.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 1 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 1 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 677 of file ControlPointV0001.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 1 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 1 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 710 of file ControlPointV0001.cpp.
References Isis::PvlContainer::deleteKeyword(), Isis::PvlContainer::hasKeyword(), Isis::Null, and Isis::toDouble().
|
private |
This convenience method takes a string value from a PvlKeyword and copies it into a version 1 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 1 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 744 of file ControlPointV0001.cpp.
References Isis::PvlContainer::deleteKeyword(), and Isis::PvlContainer::hasKeyword().
QSharedPointer< ControlNetLogDataProtoV0001_Point > Isis::ControlPointV0001::logData | ( | ) |
Access the protobuf log data for the control measures in the point.
Definition at line 567 of file ControlPointV0001.cpp.
References m_logData.
|
private |
Assignment operator.
Intentionally un-implemented.
other | The other ControlPointV0001 to assign from. |
QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > Isis::ControlPointV0001::pointData | ( | ) |
Access the protobuf control point data.
Definition at line 556 of file ControlPointV0001.cpp.
References m_pointData.
|
private |
Protobuf container that holds log data for the control measures in the point.
Definition at line 134 of file ControlPointV0001.h.
Referenced by logData().
|
private |
Protobuf container that holds information used to create a control point.
Definition at line 132 of file ControlPointV0001.h.
Referenced by ControlPointV0001(), and pointData().