Isis Developer Reference
Isis::ControlPointV0002 Class Reference

A container for the information stored in a version 2 ControlPoint. More...

#include <ControlPointV0002.h>

Collaboration diagram for Isis::ControlPointV0002:
Collaboration graph

Public Member Functions

 ControlPointV0002 (PvlObject &pointObject)
 Create a ControlPointV0002 object from a version 2 control point Pvl object.
 
 ControlPointV0002 (QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > pointData, QSharedPointer< ControlNetLogDataProtoV0001_Point > logData)
 Create a ControlPointV0002 object from a protobuf version 1 control point message.
 
 ControlPointV0002 (ControlPointV0001 &oldPoint)
 Create a version 2 control point from a version 1 control point.
 
QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > pointData ()
 Access the protobuf control point data.
 
QSharedPointer< ControlNetLogDataProtoV0001_Point > logData ()
 Access the protobuf log data for the control measures in the point.
 

Detailed Description

A container for the information stored in a version 2 ControlPoint.

A wrapper around the version 2 protobuf serialization of a ControlPoint. It allows for reading ControlPoints serialized as both PvlObjects and protobuf messages.

The version 1 and 2 control points use the same internal protobuf message format. Thus the "upgrade" process simply copies the shared pointer to the protobuf message.

Version 2 was the first version to have a standardized Pvl format. 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

  • PointId: The point ID string
  • ChooserName: The name of the application or user that last modified the point
  • DateTime: The date and time of the last modification to the point
  • AprioriXYZSource: What type of source the apriori ground point was calculated from. Options:
    • None
    • User
    • AverageOfMeasures
    • Reference
    • Basemap
    • BundleSolution
  • AprioriXYZSourceFile: The name of the file that the apriori ground point was calculated from
  • AprioriRadiusSource: What type of source the apriori point radius was calculated from. Options:
    • None
    • User
    • AverageOfMeasures
    • Ellipsoid
    • DEM
    • BundleSolution
  • AprioriRadiusSourceFile: The name of the file that the apriori point radius was calculated from
  • JigsawRejected: If the point was rejected by a bundle adjustment
  • EditLock: If the point is locked out of editing
  • Ignore: If the point will be ignored
  • AprioriX: The body fixed X coordinate of the a priori ground point in meters
  • AprioriY: The body fixed Y coordinate of the a priori ground point in meters
  • AprioriZ: The body fixed Z coordinate of the a priori ground point in meters
  • AdjustedX: The body fixed X coordinate of the adjusted ground point in meters
  • AdjustedY: The body fixed Y coordinate of the adjusted ground point in meters
  • AdjustedZ: The body fixed Z coordinate of the adjusted ground point in meters
  • LatitudeConstrained: If the latitude of the ground point is constrained
  • LongitudeConstrained: If the longitude of the ground point is constrained
  • RadiusConstrained: If the radius of the ground point is constrained
  • PointType: What type of point it is. Options:
    • Ground
    • Tie
  • AprioriCovarianceMatrix: A six element vector corresponding to the upper triangle; elements (0,0), (0,1), (0,2), (1,1), (1,2), and (2,2); of the 3x3, symmetric covariance matrix for the rectangular, a priori ground point.
  • AdjustedCovarianceMatrix: A six element vector corresponding to the upper triangle; elements (0,0), (0,1), (0,2), (1,1), (1,2), and (2,2); of the 3x3, symmetric covariance matrix for the rectangular, adjusted ground point.

Valid Control Measure Keywords

  • SerialNumber: The serial number of the cube the measure is from
  • ChooserName: The name of the application or user who last modified the measure
  • DateTime: The date and time of the last modification
  • Diameter: If the measure was selected from a crater, this is the diameter of the crater in meters
  • EditLock: If the measure is locked out of editing
  • Ignore: If the measure will be ignored
  • JigsawRejected: If the measure was rejected during a bundle adjustment
  • AprioriSample: The a priori sample
  • AprioriLine: The a priori line
  • SampleSigma: The standard deviation of the sample measurement
  • LineSigma: The standard deviation of the line measurement
  • Sample: The adjusted sample
  • Line: The adjusted line
  • SampleResidual: The difference between the a priori and adjusted sample
  • LineResidual: The difference between the a priori and adjusted line
  • Reference: If the measure is the reference measure for its point
  • MeasureType: What type of measure it is. Options:
    • candidate
    • manual
    • registeredpixel
    • registeredsubpixel
Author
2017-12-14 Jesse Mapel

Constructor & Destructor Documentation

◆ ControlPointV0002() [1/3]

Isis::ControlPointV0002::ControlPointV0002 ( PvlObject & pointObject)

Create a ControlPointV0002 object from a version 2 control point Pvl object.

Parameters
pointObjectThe control point and its measures in a Pvl object.

References _FILEINFO_, Isis::PvlContainer::deleteKeyword(), Isis::PvlContainer::hasKeyword(), Isis::IException::Io, Isis::PvlContainer::keywords(), Isis::PvlContainer::name(), Isis::IException::Programmer, Isis::toDouble(), and Isis::IException::User.

◆ ControlPointV0002() [2/3]

Isis::ControlPointV0002::ControlPointV0002 ( QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > pointData,
QSharedPointer< ControlNetLogDataProtoV0001_Point > logData )

Create a ControlPointV0002 object from a protobuf version 1 control point message.

Parameters
pointDataThe protobuf message from a control net file.
logDataThe accompanying protobuf control measure log data for the point.

◆ ControlPointV0002() [3/3]

Isis::ControlPointV0002::ControlPointV0002 ( ControlPointV0001 & oldPoint)

Create a version 2 control point from a version 1 control point.

The two versions internally store the same protobuf message, so all this does is copy the pointer to the internal protobuf object.

Note
Because the two points share the same container, modifications to one will affect the other.
Parameters
oldPointThe old version 1 control point.

Member Function Documentation

◆ logData()

QSharedPointer< ControlNetLogDataProtoV0001_Point > Isis::ControlPointV0002::logData ( )

Access the protobuf log data for the control measures in the point.

Returns
QSharedPointer<ControlNetLogDataProtoV0001_Point> A pointer to the internal measure log data.

◆ pointData()

QSharedPointer< ControlNetFileProtoV0001_PBControlPoint > Isis::ControlPointV0002::pointData ( )

Access the protobuf control point data.

Returns
QSharedPointer<ControlNetFileProtoV0001_PBControlPoint> A pointer to the internal point data.

The documentation for this class was generated from the following files: