Isis 3 Programmer Reference
Isis::LidarControlPoint Class Reference

A lidar control ControlPoint. More...

#include <LidarControlPoint.h>

Inheritance diagram for Isis::LidarControlPoint:
Inheritance graph
Collaboration diagram for Isis::LidarControlPoint:
Collaboration graph

Classes

struct  LidarControlPointLessThanFunctor
 

Public Types

enum  PointType { Fixed = 0 , Constrained = 1 , Free = 2 }
 These are the valid 'types' of point. More...
 
enum  Status { Failure , Success , PointLocked }
 This is a return status for many of the mutating (setter) method calls. More...
 
enum  ConstraintStatus { Coord1Constrained = 0 , Coord2Constrained = 1 , Coord3Constrained = 2 }
 This is a convenience member for checking number of constrained coordinates in the SurfacePoint. More...
 
enum  ModType { EditLockModified , IgnoredModified , TypeModified }
 Control Point Modification Types. More...
 

Public Member Functions

 LidarControlPoint ()
 Constructs a LidarControlPoint with the given time, range, and sigma range.
 
 ~LidarControlPoint ()
 Destructor.
 
ControlPoint::Status setRange (double range)
 Set the range of the LidarControlPoint.
 
ControlPoint::Status setSigmaRange (double sigmaRange)
 Sets the sigma range.
 
ControlPoint::Status setTime (iTime time)
 Set the time of the LidarControlPoint.
 
ControlPoint::Status addSimultaneous (QString newSerial)
 Add a measure to the list of simultaneous images of a LidarControlPoint.
 
ControlPoint::Status ComputeResiduals ()
 TODO: clean up code and document why this is different from the ComputeResiduals method for a normal photogrammetric control point.
 
double range ()
 Returns the range of the point.
 
double sigmaRange ()
 Returns the sigma range of the point.
 
iTime time ()
 Returns the time of the point.
 
QStringList snSimultaneous () const
 Returns the list of serial numbers of simultaneous images of the Lidar point.
 
bool isSimultaneous (QString serialNumber)
 Determines if input serial number is in list of simultaneous measure serial numbers.
 
ControlNetParent ()
 
void Load (PvlObject &p)
 Loads the PvlObject into a ControlPoint.
 
void Add (ControlMeasure *measure)
 Add a measurement to the control point, taking ownership of the measure in the process.
 
int Delete (ControlMeasure *measure)
 Remove a measurement from the control point, deleting reference measure is allowed.
 
int Delete (QString serialNumber)
 Remove a measurement from the control point, deleting reference measure is allowed.
 
int Delete (int index)
 Remove a measurement from the control point, deleting reference measure is allowed.
 
Status ResetApriori ()
 Reset all the Apriori info to defaults.
 
const ControlMeasureGetMeasure (QString serialNumber) const
 Get a control measure based on its cube's serial number.
 
ControlMeasureGetMeasure (QString serialNumber)
 Get a control measure based on its cube's serial number.
 
const ControlMeasureGetMeasure (int index) const
 
ControlMeasureGetMeasure (int index)
 
bool HasRefMeasure () const
 Checks to see if a reference measure is set.
 
const ControlMeasureGetRefMeasure () const
 Get the reference control measure.
 
ControlMeasureGetRefMeasure ()
 Get the measure that is the reference directly.
 
Status SetChooserName (QString name)
 Set the point's chooser name.
 
Status SetDateTime (QString newDateTime)
 Set the point's last modified time.
 
Status SetEditLock (bool editLock)
 Set the EditLock state.
 
Status SetId (QString id)
 Sets the Id of the control point.
 
Status SetRefMeasure (ControlMeasure *cm)
 Set the point's reference measure.
 
Status SetRefMeasure (int index)
 Set the point's reference measure.
 
Status SetRefMeasure (QString sn)
 Set the points reference measure.
 
Status SetRejected (bool rejected)
 Set the jigsawRejected state.
 
Status SetIgnored (bool newIgnoreStatus)
 Set whether to ignore or use control point.
 
Status SetAdjustedSurfacePoint (SurfacePoint newSurfacePoint)
 Set or update the surface point relating to this control point.
 
Status SetType (PointType newType)
 Updates the control point's type.
 
Status SetAprioriRadiusSource (RadiusSource::Source source)
 This updates the source of the radius of the apriori surface point.
 
Status SetAprioriRadiusSourceFile (QString sourceFile)
 This updates the filename of the DEM that the apriori radius came from.
 
Status SetAprioriSurfacePoint (SurfacePoint aprioriSP)
 This updates the apriori surface point.
 
Status SetAprioriSurfacePointSource (SurfacePointSource::Source source)
 This updates the source of the surface point.
 
Status SetAprioriSurfacePointSourceFile (QString sourceFile)
 This updates the filename of where the apriori surface point came from.
 
Status ComputeApriori ()
 Computes a priori lat/lon/radius point coordinates by determining the average lat/lon/radius of all measures.
 
Status ComputeResiduals_Millimeters ()
 This method computes the residuals for a point.
 
SurfacePoint GetAdjustedSurfacePoint () const
 
SurfacePoint GetBestSurfacePoint () const
 Returns the adjusted surface point if it exists, otherwise returns the a priori surface point.
 
QString GetChooserName () const
 
QString GetDateTime () const
 
bool IsEditLocked () const
 
bool IsRejected () const
 
QString GetId () const
 Return the Id of the control point.
 
bool IsIgnored () const
 
bool IsValid () const
 
bool IsInvalid () const
 
bool IsFree () const
 Return bool indicating if point is Free or not.
 
bool IsFixed () const
 Return bool indicating if point is Fixed or not.
 
bool HasAprioriCoordinates ()
 
bool IsConstrained ()
 Return bool indicating if point is Constrained or not.
 
bool IsCoord1Constrained ()
 Return bool indicating if 1st coordinate is Constrained or not.
 
bool IsCoord2Constrained ()
 Return bool indicating if 2nd coordinate is Constrained or not.
 
bool IsCoord3Constrained ()
 Return bool indicating if 3rd coordinate is Constrained or not.
 
int NumberOfConstrainedCoordinates ()
 Return bool indicating if point is Constrained or not.
 
QString GetPointTypeString () const
 Obtain a string representation of the PointType.
 
PointType GetType () const
 
QString GetRadiusSourceString () const
 Obtain a string representation of the RadiusSource.
 
QString GetSurfacePointSourceString () const
 Obtain a string representation of the SurfacePointSource.
 
SurfacePoint GetAprioriSurfacePoint () const
 
RadiusSource::Source GetAprioriRadiusSource () const
 
bool HasAprioriRadiusSourceFile () const
 Checks to see if the radius source file has been set.
 
QString GetAprioriRadiusSourceFile () const
 
SurfacePointSource::Source GetAprioriSurfacePointSource () const
 
bool HasAprioriSurfacePointSourceFile () const
 Checks to see if the surface point source file has been set.
 
QString GetAprioriSurfacePointSourceFile () const
 
int GetNumMeasures () const
 
int GetNumValidMeasures () const
 
int GetNumLockedMeasures () const
 Returns the number of locked control measures.
 
bool HasSerialNumber (QString serialNumber) const
 Return true if given serial number exists in point.
 
bool HasChooserName () const
 Returns true if the choosername is not empty.
 
bool HasDateTime () const
 Returns true if the datetime is not empty.
 
int IndexOf (ControlMeasure *, bool throws=true) const
 
int IndexOf (QString sn, bool throws=true) const
 
int IndexOfRefMeasure () const
 
bool IsReferenceExplicit () const
 
QString GetReferenceSN () const
 
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 whenever a change is made to a Control Measure.
 
Statistics GetStatistic (double(ControlMeasure::*statFunc)() const) const
 This function will call a given method on every control measure that this point has.
 
Statistics GetStatistic (long dataType) const
 
QList< ControlMeasure * > getMeasures (bool excludeIgnored=false) const
 
QList< QString > getCubeSerialNumbers () const
 
const ControlMeasureoperator[] (QString serialNumber) const
 Same as GetMeasure (provided for convenience)
 
ControlMeasureoperator[] (QString serialNumber)
 Same as GetMeasure (provided for convenience)
 
const ControlMeasureoperator[] (int index) const
 Same as GetMeasure (provided for convenience)
 
ControlMeasureoperator[] (int index)
 Same as GetMeasure (provided for convenience)
 
bool operator!= (const ControlPoint &pPoint) const
 Compare two Control Points for inequality.
 
bool operator== (const ControlPoint &pPoint) const
 Compare two Control Points for equality.
 
void ZeroNumberOfRejectedMeasures ()
 Initialize the number of rejected measures to 0.
 
void SetNumberOfRejectedMeasures (int numRejected)
 Set (update) the number of rejected measures for the control point.
 
int GetNumberOfRejectedMeasures () const
 Get the number of rejected measures on the control point.
 
double GetSampleResidualRms () const
 Get rms of sample residuals.
 
double GetLineResidualRms () const
 Get rms of line residuals.
 
double GetResidualRms () const
 Get rms of residuals.
 
void ClearJigsawRejected ()
 Set jigsaw rejected flag for all measures to false and set the jigsaw rejected flag for the point itself to false.
 

Static Public Member Functions

static QString PointTypeToString (PointType type)
 Obtain a string representation of a given PointType.
 
static PointType StringToPointType (QString pointTypeString)
 Obtain a PointType given a string representation of it.
 
static QString RadiusSourceToString (RadiusSource::Source source)
 Obtain a string representation of a given RadiusSource.
 
static RadiusSource::Source StringToRadiusSource (QString str)
 Obtain a RadiusSource::Source from a string.
 
static QString SurfacePointSourceToString (SurfacePointSource::Source source)
 Obtain a string representation of a given SurfacePointSource.
 
static SurfacePointSource::Source StringToSurfacePointSource (QString str)
 Obtain a SurfacePoint::Source from a string.
 

Static Public Attributes

static const int PointTypeCount = 3
 

Protected Member Functions

void PointModified ()
 List of Control Measures.
 

Protected Attributes

QHash< QString, ControlMeasure * > * measures
 

Private Member Functions

void SetExplicitReference (ControlMeasure *measure)
 Explicitly defines a new reference measure by pointer.
 
void ValidateMeasure (QString serialNumber) const
 Throws an exception if none of the point's measures have the given serial number.
 
void AddMeasure (ControlMeasure *measure)
 Do the actual work of adding a measure to this point, without changing any extra data.
 

Private Attributes

double m_range
 range
 
double m_sigmaRange
 range sigma
 
iTime m_time
 time lidar point was acquired
 
QStringListm_snSimultaneous
 serial number(s) of simultaneous image(s)
 
ControlNetparentNetwork
 
QStringListcubeSerials
 
ControlMeasurereferenceMeasure
 
QString id
 This is the control point ID.
 
QString chooserName
 This is the user name of the person who last modified this control point.
 
QString dateTime
 This is the last modified date and time.
 
PointType type
 What this control point is tying together.
 
bool invalid
 If we forced a build that we would normally have thrown an exception for then this is set to true.
 
bool editLock
 This stores the edit lock state.
 
bool jigsawRejected
 This stores the jigsaw rejected state.
 
std::bitset< 3 > constraintStatus
 This stores the constraint status of the a priori SurfacePoint.
 
bool referenceExplicitlySet
 This indicates if a program has explicitely set the reference in this point or the implicit reference is still the current reference.
 
bool ignore
 True if we should preserve but ignore the entire control point and its measures.
 
SurfacePointSource::Source aprioriSurfacePointSource
 Where the apriori surface point originated from.
 
QString aprioriSurfacePointSourceFile
 FileName where the apriori surface point originated from.
 
RadiusSource::Source aprioriRadiusSource
 Where the apriori surface point's radius originated from, most commonly used by jigsaw.
 
QString aprioriRadiusSourceFile
 The name of the file that derives the apriori surface point's radius.
 
SurfacePoint aprioriSurfacePoint
 The apriori surface point.
 
SurfacePoint adjustedSurfacePoint
 This is the calculated, or aposterori, surface point.
 
int numberOfRejectedMeasures
 This parameter is used and maintained by BundleAdjust for the jigsaw application.
 

Detailed Description

A lidar control ControlPoint.

A lidar control point that extends from ControlPoint. Currently only works for LOLA data

Author
2018-01-29 Makayla Shepherd
See also
ControlPoint
History

2018-01-29 Makayla Shepherd Original version

2018-02-09 Ken Edmundson Added typedef forLidarControlPointQsp

2018-03-18 Debbie A. Cook Added Simultaneous measures

2019-02-23 Debbie A. Cook Added Functor Predicate struct to sort based on Id. This is needed for getting consistent output for comparing test data. References #5343.

2019-04-28 Ken Edmundson Modified ComputeResiduals method to correct lidar measure by it's residuals, i.e. by simply moving the measure to it's current, back-projected location in the image.

Definition at line 60 of file LidarControlPoint.h.

Member Enumeration Documentation

◆ ConstraintStatus

This is a convenience member for checking number of constrained coordinates in the SurfacePoint.

Definition at line 417 of file ControlPoint.h.

◆ ModType

Control Point Modification Types.

This enum is designed to represent the different types of modifications that can be made to a ControlPoint.

EditLockModified means that the Control Point had it's edit lock flag changed. IgnoredModified means that the Control Measure had it's ignored flag changed. TypeModified means that the ControlPoint::PointType for this control point was modified.

Definition at line 433 of file ControlPoint.h.

◆ PointType

These are the valid 'types' of point.

A point type defines what a point is tying together.

Enumerator
Fixed 

A Fixed point is a Control Point whose lat/lon is well established and should not be changed.

Some people will refer to this as a truth (i.e., ground truth). A fixed point can be identifed in one or more cubes. Historically this point was called a "Ground" point.

Constrained 

A Constrained point is a Control Point whose lat/lon/radius is somewhat established and should not be changed.

Free 

A Free point is a Control Point that identifies common measurements between two or more cubes.

While it could have a lat/lon, it is not necessarily correct and is subject to change. This is the most common type of control point. This point type floats freely in a bundle adjustment. Historically this point type was called "Tie".

Definition at line 366 of file ControlPoint.h.

◆ Status

This is a return status for many of the mutating (setter) method calls.

We chose to use return status' because often times ignoring them is the behavior the caller wants.

Enumerator
Failure 

This is returned when an operation cannot be performed due to a problem such as the point is ignored and the operation doesn't make sense.

Success 

This is returned when the operation successfully took effect.

PointLocked 

This is returned when the operation requires Edit Lock to be false but it is currently true.

The operation did not take effect.

Definition at line 395 of file ControlPoint.h.

Constructor & Destructor Documentation

◆ LidarControlPoint()

Isis::LidarControlPoint::LidarControlPoint ( )

Constructs a LidarControlPoint with the given time, range, and sigma range.

Definition at line 25 of file LidarControlPoint.cpp.

References m_range, m_sigmaRange, m_snSimultaneous, and m_time.

◆ ~LidarControlPoint()

Isis::LidarControlPoint::~LidarControlPoint ( )

Destructor.

Definition at line 38 of file LidarControlPoint.cpp.

References m_snSimultaneous.

Member Function Documentation

◆ Add()

void Isis::ControlPoint::Add ( ControlMeasure * measure)
inherited

Add a measurement to the control point, taking ownership of the measure in the process.

Parameters
measureThe ControlMeasure to add

Definition at line 222 of file ControlPoint.cpp.

References Isis::ControlPoint::AddMeasure(), and Isis::ControlPoint::PointModified().

Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::ControlNetVersioner::createPoint(), Isis::QnetTool::createPoint(), Isis::StereoTool::createPoint(), and Isis::MatchTool::createPoint().

◆ AddMeasure()

void Isis::ControlPoint::AddMeasure ( ControlMeasure * measure)
privateinherited

◆ addSimultaneous()

ControlPoint::Status Isis::LidarControlPoint::addSimultaneous ( QString newSerial)

Add a measure to the list of simultaneous images of a LidarControlPoint.

Parameters
timeThe serial number of the simultaneous image to add

Definition at line 94 of file LidarControlPoint.cpp.

References m_snSimultaneous, and Isis::ControlPoint::Success.

◆ ClearJigsawRejected()

void Isis::ControlPoint::ClearJigsawRejected ( )
inherited

Set jigsaw rejected flag for all measures to false and set the jigsaw rejected flag for the point itself to false.

Definition at line 2184 of file ControlPoint.cpp.

◆ ComputeApriori()

ControlPoint::Status Isis::ControlPoint::ComputeApriori ( )
inherited

Computes a priori lat/lon/radius point coordinates by determining the average lat/lon/radius of all measures.

Note that this does not change ignored, fixed or constrained points.

Also, it does not use unmeasured or ignored measures when computing lat/lon/radius.

(KLE) Note this not a rigorous triangulation considering outliers. A better way would be to... a) use e.g. a closest approach algorithm to find intersection of all rays, regardless of whether the intersection lies on the surface in question, then; b) perform a rigorous triangulation with some sort outlier detection approach, a robust estimation technique (perhaps RANSAC)

History

2008-06-18 Tracie Sucharski/Jeannie Walldren, Changed error messages for Held/Ground points.

2009-10-13 Jeannie Walldren - Added detail to error message.

2010-11-29 Tracie Sucharski - Remove call to ControlMeasure:: SetMeasuredEphemerisTime, the values were never used. so these methods were removed from ControlMeasure and the call was removed here.

2010-12-02 Debbie A. Cook - Added units to SetRectangular calls since default is meters and units are km.

2011-03-17 Debbie A. Cook - Added initialization of adjustedSurfacePoint to aprioriSurfacePoint and set test for empty covariance matrix to use 0. instead of nulls.

2011-03-24 Debbie A. Cook - Removed IsMeasured check since it was really checking for Candidate measures.

2011-07-12 Debbie A. Cook - Removed editLock test. Users agreed editLock was only for fixed and constrained points, which are already left unchanged by ComputeApriori. If a free point is editLocked the editLock will be ignored by this method.

2017-04-25 Debbie A. Cook - change constraint status calls to use generic coordinate names (Coord1, Coord2, and Coord3).

2019-03-10 Ken Edmundson - Fixed bug where focal plane measured x,y coordinates were not set if the cam->SetImage call failed. Setting the measured focal plane coordinates should not depend upon the success of the SetImage call (References #2591). Improved error messages. Cleaned up code. Added comments above to suggest a more rigorous approach to computing a priori point coordinates.

Returns
Status Success or PointLocked

Definition at line 895 of file ControlPoint.cpp.

References Isis::ControlPoint::adjustedSurfacePoint, Isis::ControlPoint::aprioriSurfacePoint, Isis::Camera::Camera(), Isis::Camera::Csm, Isis::ControlPoint::Free, Isis::ControlPoint::GetId(), Isis::ControlPoint::GetMeasure(), Isis::ControlPoint::GetType(), Isis::ControlPoint::IsConstrained(), Isis::ControlPoint::IsFixed(), Isis::Displacement::Kilometers, Isis::ControlPoint::NumberOfConstrainedCoordinates(), Isis::ControlPoint::PointModified(), Isis::IException::Programmer, Isis::ControlPoint::SetAprioriRadiusSource(), Isis::ControlPoint::SetAprioriSurfacePointSource(), Isis::SurfacePoint::SetRectangular(), Isis::ControlPoint::Success, and Isis::IException::User.

Referenced by Isis::ControlNet::ComputeApriori(), and Isis::BundleAdjust::init().

◆ ComputeResiduals()

ControlPoint::Status Isis::LidarControlPoint::ComputeResiduals ( )

TODO: clean up code and document why this is different from the ComputeResiduals method for a normal photogrammetric control point.

TODO: compute residuals is a misnomer, we are really moving the measure to it's new back- projected location in the image TODO: should code be special for radar?

*** Warning:  Only BundleAdjust and its applications should be
              using this method.
History
2019-02-26 Ken Edmundson, initial version.

Definition at line 169 of file LidarControlPoint.cpp.

References Isis::Camera::Camera(), Isis::Camera::DistortionMap(), Isis::ControlPoint::Failure, Isis::Camera::Line(), Isis::ControlPoint::PointModified(), Isis::Camera::Sample(), Isis::Camera::SetGround(), Isis::ControlPoint::Success, Isis::CameraDistortionMap::UndistortedFocalPlaneX(), and Isis::CameraDistortionMap::UndistortedFocalPlaneY().

◆ ComputeResiduals_Millimeters()

ControlPoint::Status Isis::ControlPoint::ComputeResiduals_Millimeters ( )
inherited

This method computes the residuals for a point.

History

2008-07-17 Tracie Sucharski - Added ptid and measure serial number to the unable to map to surface error.

2010-12-06 Tracie Sucharski - Renamed from ComputeErrors

2011-03-19 Debbie A. Cook - Changed to use the Camera classes like ComputeResiduals and get the correct calculations for each camera type.

2011-03-24 Debbie A. Cook - Removed IsMeasured check since it was really checking for Candidate measures.

2012-01-18 Debbie A. Cook - Made radar case the same as other instruments and removed incorrect call to SetResidual, which was setting focal plane residuals in x and y instead of image residuals in sample and line.

Definition at line 1188 of file ControlPoint.cpp.

References Isis::Camera::Camera(), Isis::Camera::Csm, Isis::ControlPoint::Failure, Isis::ControlPoint::PointModified(), and Isis::ControlPoint::Success.

Referenced by Isis::ControlPoint::ComputeResiduals().

◆ Delete() [1/3]

int Isis::ControlPoint::Delete ( ControlMeasure * measure)
inherited

Remove a measurement from the control point, deleting reference measure is allowed.

Parameters
measureThe measure to delete

Definition at line 352 of file ControlPoint.cpp.

References Isis::ControlPoint::Delete().

Referenced by Isis::ControlPoint::Delete(), Isis::ControlPoint::Delete(), Isis::MatchTool::deletePoint(), Isis::ControlNet::DeletePoint(), Isis::ControlNetFilter::FilterOutMeasuresBySerialNum(), Isis::ControlPointEditWidget::savePoint(), and Isis::QnetTool::savePoint().

◆ Delete() [2/3]

int Isis::ControlPoint::Delete ( int index)
inherited

Remove a measurement from the control point, deleting reference measure is allowed.

Parameters
indexThe index of the control measure to delete

Definition at line 363 of file ControlPoint.cpp.

References Isis::ControlPoint::Delete(), and Isis::IException::Programmer.

◆ Delete() [3/3]

int Isis::ControlPoint::Delete ( QString serialNumber)
inherited

Remove a measurement from the control point, deleting reference measure is allowed.

Parameters
serialNumberThe serial number of the measure to delete

Definition at line 289 of file ControlPoint.cpp.

References Isis::ControlNet::emitNetworkStructureModified(), Isis::ControlNet::measureDeleted(), Isis::ControlPoint::PointModified(), Isis::ControlPoint::referenceExplicitlySet, and Isis::ControlPoint::ValidateMeasure().

◆ emitMeasureModified()

void Isis::ControlPoint::emitMeasureModified ( ControlMeasure * measure,
ControlMeasure::ModType modType,
QVariant oldValue,
QVariant newValue )
inherited

This method is a wrapper to emit the measureModified() signal in the parent network is called whenever a change is made to a Control Measure.

Parameters
measureThe ControlMeasure* that was modified.
typeThe ControlMeasure::ModType indicating which modification occured.
oldValueThe oldValue before the change.
newValueThe new value that the change incorporated.

Definition at line 339 of file ControlPoint.cpp.

References Isis::ControlNet::emitMeasureModified().

◆ GetAdjustedSurfacePoint()

SurfacePoint Isis::ControlPoint::GetAdjustedSurfacePoint ( ) const
inherited

Definition at line 1278 of file ControlPoint.cpp.

◆ GetAprioriRadiusSource()

ControlPoint::RadiusSource::Source Isis::ControlPoint::GetAprioriRadiusSource ( ) const
inherited

Definition at line 1567 of file ControlPoint.cpp.

◆ GetAprioriRadiusSourceFile()

QString Isis::ControlPoint::GetAprioriRadiusSourceFile ( ) const
inherited

Definition at line 1672 of file ControlPoint.cpp.

◆ GetAprioriSurfacePoint()

SurfacePoint Isis::ControlPoint::GetAprioriSurfacePoint ( ) const
inherited

Definition at line 1562 of file ControlPoint.cpp.

◆ GetAprioriSurfacePointSource()

ControlPoint::SurfacePointSource::Source Isis::ControlPoint::GetAprioriSurfacePointSource ( ) const
inherited

Definition at line 1678 of file ControlPoint.cpp.

◆ GetAprioriSurfacePointSourceFile()

QString Isis::ControlPoint::GetAprioriSurfacePointSourceFile ( ) const
inherited

Definition at line 1693 of file ControlPoint.cpp.

◆ GetBestSurfacePoint()

SurfacePoint Isis::ControlPoint::GetBestSurfacePoint ( ) const
inherited

Returns the adjusted surface point if it exists, otherwise returns the a priori surface point.

Definition at line 1287 of file ControlPoint.cpp.

References Isis::ControlPoint::adjustedSurfacePoint, and Isis::ControlPoint::aprioriSurfacePoint.

◆ GetChooserName()

QString Isis::ControlPoint::GetChooserName ( ) const
inherited

Definition at line 1238 of file ControlPoint.cpp.

◆ getCubeSerialNumbers()

QList< QString > Isis::ControlPoint::getCubeSerialNumbers ( ) const
inherited
Returns
A list of cube serial numbers

Definition at line 1883 of file ControlPoint.cpp.

◆ GetDateTime()

QString Isis::ControlPoint::GetDateTime ( ) const
inherited

Definition at line 1258 of file ControlPoint.cpp.

◆ GetId()

QString Isis::ControlPoint::GetId ( ) const
inherited

Return the Id of the control point.

Returns
Control Point Id

Definition at line 1302 of file ControlPoint.cpp.

References Isis::ControlPoint::id.

Referenced by Isis::ControlPoint::AddMeasure(), Isis::ControlNetVitals::addPoint(), Isis::ControlNet::AddPoint(), Isis::ControlPoint::ComputeApriori(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createPoint(), Isis::StereoTool::createPoint(), Isis::Directory::deleteControlPoint(), Isis::ControlNetVitals::deletePoint(), Isis::ControlNet::DeletePoint(), Isis::MatchTool::deletePoint(), Isis::StereoTool::deletePoint(), Isis::MatchTool::exiting(), Isis::ControlPoint::GetReferenceSN(), Isis::ControlPoint::GetRefMeasure(), Isis::ControlPoint::GetRefMeasure(), Isis::ControlNet::GraphToString(), Isis::BundleControlPoint::id(), Isis::MatchTool::loadPoint(), Isis::StereoTool::loadPoint(), Isis::ControlNet::measureAdded(), Isis::MatchTool::measureSaved(), Isis::ControlNet::measureUnIgnored(), Isis::Directory::modifyControlPoint(), Isis::ControlPointGraphicsItem::paint(), Isis::ControlNet::pointAdded(), Isis::ControlNetVitals::pointModified(), Isis::ControlPointEditWidget::savePoint(), Isis::MatchTool::savePoint(), Isis::QnetTool::savePoint(), Isis::MatchTool::selectLeftMeasure(), Isis::MatchTool::selectRightMeasure(), Isis::ControlPoint::SetType(), Isis::ControlNetVersioner::toPvl(), Isis::MatchTool::updatePointInfo(), Isis::ControlNet::UpdatePointReference(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ GetLineResidualRms()

double Isis::ControlPoint::GetLineResidualRms ( ) const
inherited

Get rms of line residuals.

Returns
The rms of line residuals

Definition at line 2123 of file ControlPoint.cpp.

◆ GetMeasure() [1/4]

ControlMeasure * Isis::ControlPoint::GetMeasure ( int index)
inherited

Definition at line 429 of file ControlPoint.cpp.

◆ GetMeasure() [2/4]

const ControlMeasure * Isis::ControlPoint::GetMeasure ( int index) const
inherited

Definition at line 419 of file ControlPoint.cpp.

◆ GetMeasure() [3/4]

ControlMeasure * Isis::ControlPoint::GetMeasure ( QString serialNumber)
inherited

Get a control measure based on its cube's serial number.

Parameters
serialNumberserial number of measure to get
Returns
control measure with matching serial number

Definition at line 401 of file ControlPoint.cpp.

References Isis::ControlPoint::ValidateMeasure().

◆ GetMeasure() [4/4]

◆ getMeasures()

QList< ControlMeasure * > Isis::ControlPoint::getMeasures ( bool excludeIgnored = false) const
inherited
Parameters
excludeIgnoredIgnored measures are excluded if this is true. It is false by default.
Returns
A list of this points measures

Definition at line 1867 of file ControlPoint.cpp.

Referenced by Isis::ControlNet::DeletePoint(), Isis::ControlPointGraphicsItem::paint(), Isis::ControlNet::pointAdded(), Isis::ControlNet::pointIgnored(), and Isis::ControlNet::pointUnIgnored().

◆ GetNumberOfRejectedMeasures()

int Isis::ControlPoint::GetNumberOfRejectedMeasures ( ) const
inherited

Get the number of rejected measures on the control point.

Returns
The number of rejected measures on this control point

Definition at line 2082 of file ControlPoint.cpp.

Referenced by Isis::BundleControlPoint::numberOfRejectedMeasures().

◆ GetNumLockedMeasures()

int Isis::ControlPoint::GetNumLockedMeasures ( ) const
inherited

Returns the number of locked control measures.

Returns
Number of locked control measures

Definition at line 1724 of file ControlPoint.cpp.

◆ GetNumMeasures()

int Isis::ControlPoint::GetNumMeasures ( ) const
inherited

Definition at line 1698 of file ControlPoint.cpp.

◆ GetNumValidMeasures()

int Isis::ControlPoint::GetNumValidMeasures ( ) const
inherited

◆ GetPointTypeString()

QString Isis::ControlPoint::GetPointTypeString ( ) const
inherited

Obtain a string representation of the PointType.

Returns
A string representation of the PointType

Definition at line 1388 of file ControlPoint.cpp.

References Isis::ControlPoint::GetType(), and Isis::ControlPoint::PointTypeToString().

◆ GetRadiusSourceString()

QString Isis::ControlPoint::GetRadiusSourceString ( ) const
inherited

Obtain a string representation of the RadiusSource.

Returns
A string representation of the RadiusSource

Definition at line 1476 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriRadiusSource, and Isis::ControlPoint::RadiusSourceToString().

◆ GetReferenceSN()

◆ GetRefMeasure() [1/2]

ControlMeasure * Isis::ControlPoint::GetRefMeasure ( )
inherited

Get the measure that is the reference directly.

Definition at line 467 of file ControlPoint.cpp.

References Isis::ControlPoint::GetId(), Isis::ControlPoint::HasRefMeasure(), and Isis::IException::Programmer.

◆ GetRefMeasure() [2/2]

const ControlMeasure * Isis::ControlPoint::GetRefMeasure ( ) const
inherited

Get the reference control measure.

Returns
const reference measure for this point

Definition at line 454 of file ControlPoint.cpp.

References Isis::ControlPoint::GetId(), Isis::ControlPoint::HasRefMeasure(), and Isis::IException::Programmer.

Referenced by Isis::MatchTool::deletePoint(), and Isis::ControlMeasure::IsEditLocked().

◆ GetResidualRms()

double Isis::ControlPoint::GetResidualRms ( ) const
inherited

Get rms of residuals.

Returns
The rms of residuals

Definition at line 2154 of file ControlPoint.cpp.

Referenced by Isis::BundleControlPoint::residualRms().

◆ GetSampleResidualRms()

double Isis::ControlPoint::GetSampleResidualRms ( ) const
inherited

Get rms of sample residuals.

Returns
The rms of sample residuals

Definition at line 2092 of file ControlPoint.cpp.

◆ GetStatistic() [1/2]

Statistics Isis::ControlPoint::GetStatistic ( double(ControlMeasure::*)() const statFunc) const
inherited

This function will call a given method on every control measure that this point has.

Parameters
statFuncThe function to use for data collection
Returns
The gathered statistic
History
2011-03-08 Debbie A. Cook - Changed to get statistics for all point types and not just Candidate.

Definition at line 1836 of file ControlPoint.cpp.

References Isis::Statistics::AddData().

Referenced by Isis::ControlNet::AverageResidual(), Isis::QnetPointJigsawErrorFilter::filter(), and Isis::QnetPointRegistrationErrorFilter::filter().

◆ GetStatistic() [2/2]

Statistics Isis::ControlPoint::GetStatistic ( long dataType) const
inherited

Definition at line 1849 of file ControlPoint.cpp.

◆ GetSurfacePointSourceString()

QString Isis::ControlPoint::GetSurfacePointSourceString ( ) const
inherited

Obtain a string representation of the SurfacePointSource.

Returns
A string representation of the SurfacePointSource

Definition at line 1557 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriSurfacePointSource, and Isis::ControlPoint::SurfacePointSourceToString().

◆ GetType()

◆ HasAprioriCoordinates()

bool Isis::ControlPoint::HasAprioriCoordinates ( )
inherited

Definition at line 1573 of file ControlPoint.cpp.

◆ HasAprioriRadiusSourceFile()

bool Isis::ControlPoint::HasAprioriRadiusSourceFile ( ) const
inherited

Checks to see if the radius source file has been set.

Returns
bool True if the radius source file has been set.

Definition at line 1667 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriRadiusSourceFile.

Referenced by Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ HasAprioriSurfacePointSourceFile()

bool Isis::ControlPoint::HasAprioriSurfacePointSourceFile ( ) const
inherited

Checks to see if the surface point source file has been set.

Returns
bool True if the surface point source file has been set.

Definition at line 1688 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriSurfacePointSourceFile.

Referenced by Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ HasChooserName()

bool Isis::ControlPoint::HasChooserName ( ) const
inherited

Returns true if the choosername is not empty.

Definition at line 1248 of file ControlPoint.cpp.

References Isis::ControlPoint::chooserName.

◆ HasDateTime()

bool Isis::ControlPoint::HasDateTime ( ) const
inherited

Returns true if the datetime is not empty.

Definition at line 1253 of file ControlPoint.cpp.

References Isis::ControlPoint::dateTime.

◆ HasRefMeasure()

bool Isis::ControlPoint::HasRefMeasure ( ) const
inherited

◆ HasSerialNumber()

bool Isis::ControlPoint::HasSerialNumber ( QString serialNumber) const
inherited

Return true if given serial number exists in point.

Parameters
serialNumberThe serial number
Returns
True if point contains serial number, false if not

Definition at line 1742 of file ControlPoint.cpp.

Referenced by Isis::MatchTool::drawAllMeasurments(), Isis::StereoTool::paintViewport(), Isis::ControlPointEditWidget::savePoint(), Isis::QnetTool::savePoint(), and Isis::QnetNewMeasureDialog::setFiles().

◆ IndexOf() [1/2]

int Isis::ControlPoint::IndexOf ( ControlMeasure * cm,
bool throws = true ) const
inherited
Parameters
cmThe control measure to find the index of
throwsThrows an exception on failure instead of returning -1. Be aware that by default this is true!
Returns
The index of the passed in measure, or -1 on failure if throws is false.

Definition at line 1778 of file ControlPoint.cpp.

References Isis::ControlPoint::IndexOf().

Referenced by Isis::ControlPoint::IndexOf().

◆ IndexOf() [2/2]

int Isis::ControlPoint::IndexOf ( QString sn,
bool throws = true ) const
inherited
Parameters
snThe serial number of the control measure to find the index of
throwsThrows an exception on failure instead of returning -1. Be aware that by default this is true!
Returns
The index of the measure with serial number matching sn, or -1 on failure if throws is false.

Definition at line 1791 of file ControlPoint.cpp.

References Isis::IException::Programmer.

◆ IndexOfRefMeasure()

int Isis::ControlPoint::IndexOfRefMeasure ( ) const
inherited
Parameters
throwsThrows an exception on failure instead of returning -1. Be aware that by default this is true!
Returns
The index of the reference measure, or -1 if no measures exist in the point (A point with at least one measure ALWAYS has a reference measure.

Definition at line 1812 of file ControlPoint.cpp.

References Isis::ControlMeasure::GetCubeSerialNumber(), Isis::ControlPoint::HasRefMeasure(), and Isis::IException::Programmer.

Referenced by Isis::MatchTool::loadPoint(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ IsConstrained()

bool Isis::ControlPoint::IsConstrained ( )
inherited

Return bool indicating if point is Constrained or not.

Returns
bool indicating if point is Constrained or not.

Definition at line 1610 of file ControlPoint.cpp.

References Isis::ControlPoint::constraintStatus, Isis::ControlPoint::Free, and Isis::ControlPoint::type.

Referenced by Isis::ControlPoint::ComputeApriori().

◆ IsCoord1Constrained()

bool Isis::ControlPoint::IsCoord1Constrained ( )
inherited

Return bool indicating if 1st coordinate is Constrained or not.

This corresponds to Latitude for a Latitudinal solution or X for a Rectangular solution.

Returns
bool indicating if 1st coordinate is Constrained or not.

Definition at line 1626 of file ControlPoint.cpp.

References Isis::ControlPoint::constraintStatus.

Referenced by Isis::BundleControlPoint::setWeights(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ IsCoord2Constrained()

bool Isis::ControlPoint::IsCoord2Constrained ( )
inherited

Return bool indicating if 2nd coordinate is Constrained or not.

This corresponds to Longitude for a Latitudinal solution or Y for a Rectangular solution.

Returns
bool indicating if 2nd coordinate is Constrained or not.

Definition at line 1637 of file ControlPoint.cpp.

References Isis::ControlPoint::constraintStatus.

Referenced by Isis::BundleControlPoint::setWeights(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ IsCoord3Constrained()

bool Isis::ControlPoint::IsCoord3Constrained ( )
inherited

Return bool indicating if 3rd coordinate is Constrained or not.

This corresponds to Radius for a Latitudinal solution or Z for a Rectangular solution.

Returns
bool indicating if 3rd coordinate is Constrained or not.

Definition at line 1647 of file ControlPoint.cpp.

References Isis::ControlPoint::constraintStatus.

Referenced by Isis::BundleControlPoint::setWeights(), and Isis::ControlNetVersioner::writeFirstPoint().

◆ IsEditLocked()

bool Isis::ControlPoint::IsEditLocked ( ) const
inherited

Definition at line 1268 of file ControlPoint.cpp.

◆ IsFixed()

bool Isis::ControlPoint::IsFixed ( ) const
inherited

Return bool indicating if point is Fixed or not.

Returns
bool indicating if point is Fixed or not.

Definition at line 1600 of file ControlPoint.cpp.

References Isis::ControlPoint::Fixed, and Isis::ControlPoint::type.

Referenced by Isis::ControlPoint::ComputeApriori().

◆ IsFree()

bool Isis::ControlPoint::IsFree ( ) const
inherited

Return bool indicating if point is Free or not.

Returns
bool indicating if point is Free or not.

Definition at line 1590 of file ControlPoint.cpp.

References Isis::ControlPoint::Constrained, Isis::ControlPoint::Fixed, and Isis::ControlPoint::type.

◆ IsIgnored()

bool Isis::ControlPoint::IsIgnored ( ) const
inherited

Definition at line 1307 of file ControlPoint.cpp.

◆ IsInvalid()

bool Isis::ControlPoint::IsInvalid ( ) const
inherited

Definition at line 1317 of file ControlPoint.cpp.

◆ IsReferenceExplicit()

◆ IsRejected()

bool Isis::ControlPoint::IsRejected ( ) const
inherited

Definition at line 1273 of file ControlPoint.cpp.

◆ isSimultaneous()

bool Isis::LidarControlPoint::isSimultaneous ( QString serialNumber)

Determines if input serial number is in list of simultaneous measure serial numbers.

Parameters
serialNumberSerial number to check.
Returns
bool true if serialNumber is contained in m_snSimultaneous.

Definition at line 147 of file LidarControlPoint.cpp.

References m_snSimultaneous.

◆ IsValid()

bool Isis::ControlPoint::IsValid ( ) const
inherited

Definition at line 1312 of file ControlPoint.cpp.

◆ Load()

void Isis::ControlPoint::Load ( PvlObject & p)
inherited

Loads the PvlObject into a ControlPoint.

Parameters
pPvlObject containing ControlPoint information
forceBuildAllows invalid Control Measures to be added to this Control Point
Exceptions
Isis::iException::User- Invalid Point Type
Isis::iException::User- Unable to add ControlMeasure to Control Point
History

2008-06-18 Tracie Sucharski/Jeannie Walldren, Fixed bug with checking for "True" vs "true", change to lower case for comparison.

2009-12-29 Tracie Sucharski - Added new ControlPoint information.

2010-01-13 Tracie Sucharski - Changed from Set methods to simply setting private variables to increase speed?

2010-07-30 Tracie Sucharski, Updated for changes made after additional working sessions for Control network design.

2010-09-01 Tracie Sucharski, Add checks for AprioriLatLonSource AprioriLatLonSourceFile. If there are AprioriSigmas,but no AprioriXYZ, use the XYZ values.

2010-09-15 Tracie Sucharski, It was decided after mtg with Debbie, Stuart, Ken and Tracie that ControlPoint will only function with x/y/z, not lat/lon/radius. It will be the responsibility of the application or class using ControlPoint to set up a SurfacePoint object to do conversions between x/y/z and lat/lon/radius. So... remove all conversion methods from this class. It was also decided that when importing old networks that contain Sigmas, the sigmas will not be imported , due to conflicts with the units of the sigmas,we cannot get accurate x,y,z sigmas from the lat,lon,radius sigmas without the covariance matrix.

2010-09-28 Tracie Sucharski, Added back the conversion methods from lat,lon,radius to x,y,z only for the point, since that is what most applications need.

2010-12-02 Debbie A. Cook, Added units to SurfacePoint.SetSpherical calls.

2011-03-12 Debbie A. Cook, Added targetRadius to do conversions

Definition at line 211 of file ControlPoint.cpp.

◆ NumberOfConstrainedCoordinates()

int Isis::ControlPoint::NumberOfConstrainedCoordinates ( )
inherited

Return bool indicating if point is Constrained or not.

Returns
bool indicating if point is Constrained or not.

Definition at line 1657 of file ControlPoint.cpp.

References Isis::ControlPoint::constraintStatus.

Referenced by Isis::ControlPoint::ComputeApriori().

◆ operator!=()

bool Isis::ControlPoint::operator!= ( const ControlPoint & other) const
inherited

Compare two Control Points for inequality.

Parameters
otherThe other point to compare this one to
Returns
true if the two points are not equal, and false otherwise

Definition at line 1945 of file ControlPoint.cpp.

◆ operator==()

bool Isis::ControlPoint::operator== ( const ControlPoint & other) const
inherited

Compare two Control Points for equality.

Parameters
otherThe other point to compare to
Returns
true if the two points are equal, and false otherwise

Definition at line 1958 of file ControlPoint.cpp.

◆ operator[]() [1/4]

ControlMeasure * Isis::ControlPoint::operator[] ( int index)
inherited

Same as GetMeasure (provided for convenience)

Parameters
indexIf there are n measures, the measure returned will be the ith measure added to the point
Returns
The measure which has the provided serial number

Definition at line 1933 of file ControlPoint.cpp.

◆ operator[]() [2/4]

const ControlMeasure * Isis::ControlPoint::operator[] ( int index) const
inherited

Same as GetMeasure (provided for convenience)

Parameters
indexIf there are n measures, the measure returned will be the ith measure added to the point
Returns
const version of the measure which has the provided serial number

Definition at line 1920 of file ControlPoint.cpp.

◆ operator[]() [3/4]

ControlMeasure * Isis::ControlPoint::operator[] ( QString serialNumber)
inherited

Same as GetMeasure (provided for convenience)

Parameters
serialNumberCube serial number of desired control measure
Returns
The measure which has the provided serial number

Definition at line 1907 of file ControlPoint.cpp.

◆ operator[]() [4/4]

const ControlMeasure * Isis::ControlPoint::operator[] ( QString serialNumber) const
inherited

Same as GetMeasure (provided for convenience)

Parameters
serialNumberCube serial number of desired control measure
Returns
const version of the measure which has the provided serial number

Definition at line 1895 of file ControlPoint.cpp.

◆ Parent()

ControlNet * Isis::ControlPoint::Parent ( )
inlineinherited

Definition at line 468 of file ControlPoint.h.

◆ PointModified()

◆ PointTypeToString()

◆ RadiusSourceToString()

QString Isis::ControlPoint::RadiusSourceToString ( RadiusSource::Source source)
staticinherited

Obtain a string representation of a given RadiusSource.

Parameters
sourceRadiusSource to convert to string
Returns
A string representation of RadiusSource

Definition at line 1409 of file ControlPoint.cpp.

Referenced by Isis::ControlPoint::GetRadiusSourceString(), and Isis::Shape::save().

◆ range()

double Isis::LidarControlPoint::range ( )

Returns the range of the point.

Returns
double The range

Definition at line 105 of file LidarControlPoint.cpp.

References m_range.

Referenced by setRange().

◆ ResetApriori()

◆ SetAdjustedSurfacePoint()

ControlPoint::Status Isis::ControlPoint::SetAdjustedSurfacePoint ( SurfacePoint newSurfacePoint)
inherited

Set or update the surface point relating to this control point.

This is the point on the surface of the planet that the measures are tied to. This updates the last modified attributes of this point. *** Warning: Only BundleAdjust and its applications should be using this method.

Parameters
newSurfacePointThe point on the target's surface the measures are tied to
History
2011-07-01 Debbie A. Cook Removed editLock check

Definition at line 688 of file ControlPoint.cpp.

References Isis::ControlPoint::adjustedSurfacePoint, Isis::ControlPoint::PointModified(), and Isis::ControlPoint::Success.

Referenced by Isis::ControlNetVersioner::createPoint(), and Isis::BundleControlPoint::setAdjustedSurfacePoint().

◆ SetAprioriRadiusSource()

ControlPoint::Status Isis::ControlPoint::SetAprioriRadiusSource ( RadiusSource::Source source)
inherited

This updates the source of the radius of the apriori surface point.

See also
RadiusSource::Source
Parameters
sourceWhere the radius came from

Definition at line 732 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriRadiusSource, Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, Isis::ControlPoint::PointModified(), and Isis::ControlPoint::Success.

Referenced by Isis::ControlPoint::ComputeApriori(), and Isis::ControlNetVersioner::createPoint().

◆ SetAprioriRadiusSourceFile()

ControlPoint::Status Isis::ControlPoint::SetAprioriRadiusSourceFile ( QString sourceFile)
inherited

This updates the filename of the DEM that the apriori radius came from.

It doesn't really make sense to call this unless the RadiusSource is DEM.

See also
RadiusSource::Source
Parameters
sourceWhere the radius came from

Definition at line 751 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriRadiusSourceFile, Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, Isis::ControlPoint::PointModified(), and Isis::ControlPoint::Success.

Referenced by Isis::ControlNetVersioner::createPoint().

◆ SetAprioriSurfacePoint()

ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePoint ( SurfacePoint aprioriSP)
inherited

This updates the apriori surface point.

See also
SetAprioriRadiusSource
SetAprioriRadiusSourceFile
SetAprioriPointSource
SetAprioriPointSourceFile
aprioriSurfacePoint
Parameters
aprioriSPThe apriori surface point to remember
Todo
This method needs to be revisited. It will set the constraint status based on the sigmas and override the existing status.

Definition at line 775 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriSurfacePoint, Isis::ControlPoint::constraintStatus, Isis::ControlPoint::editLock, Isis::ControlNet::GetCoordType(), Isis::SurfacePoint::Latitudinal, Isis::ControlPoint::PointLocked, Isis::ControlPoint::PointModified(), Isis::SurfacePoint::Rectangular, and Isis::ControlPoint::Success.

Referenced by Isis::ControlNetVersioner::createPoint(), Isis::StereoTool::createPoint(), Isis::StereoTool::measureSaved(), and Isis::QnetSetAprioriDialog::setApriori().

◆ SetAprioriSurfacePointSource()

ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePointSource ( SurfacePointSource::Source source)
inherited

This updates the source of the surface point.

See also
SurfacePointSource::Source
Parameters
sourceWhere the surface point came from

Definition at line 817 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriSurfacePointSource, Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, Isis::ControlPoint::PointModified(), and Isis::ControlPoint::Success.

Referenced by Isis::ControlPoint::ComputeApriori(), Isis::ControlPointEditWidget::createControlPoint(), and Isis::ControlNetVersioner::createPoint().

◆ SetAprioriSurfacePointSourceFile()

ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePointSourceFile ( QString sourceFile)
inherited

This updates the filename of where the apriori surface point came from.

See also
RadiusSource::Source
Parameters
sourceFileWhere the surface point came from

Definition at line 835 of file ControlPoint.cpp.

References Isis::ControlPoint::aprioriSurfacePointSourceFile, Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, Isis::ControlPoint::PointModified(), and Isis::ControlPoint::Success.

Referenced by Isis::ControlPointEditWidget::createControlPoint(), and Isis::ControlNetVersioner::createPoint().

◆ SetChooserName()

ControlPoint::Status Isis::ControlPoint::SetChooserName ( QString name)
inherited

Set the point's chooser name.

This will be lost if any attributes relating to this point is later changed and the current user will be set. This is one of the 'last modified attributes' referred to in other comments.

Parameters
nameThe username of the person who last modified this control point

Definition at line 484 of file ControlPoint.cpp.

References Isis::ControlPoint::chooserName, Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, and Isis::ControlPoint::Success.

Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::ControlNetVersioner::createPoint(), Isis::QnetTool::createPoint(), and Isis::MatchTool::createPoint().

◆ SetDateTime()

ControlPoint::Status Isis::ControlPoint::SetDateTime ( QString newDateTime)
inherited

Set the point's last modified time.

This will be lost if any attributes relating to this point are later changed and the current time will be set. This is one of the 'last modified attributes' referred to in other comments.

Parameters
newDateTimeThe date and time this control point was last modified

Definition at line 501 of file ControlPoint.cpp.

References Isis::ControlPoint::dateTime, Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, and Isis::ControlPoint::Success.

Referenced by Isis::ControlNetVersioner::createPoint().

◆ SetEditLock()

ControlPoint::Status Isis::ControlPoint::SetEditLock ( bool lock)
inherited

Set the EditLock state.

If edit lock is on, then most attributes relating to this point are not modifiable. Edit lock is like "Don't modify my attributes, but you can still modify my measures' attributes". The reference measure is implicitely edit locked if the point is edit locked.

Parameters
lockTrue to enable edit lock, false to disable it and allow the point to be modified.

Definition at line 519 of file ControlPoint.cpp.

References Isis::ControlPoint::editLock, Isis::ControlNet::emitPointModified(), and Isis::ControlPoint::Success.

Referenced by Isis::ControlNetVersioner::createPoint(), Isis::CnetEditorWidget::filteredNetwork(), Isis::ControlNetFilter::FilterOutMeasuresBySerialNum(), Isis::ControlPoint::operator=(), Isis::MatchTool::setLockPoint(), and Isis::MatchTool::updatePointInfo().

◆ SetExplicitReference()

void Isis::ControlPoint::SetExplicitReference ( ControlMeasure * measure)
privateinherited

Explicitly defines a new reference measure by pointer.

This assumes the point already has ownership over this pointer. As part of the explicit definition process, the reference will attempt to be made ignored if the measure will allow it.

In the past, setting an explicit reference would also attempt to set the new reference to un-ignored (this would only fail if the measure was "Edit Locked"). This blanket rule was removed, however, because the bundle adjustment processing phase could often intentionally set references to ignored, and in some instances (e.g., merging a partial network back into the base network) this rule would mistakenly set those properly ignored references back to un-ignored. While this rule made sense for the registration phase of processing, it clearly caused problems during bundle adjustment and merging.

Parameters
measureThe new reference measure

Definition at line 637 of file ControlPoint.cpp.

References Isis::ControlPoint::referenceExplicitlySet.

Referenced by Isis::ControlPoint::SetRefMeasure(), Isis::ControlPoint::SetRefMeasure(), and Isis::ControlPoint::SetRefMeasure().

◆ SetId()

ControlPoint::Status Isis::ControlPoint::SetId ( QString newId)
inherited

Sets the Id of the control point.

Parameters
idControl Point Id
Returns
(int) status Success or PointLocked

Definition at line 549 of file ControlPoint.cpp.

References Isis::ControlPoint::editLock, Isis::ControlPoint::id, Isis::ControlPoint::PointLocked, Isis::ControlPoint::Success, and Isis::ControlNet::UpdatePointReference().

Referenced by Isis::ControlNetVersioner::createPoint().

◆ SetIgnored()

◆ SetNumberOfRejectedMeasures()

void Isis::ControlPoint::SetNumberOfRejectedMeasures ( int numRejected)
inherited

Set (update) the number of rejected measures for the control point.

Parameters
numRejectedThe number of rejected measures

Definition at line 2071 of file ControlPoint.cpp.

Referenced by Isis::BundleControlPoint::setNumberOfRejectedMeasures().

◆ setRange()

ControlPoint::Status Isis::LidarControlPoint::setRange ( double range)

Set the range of the LidarControlPoint.

Parameters
rangeThe range to set

Definition at line 66 of file LidarControlPoint.cpp.

References m_range, Isis::ControlPoint::PointLocked, range(), and Isis::ControlPoint::Success.

◆ SetRefMeasure() [1/3]

ControlPoint::Status Isis::ControlPoint::SetRefMeasure ( ControlMeasure * cm)
inherited

Set the point's reference measure.

Parameters
cmThe new reference measure

Definition at line 567 of file ControlPoint.cpp.

References Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, Isis::ControlPoint::SetExplicitReference(), and Isis::ControlPoint::Success.

Referenced by Isis::ControlPoint::ControlPoint(), and Isis::ControlNetVersioner::createPoint().

◆ SetRefMeasure() [2/3]

ControlPoint::Status Isis::ControlPoint::SetRefMeasure ( int index)
inherited

Set the point's reference measure.

Parameters
indexThe index of the new reference measure

Definition at line 582 of file ControlPoint.cpp.

References Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, Isis::IException::Programmer, Isis::ControlPoint::SetExplicitReference(), Isis::ControlPoint::Success, and Isis::toString().

◆ SetRefMeasure() [3/3]

ControlPoint::Status Isis::ControlPoint::SetRefMeasure ( QString sn)
inherited

Set the points reference measure.

Parameters
snThe serial number of the new reference measure

Definition at line 603 of file ControlPoint.cpp.

References Isis::ControlPoint::editLock, Isis::ControlPoint::PointLocked, Isis::IException::Programmer, Isis::ControlPoint::SetExplicitReference(), and Isis::ControlPoint::Success.

◆ SetRejected()

ControlPoint::Status Isis::ControlPoint::SetRejected ( bool reject)
inherited

Set the jigsawRejected state.

If IsRejected is true, then this point should be ignored until the next iteration in the bundle adjustement. BundleAdjust decides when to reject or accept a point. The initial IsRejected state of a measure is false.

Parameters
rejectTrue to reject a measure, false to include it in the adjustment

Definition at line 536 of file ControlPoint.cpp.

References Isis::ControlPoint::jigsawRejected, and Isis::ControlPoint::Success.

Referenced by Isis::ControlNetVersioner::createPoint(), and Isis::BundleControlPoint::setRejected().

◆ setSigmaRange()

ControlPoint::Status Isis::LidarControlPoint::setSigmaRange ( double sigmaRange)

Sets the sigma range.

Parameters
sigmaRangeThe sigma range to set

Definition at line 80 of file LidarControlPoint.cpp.

References m_sigmaRange, Isis::ControlPoint::PointLocked, sigmaRange(), and Isis::ControlPoint::Success.

◆ setTime()

ControlPoint::Status Isis::LidarControlPoint::setTime ( iTime time)

Set the time of the LidarControlPoint.

Parameters
timeThe time to set

Definition at line 52 of file LidarControlPoint.cpp.

References m_time, Isis::ControlPoint::PointLocked, Isis::ControlPoint::Success, and time().

◆ SetType()

◆ sigmaRange()

double Isis::LidarControlPoint::sigmaRange ( )

Returns the sigma range of the point.

Returns
double The sigma range

Definition at line 125 of file LidarControlPoint.cpp.

References m_sigmaRange.

Referenced by setSigmaRange().

◆ snSimultaneous()

QStringList Isis::LidarControlPoint::snSimultaneous ( ) const

Returns the list of serial numbers of simultaneous images of the Lidar point.

Returns
QStringList The list of serial numbers

Definition at line 135 of file LidarControlPoint.cpp.

References m_snSimultaneous.

◆ StringToPointType()

ControlPoint::PointType Isis::ControlPoint::StringToPointType ( QString pointTypeString)
staticinherited

Obtain a PointType given a string representation of it.

Parameters
pointTypeStringfor the requested PointType
Returns
the PointType for the given string

Definition at line 1355 of file ControlPoint.cpp.

References Isis::ControlPoint::Constrained, Isis::ControlPoint::Fixed, Isis::ControlPoint::Free, Isis::IException::Programmer, and Isis::ControlPoint::type.

◆ StringToRadiusSource()

ControlPoint::RadiusSource::Source Isis::ControlPoint::StringToRadiusSource ( QString str)
staticinherited

Obtain a RadiusSource::Source from a string.

Parameters
strstring to get a RadiusSource::Source from
Returns
The RadiusSource::Source matching the given string

Definition at line 1444 of file ControlPoint.cpp.

Referenced by Isis::Shape::XmlHandler::startElement().

◆ StringToSurfacePointSource()

ControlPoint::SurfacePointSource::Source Isis::ControlPoint::StringToSurfacePointSource ( QString str)
staticinherited

Obtain a SurfacePoint::Source from a string.

Parameters
strstring to get a SurfacePoint::Source from
Returns
The SurfacePint::Source matching the given string

Definition at line 1526 of file ControlPoint.cpp.

Referenced by Isis::Shape::XmlHandler::startElement().

◆ SurfacePointSourceToString()

QString Isis::ControlPoint::SurfacePointSourceToString ( SurfacePointSource::Source source)
staticinherited

Obtain a string representation of a given SurfacePointSource.

Parameters
souceSurfacePointSource to get a string representation of
Returns
A string representation of SurfacePointSource

Definition at line 1488 of file ControlPoint.cpp.

Referenced by Isis::ControlPoint::GetSurfacePointSourceString(), and Isis::Shape::save().

◆ time()

iTime Isis::LidarControlPoint::time ( )

Returns the time of the point.

Returns
double The time

Definition at line 115 of file LidarControlPoint.cpp.

References m_time.

Referenced by setTime().

◆ ValidateMeasure()

void Isis::ControlPoint::ValidateMeasure ( QString serialNumber) const
privateinherited

Throws an exception if none of the point's measures have the given serial number.

It is common to ensure that a measure exists before taking some action.

Parameters
snThe serial number of the measure to validate

Definition at line 274 of file ControlPoint.cpp.

References Isis::IException::Programmer.

Referenced by Isis::ControlPoint::Delete(), Isis::ControlPoint::GetMeasure(), and Isis::ControlPoint::GetMeasure().

◆ ZeroNumberOfRejectedMeasures()

void Isis::ControlPoint::ZeroNumberOfRejectedMeasures ( )
inherited

Initialize the number of rejected measures to 0.

Definition at line 2058 of file ControlPoint.cpp.

Referenced by Isis::BundleControlPoint::zeroNumberOfRejectedMeasures().

Member Data Documentation

◆ adjustedSurfacePoint

SurfacePoint Isis::ControlPoint::adjustedSurfacePoint
privateinherited

This is the calculated, or aposterori, surface point.

This is what most programs should be working with and updating.

Definition at line 712 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ComputeApriori(), Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::GetBestSurfacePoint(), and Isis::ControlPoint::SetAdjustedSurfacePoint().

◆ aprioriRadiusSource

RadiusSource::Source Isis::ControlPoint::aprioriRadiusSource
privateinherited

◆ aprioriRadiusSourceFile

QString Isis::ControlPoint::aprioriRadiusSourceFile
privateinherited

The name of the file that derives the apriori surface point's radius.

Definition at line 696 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::HasAprioriRadiusSourceFile(), Isis::ControlPoint::ResetApriori(), and Isis::ControlPoint::SetAprioriRadiusSourceFile().

◆ aprioriSurfacePoint

SurfacePoint Isis::ControlPoint::aprioriSurfacePoint
privateinherited

The apriori surface point.

This is the "known truth" or trustworthy point that should not be modified unless done very explicitely. This comes from places like hand picking where you really don't want the surface point to vary far from this point, but some variation is okay (1/10th of a pixel is fair for human accuracy for example). Very often this point does not exist.

Definition at line 706 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ComputeApriori(), Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::GetBestSurfacePoint(), Isis::ControlPoint::ResetApriori(), and Isis::ControlPoint::SetAprioriSurfacePoint().

◆ aprioriSurfacePointSource

SurfacePointSource::Source Isis::ControlPoint::aprioriSurfacePointSource
privateinherited

◆ aprioriSurfacePointSourceFile

QString Isis::ControlPoint::aprioriSurfacePointSourceFile
privateinherited

◆ chooserName

QString Isis::ControlPoint::chooserName
privateinherited

This is the user name of the person who last modified this control point.

Modifications are things like updating the surface point, but not things like updating the last modified time. The calculations relating to this control point have to actually change for this to be updated. This is an empty string if we need to dynamically get the username of the caller when asked for (or written to file).

Definition at line 628 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::HasChooserName(), and Isis::ControlPoint::SetChooserName().

◆ constraintStatus

◆ cubeSerials

QStringList* Isis::ControlPoint::cubeSerials
privateinherited

Definition at line 609 of file ControlPoint.h.

◆ dateTime

QString Isis::ControlPoint::dateTime
privateinherited

This is the last modified date and time.

This is updated automatically and works virtually in the same way as chooserName.

Definition at line 634 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::HasDateTime(), and Isis::ControlPoint::SetDateTime().

◆ editLock

◆ id

QString Isis::ControlPoint::id
privateinherited

This is the control point ID.

This is supposed to be a unique identifier for control points. This often has a number in it, and looks like "T0052" where the next one is "T0053" and so on.

Definition at line 618 of file ControlPoint.h.

Referenced by Isis::ControlPoint::GetId(), and Isis::ControlPoint::SetId().

◆ ignore

bool Isis::ControlPoint::ignore
privateinherited

True if we should preserve but ignore the entire control point and its measures.

Definition at line 679 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::ControlPoint(), and Isis::ControlPoint::SetIgnored().

◆ invalid

bool Isis::ControlPoint::invalid
privateinherited

If we forced a build that we would normally have thrown an exception for then this is set to true.

Otherwise, and most of the time, this is false.

Definition at line 647 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ControlPoint().

◆ jigsawRejected

bool Isis::ControlPoint::jigsawRejected
privateinherited

This stores the jigsaw rejected state.

See also
SetJigsawReject

Definition at line 659 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::ControlPoint(), and Isis::ControlPoint::SetRejected().

◆ m_range

double Isis::LidarControlPoint::m_range
private

range

Definition at line 92 of file LidarControlPoint.h.

Referenced by LidarControlPoint(), range(), and setRange().

◆ m_sigmaRange

double Isis::LidarControlPoint::m_sigmaRange
private

range sigma

Definition at line 93 of file LidarControlPoint.h.

Referenced by LidarControlPoint(), setSigmaRange(), and sigmaRange().

◆ m_snSimultaneous

QStringList* Isis::LidarControlPoint::m_snSimultaneous
private

serial number(s) of simultaneous image(s)

Definition at line 95 of file LidarControlPoint.h.

Referenced by addSimultaneous(), isSimultaneous(), LidarControlPoint(), snSimultaneous(), and ~LidarControlPoint().

◆ m_time

iTime Isis::LidarControlPoint::m_time
private

time lidar point was acquired

Definition at line 94 of file LidarControlPoint.h.

Referenced by LidarControlPoint(), setTime(), and time().

◆ measures

QHash< QString, ControlMeasure * >* Isis::ControlPoint::measures
protectedinherited

Definition at line 599 of file ControlPoint.h.

◆ numberOfRejectedMeasures

int Isis::ControlPoint::numberOfRejectedMeasures
privateinherited

This parameter is used and maintained by BundleAdjust for the jigsaw application.

It is stored here because ControlPoint contains the index of the measures.

Definition at line 719 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::ControlPoint(), and Isis::ControlPoint::ControlPoint().

◆ parentNetwork

ControlNet* Isis::ControlPoint::parentNetwork
privateinherited

Definition at line 607 of file ControlPoint.h.

◆ PointTypeCount

const int Isis::ControlPoint::PointTypeCount = 3
staticinherited

Definition at line 388 of file ControlPoint.h.

◆ referenceExplicitlySet

bool Isis::ControlPoint::referenceExplicitlySet
privateinherited

This indicates if a program has explicitely set the reference in this point or the implicit reference is still the current reference.

This is useful for programs that want to choose the reference for all points where this hasn't happened yet.

Definition at line 673 of file ControlPoint.h.

Referenced by Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::ControlPoint(), Isis::ControlPoint::Delete(), Isis::ControlPoint::IsReferenceExplicit(), and Isis::ControlPoint::SetExplicitReference().

◆ referenceMeasure

ControlMeasure* Isis::ControlPoint::referenceMeasure
privateinherited

Definition at line 611 of file ControlPoint.h.

◆ type


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