34 template<
typename A,
typename B >
class QHash;
41 class ControlPointFileEntryV0002;
44 class PBControlNet_PBControlPoint;
45 class PBControlNetLogData_Point;
371 static const int PointTypeCount = 3;
408 LongitudeConstrained = 1,
409 RadiusConstrained = 2,
453 int Delete(QString serialNumber);
493 QString GetChooserName()
const;
494 QString GetDateTime()
const;
495 bool IsEditLocked()
const;
496 bool IsRejected()
const;
497 QString
GetId()
const;
498 bool IsIgnored()
const;
499 bool IsValid()
const;
500 bool IsInvalid()
const;
501 bool IsFixed()
const;
503 bool HasAprioriCoordinates();
504 bool IsConstrained();
505 bool IsLatitudeConstrained();
506 bool IsLongitudeConstrained();
507 bool IsRadiusConstrained();
508 int NumberOfConstrainedCoordinates();
524 RadiusSource::Source GetAprioriRadiusSource()
const;
525 QString GetAprioriRadiusSourceFile()
const;
526 SurfacePointSource::Source GetAprioriSurfacePointSource()
const;
527 QString GetAprioriSurfacePointSourceFile()
const;
529 int GetNumMeasures()
const;
534 int IndexOf(QString sn,
bool throws =
true)
const;
570 void PointModified();
This class defines a body-fixed surface point.
double GetSampleResidualRms() const
Get rms of sample residuals.
Status SetAprioriSurfacePointSource(SurfacePointSource::Source source)
This updates the source of the surface point.
PointType GetType() const
void ZeroNumberOfRejectedMeasures()
Initialize the number of rejected measures to 0.
bool editLock
This stores the edit lock state.
void SetNumberOfRejectedMeasures(int numRejected)
Set (update) the number of rejected measures for the control point.
void Add(ControlMeasure *measure)
Add a measurement to the control point, taking ownership of the measure in the process.
SurfacePoint aprioriSurfacePoint
The apriori surface point.
A Constrained point is a Control Point whose lat/lon/radius is somewhat established and should not be...
A Fixed point is a Control Point whose lat/lon is well established and should not be changed...
Status ComputeApriori()
This method computes the apriori lat/lon for a point.
QString id
This is the control point ID.
Statistics GetStatistic(double(ControlMeasure::*statFunc)() const) const
This function will call a given method on every control measure that this point has.
Status SetAprioriRadiusSourceFile(QString sourceFile)
This updates the filename of the DEM that the apriori radius came from.
Status SetIgnored(bool newIgnoreStatus)
Set whether to ignore or use control point.
void ClearJigsawRejected()
Set jigsaw rejected flag for all measures to false and set the jigsaw rejected flag for the point its...
bool jigsawRejected
This stores the jigsaw rejected state.
QString GetPointTypeString() const
Obtain a string representation of the PointType.
PointType
These are the valid 'types' of point.
Status ComputeResiduals_Millimeters()
This method computes the residuals for a point.
int GetNumValidMeasures() const
const ControlMeasure * operator[](QString serialNumber) const
Same as GetMeasure (provided for convenience)
ControlNet * parentNetwork
List of Control Measures.
QString dateTime
This is the last modified date and time.
Status SetChooserName(QString name)
Set the point's chooser name.
Status SetEditLock(bool editLock)
Set the EditLock state.
ControlPoint()
Construct a control point.
const ControlMeasure * GetRefMeasure() const
Get the reference control measure.
Distance measurement, usually in meters.
ConstraintStatus
This is a convenience member for checking number of constrained coordinates in the SurfacePoint...
QString GetReferenceSN() const
Status SetAdjustedSurfacePoint(SurfacePoint newSurfacePoint)
Set or update the surface point relating to this control point.
A Free point is a Control Point that identifies common measurements between two or more cubes...
static QString SurfacePointSourceToString(SurfacePointSource::Source source)
Obtain a string representation of a given SurfacePointSource.
bool HasSerialNumber(QString serialNumber) const
Return true if given serial number exists in point.
SurfacePoint adjustedSurfacePoint
This is the calculated, or aposterori, surface point.
static QString RadiusSourceToString(RadiusSource::Source source)
Obtain a string representation of a given RadiusSource.
This class is used to accumulate statistics on double arrays.
Status SetAprioriSurfacePointSourceFile(QString sourceFile)
This updates the filename of where the apriori surface point came from.
QString GetRadiusSourceString() const
Obtain a string representation of the RadiusSource.
QString GetId() const
Return the Id of the control point.
static RadiusSource::Source StringToRadiusSource(QString str)
Obtain a RadiusSource::Source from a string.
Status SetDateTime(QString newDateTime)
Set the point's last modified time.
Status SetRefMeasure(ControlMeasure *cm)
Set the point's reference measure.
Status SetAprioriSurfacePoint(SurfacePoint aprioriSP)
This updates the apriori surface point.
SurfacePoint GetBestSurfacePoint() const
Returns the adjusted surface point if it exists, otherwise returns the a priori surface point...
This is returned when an operation cannot be performed due to a problem such as the point is ignored ...
bool referenceExplicitlySet
This indicates if a program has explicitely set the reference in this point or the implicit reference...
int IndexOf(ControlMeasure *, bool throws=true) const
const ControlPoint & operator=(const ControlPoint &pPoint)
bool IsReferenceExplicit() const
bool ignore
True if we should preserve but ignore the entire control point and its measures.
bool invalid
If we forced a build that we would normally have thrown an exception for then this is set to true...
~ControlPoint()
This destroys the current instance and cleans up any and all allocated memory.
Status SetRejected(bool rejected)
Set the jigsawRejected state.
Status SetType(PointType newType)
Updates the control point's type.
PointType type
What this control point is tying together.
Status SetId(QString id)
Sets the Id of the control point.
static SurfacePointSource::Source StringToSurfacePointSource(QString str)
Obtain a SurfacePoint::Source from a string.
void ValidateMeasure(QString serialNumber) const
Throws an exception if none of the point's measures have the given serial number. ...
Status
This is a return status for many of the mutating (setter) method calls.
SurfacePointSource::Source aprioriSurfacePointSource
Where the apriori surface point originated from.
void Load(PvlObject &p)
Loads the PvlObject into a ControlPoint.
void SetExplicitReference(ControlMeasure *measure)
Explicitly defines a new reference measure by pointer.
int numberOfRejectedMeasures
This parameter is used and maintained by BundleAdjust for the jigsaw application. ...
QString chooserName
This is the user name of the person who last modified this control point.
double GetResidualRms() const
Get rms of residuals.
QString aprioriRadiusSourceFile
The name of the file that derives the apriori surface point's radius.
bool operator==(const ControlPoint &pPoint) const
Compare two Control Points for equality.
QString aprioriSurfacePointSourceFile
FileName where the apriori surface point originated from.
int GetNumberOfRejectedMeasures() const
Get the number of rejected measures on the control point.
QList< ControlMeasure * > getMeasures(bool excludeIgnored=false) const
bool operator!=(const ControlPoint &pPoint) const
Compare two Control Points for inequality.
Status ResetApriori()
Reset all the Apriori info to defaults.
int GetNumLockedMeasures() const
Returns the number of locked control measures.
int Delete(ControlMeasure *measure)
Remove a measurement from the control point, deleting reference measure is allowed.
void AddMeasure(ControlMeasure *measure)
Do the actual work of adding a measure to this point, without changing any extra data.
QString GetSurfacePointSourceString() const
Obtain a string representation of the SurfacePointSource.
Contains Pvl Groups and Pvl Objects.
const ControlMeasure * GetMeasure(QString serialNumber) const
Get a control measure based on its cube's serial number.
QList< QString > getCubeSerialNumbers() const
static QString PointTypeToString(PointType type)
Obtain a string representation of a given PointType.
int IndexOfRefMeasure() const
std::bitset< 6 > constraintStatus
This stores the constraint status of the a priori SurfacePoint.
Status SetAprioriRadiusSource(RadiusSource::Source source)
This updates the source of the radius of the apriori surface point.
Status ComputeResiduals()
This method computes the BundleAdjust residuals for a point.
double GetLineResidualRms() const
Get rms of line residuals.
This is returned when the operation successfully took effect.
This is the status of constrained coordinates in the SurfacePoint.
static PointType StringToPointType(QString pointTypeString)
Obtain a PointType given a string representation of it.
This is returned when the operation requires Edit Lock to be false but it is currently true...
RadiusSource::Source aprioriRadiusSource
Where the apriori surface point's radius originated from, most commonly used by jigsaw.