35 template<
typename A,
typename B >
class QHash;
41 class ControlPointFileEntryV0002;
44 class PBControlNet_PBControlPoint;
45 class PBControlNetLogData_Point;
401 static const int PointTypeCount = 3;
431 Coord1Constrained = 0,
432 Coord2Constrained = 1,
433 Coord3Constrained = 2
487 int Delete(QString serialNumber);
529 QString GetChooserName()
const;
530 QString GetDateTime()
const;
531 bool IsEditLocked()
const;
532 bool IsRejected()
const;
533 QString
GetId()
const;
534 bool IsIgnored()
const;
535 bool IsValid()
const;
537 bool IsInvalid()
const;
540 bool HasAprioriCoordinates();
562 RadiusSource::Source GetAprioriRadiusSource()
const;
564 QString GetAprioriRadiusSourceFile()
const;
565 SurfacePointSource::Source GetAprioriSurfacePointSource()
const;
567 QString GetAprioriSurfacePointSourceFile()
const;
569 int GetNumMeasures()
const;
576 int IndexOf(QString sn,
bool throws =
true)
const;
This class defines a body-fixed surface point.
Status SetAprioriSurfacePointSource(SurfacePointSource::Source source)
This updates the source of the surface point.
bool HasSerialNumber(QString serialNumber) const
Return true if given serial number exists in point.
void ZeroNumberOfRejectedMeasures()
Initialize the number of rejected measures to 0.
bool IsReferenceExplicit() const
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.
double GetSampleResidualRms() const
Get rms of sample residuals.
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()
Computes a priori lat/lon/radius point coordinates by determining the average lat/lon/radius of all ...
bool IsFixed() const
Return bool indicating if point is Fixed or not.
QString id
This is the control point ID.
Status SetAprioriRadiusSourceFile(QString sourceFile)
This updates the filename of the DEM that the apriori radius came from.
bool IsCoord3Constrained()
Return bool indicating if 3rd coordinate is Constrained or not.
int GetNumberOfRejectedMeasures() const
Get the number of rejected measures on the control point.
const ControlMeasure * GetMeasure(QString serialNumber) const
Get a control measure based on its cube's serial number.
Status SetIgnored(bool newIgnoreStatus)
Set whether to ignore or use control point.
ModType
Control Measure Modification Types.
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.
PointType
These are the valid 'types' of point.
Status ComputeResiduals_Millimeters()
This method computes the residuals for a point.
QString GetReferenceSN() const
bool HasAprioriSurfacePointSourceFile() const
Checks to see if the surface point source file has been set.
ControlNet * parentNetwork
List of Control Measures.
QString GetRadiusSourceString() const
Obtain a string representation of the RadiusSource.
QString dateTime
This is the last modified date and time.
SurfacePoint GetBestSurfacePoint() const
Returns the adjusted surface point if it exists, otherwise returns the a priori surface point...
Status SetChooserName(QString name)
Set the point's chooser name.
Status SetEditLock(bool editLock)
Set the EditLock state.
ControlPoint()
Construct a control point.
int GetNumValidMeasures() const
double GetResidualRms() const
Get rms of residuals.
bool HasAprioriRadiusSourceFile() const
Checks to see if the radius source file has been set.
ConstraintStatus
This is a convenience member for checking number of constrained coordinates in the SurfacePoint...
Status SetAdjustedSurfacePoint(SurfacePoint newSurfacePoint)
Set or update the surface point relating to this control point.
Statistics GetStatistic(double(ControlMeasure::*statFunc)() const) const
This function will call a given method on every control measure that this point has.
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.
SurfacePoint adjustedSurfacePoint
This is the calculated, or aposterori, surface point.
static QString RadiusSourceToString(RadiusSource::Source source)
Obtain a string representation of a given RadiusSource.
bool operator!=(const ControlPoint &pPoint) const
Compare two Control Points for inequality.
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.
double GetLineResidualRms() const
Get rms of line residuals.
void emitMeasureModified(ControlMeasure *measure, ControlMeasure::ModType modType, QVariant oldValue, QVariant newValue)
This method is a wrapper to emit the measureModified() signal in the parent network is called wheneve...
QString GetSurfacePointSourceString() const
Obtain a string representation of the SurfacePointSource.
int GetNumLockedMeasures() const
Returns the number of locked control measures.
QString GetId() const
Return the Id of the control point.
const ControlMeasure * operator[](QString serialNumber) const
Same as GetMeasure (provided for convenience)
static RadiusSource::Source StringToRadiusSource(QString str)
Obtain a RadiusSource::Source from a string.
Status SetDateTime(QString newDateTime)
Set the point's last modified time.
bool IsCoord2Constrained()
Return bool indicating if 2nd coordinate is Constrained or not.
QList< QString > getCubeSerialNumbers() const
std::bitset< 3 > constraintStatus
This stores the constraint status of the a priori SurfacePoint.
Status SetRefMeasure(ControlMeasure *cm)
Set the point's reference measure.
bool IsFree() const
Return bool indicating if point is Free or not.
bool HasChooserName() const
Returns true if the choosername is not empty.
Status SetAprioriSurfacePoint(SurfacePoint aprioriSP)
This updates the apriori surface point.
QList< ControlMeasure *> getMeasures(bool excludeIgnored=false) const
bool IsCoord1Constrained()
Return bool indicating if 1st coordinate is Constrained or not.
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...
const ControlPoint & operator=(const ControlPoint &pPoint)
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.
ModType
Control Point Modification Types.
Status SetId(QString id)
Sets the Id of the control point.
static SurfacePointSource::Source StringToSurfacePointSource(QString str)
Obtain a SurfacePoint::Source from a string.
const ControlMeasure * GetRefMeasure() const
Get the reference control measure.
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.
bool HasRefMeasure() const
Checks to see if a reference measure is set.
QString aprioriRadiusSourceFile
The name of the file that derives the apriori surface point's radius.
QString aprioriSurfacePointSourceFile
FileName where the apriori surface point originated from.
int IndexOfRefMeasure() const
int IndexOf(ControlMeasure *, bool throws=true) const
QString GetPointTypeString() const
Obtain a string representation of the PointType.
Namespace for ISIS/Bullet specific routines.
bool IsConstrained()
Return bool indicating if point is Constrained or not.
Status ResetApriori()
Reset all the Apriori info to defaults.
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.
bool HasDateTime() const
Returns true if the datetime is not empty.
PointType GetType() const
int NumberOfConstrainedCoordinates()
Return bool indicating if point is Constrained or not.
Contains Pvl Groups and Pvl Objects.
void ValidateMeasure(QString serialNumber) const
Throws an exception if none of the point's measures have the given serial number. ...
static QString PointTypeToString(PointType type)
Obtain a string representation of a given PointType.
Status SetAprioriRadiusSource(RadiusSource::Source source)
This updates the source of the radius of the apriori surface point.
bool operator==(const ControlPoint &pPoint) const
Compare two Control Points for equality.
Status ComputeResiduals()
This method computes the BundleAdjust residuals for a point.
This is returned when the operation successfully took effect.
static PointType StringToPointType(QString pointTypeString)
Obtain a PointType given a string representation of it.
void PointModified()
What the heck is the point of this?
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.