Isis 3 Programmer Reference
|
A single control point. More...
#include <ControlPoint.h>
Classes | |
struct | RadiusSource |
struct | SurfacePointSource |
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 | |
ControlPoint () | |
Construct a control point. More... | |
ControlPoint (const ControlPoint &) | |
Copy the given control point into this instance. More... | |
ControlPoint (const QString &id) | |
Construct a control point with given Id. More... | |
~ControlPoint () | |
This destroys the current instance and cleans up any and all allocated memory. More... | |
ControlNet * | Parent () |
void | Load (PvlObject &p) |
Loads the PvlObject into a ControlPoint. More... | |
void | Add (ControlMeasure *measure) |
Add a measurement to the control point, taking ownership of the measure in the process. More... | |
int | Delete (ControlMeasure *measure) |
Remove a measurement from the control point, deleting reference measure is allowed. More... | |
int | Delete (QString serialNumber) |
Remove a measurement from the control point, deleting reference measure is allowed. More... | |
int | Delete (int index) |
Remove a measurement from the control point, deleting reference measure is allowed. More... | |
Status | ResetApriori () |
Reset all the Apriori info to defaults. More... | |
const ControlMeasure * | GetMeasure (QString serialNumber) const |
Get a control measure based on its cube's serial number. More... | |
ControlMeasure * | GetMeasure (QString serialNumber) |
Get a control measure based on its cube's serial number. More... | |
const ControlMeasure * | GetMeasure (int index) const |
ControlMeasure * | GetMeasure (int index) |
bool | HasRefMeasure () const |
Checks to see if a reference measure is set. More... | |
const ControlMeasure * | GetRefMeasure () const |
Get the reference control measure. More... | |
ControlMeasure * | GetRefMeasure () |
Get the measure that is the reference directly. More... | |
Status | SetChooserName (QString name) |
Set the point's chooser name. More... | |
Status | SetDateTime (QString newDateTime) |
Set the point's last modified time. More... | |
Status | SetEditLock (bool editLock) |
Set the EditLock state. More... | |
Status | SetId (QString id) |
Sets the Id of the control point. More... | |
Status | SetRefMeasure (ControlMeasure *cm) |
Set the point's reference measure. More... | |
Status | SetRefMeasure (int index) |
Set the point's reference measure. More... | |
Status | SetRefMeasure (QString sn) |
Set the points reference measure. More... | |
Status | SetRejected (bool rejected) |
Set the jigsawRejected state. More... | |
Status | SetIgnored (bool newIgnoreStatus) |
Set whether to ignore or use control point. More... | |
Status | SetAdjustedSurfacePoint (SurfacePoint newSurfacePoint) |
Set or update the surface point relating to this control point. More... | |
Status | SetType (PointType newType) |
Updates the control point's type. More... | |
Status | SetAprioriRadiusSource (RadiusSource::Source source) |
This updates the source of the radius of the apriori surface point. More... | |
Status | SetAprioriRadiusSourceFile (QString sourceFile) |
This updates the filename of the DEM that the apriori radius came from. More... | |
Status | SetAprioriSurfacePoint (SurfacePoint aprioriSP) |
This updates the apriori surface point. More... | |
Status | SetAprioriSurfacePointSource (SurfacePointSource::Source source) |
This updates the source of the surface point. More... | |
Status | SetAprioriSurfacePointSourceFile (QString sourceFile) |
This updates the filename of where the apriori surface point came from. More... | |
Status | ComputeApriori () |
Computes a priori lat/lon/radius point coordinates by determining the average lat/lon/radius of all measures. More... | |
Status | ComputeResiduals () |
This method computes the BundleAdjust residuals for a point. More... | |
Status | ComputeResiduals_Millimeters () |
This method computes the residuals for a point. More... | |
SurfacePoint | GetAdjustedSurfacePoint () const |
SurfacePoint | GetBestSurfacePoint () const |
Returns the adjusted surface point if it exists, otherwise returns the a priori surface point. More... | |
QString | GetChooserName () const |
QString | GetDateTime () const |
bool | IsEditLocked () const |
bool | IsRejected () const |
QString | GetId () const |
Return the Id of the control point. More... | |
bool | IsIgnored () const |
bool | IsValid () const |
bool | IsInvalid () const |
bool | IsFree () const |
Return bool indicating if point is Free or not. More... | |
bool | IsFixed () const |
Return bool indicating if point is Fixed or not. More... | |
bool | HasAprioriCoordinates () |
bool | IsConstrained () |
Return bool indicating if point is Constrained or not. More... | |
bool | IsCoord1Constrained () |
Return bool indicating if 1st coordinate is Constrained or not. More... | |
bool | IsCoord2Constrained () |
Return bool indicating if 2nd coordinate is Constrained or not. More... | |
bool | IsCoord3Constrained () |
Return bool indicating if 3rd coordinate is Constrained or not. More... | |
int | NumberOfConstrainedCoordinates () |
Return bool indicating if point is Constrained or not. More... | |
QString | GetPointTypeString () const |
Obtain a string representation of the PointType. More... | |
PointType | GetType () const |
QString | GetRadiusSourceString () const |
Obtain a string representation of the RadiusSource. More... | |
QString | GetSurfacePointSourceString () const |
Obtain a string representation of the SurfacePointSource. More... | |
SurfacePoint | GetAprioriSurfacePoint () const |
RadiusSource::Source | GetAprioriRadiusSource () const |
bool | HasAprioriRadiusSourceFile () const |
Checks to see if the radius source file has been set. More... | |
QString | GetAprioriRadiusSourceFile () const |
SurfacePointSource::Source | GetAprioriSurfacePointSource () const |
bool | HasAprioriSurfacePointSourceFile () const |
Checks to see if the surface point source file has been set. More... | |
QString | GetAprioriSurfacePointSourceFile () const |
int | GetNumMeasures () const |
int | GetNumValidMeasures () const |
int | GetNumLockedMeasures () const |
Returns the number of locked control measures. More... | |
bool | HasSerialNumber (QString serialNumber) const |
Return true if given serial number exists in point. More... | |
bool | HasChooserName () const |
Returns true if the choosername is not empty. More... | |
bool | HasDateTime () const |
Returns true if the datetime is not empty. More... | |
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. More... | |
Statistics | GetStatistic (double(ControlMeasure::*statFunc)() const) const |
This function will call a given method on every control measure that this point has. More... | |
Statistics | GetStatistic (long dataType) const |
QList< ControlMeasure *> | getMeasures (bool excludeIgnored=false) const |
QList< QString > | getCubeSerialNumbers () const |
const ControlMeasure * | operator[] (QString serialNumber) const |
Same as GetMeasure (provided for convenience) More... | |
ControlMeasure * | operator[] (QString serialNumber) |
Same as GetMeasure (provided for convenience) More... | |
const ControlMeasure * | operator[] (int index) const |
Same as GetMeasure (provided for convenience) More... | |
ControlMeasure * | operator[] (int index) |
Same as GetMeasure (provided for convenience) More... | |
bool | operator!= (const ControlPoint &pPoint) const |
Compare two Control Points for inequality. More... | |
bool | operator== (const ControlPoint &pPoint) const |
Compare two Control Points for equality. More... | |
const ControlPoint & | operator= (const ControlPoint &pPoint) |
void | ZeroNumberOfRejectedMeasures () |
Initialize the number of rejected measures to 0. More... | |
void | SetNumberOfRejectedMeasures (int numRejected) |
Set (update) the number of rejected measures for the control point. More... | |
int | GetNumberOfRejectedMeasures () const |
Get the number of rejected measures on the control point. More... | |
double | GetSampleResidualRms () const |
Get rms of sample residuals. More... | |
double | GetLineResidualRms () const |
Get rms of line residuals. More... | |
double | GetResidualRms () const |
Get rms of residuals. More... | |
void | ClearJigsawRejected () |
Set jigsaw rejected flag for all measures to false and set the jigsaw rejected flag for the point itself to false. More... | |
Static Public Member Functions | |
static QString | PointTypeToString (PointType type) |
Obtain a string representation of a given PointType. More... | |
static PointType | StringToPointType (QString pointTypeString) |
Obtain a PointType given a string representation of it. More... | |
static QString | RadiusSourceToString (RadiusSource::Source source) |
Obtain a string representation of a given RadiusSource. More... | |
static RadiusSource::Source | StringToRadiusSource (QString str) |
Obtain a RadiusSource::Source from a string. More... | |
static QString | SurfacePointSourceToString (SurfacePointSource::Source source) |
Obtain a string representation of a given SurfacePointSource. More... | |
static SurfacePointSource::Source | StringToSurfacePointSource (QString str) |
Obtain a SurfacePoint::Source from a string. More... | |
Static Public Attributes | |
static const int | PointTypeCount = 3 |
Private Member Functions | |
void | SetExplicitReference (ControlMeasure *measure) |
Explicitly defines a new reference measure by pointer. More... | |
void | ValidateMeasure (QString serialNumber) const |
Throws an exception if none of the point's measures have the given serial number. More... | |
void | AddMeasure (ControlMeasure *measure) |
Do the actual work of adding a measure to this point, without changing any extra data. More... | |
void | PointModified () |
What the heck is the point of this? More... | |
Private Attributes | |
ControlNet * | parentNetwork |
List of Control Measures. More... | |
QHash< QString, ControlMeasure *> * | measures |
QStringList * | cubeSerials |
ControlMeasure * | referenceMeasure |
QString | id |
This is the control point ID. More... | |
QString | chooserName |
This is the user name of the person who last modified this control point. More... | |
QString | dateTime |
This is the last modified date and time. More... | |
PointType | type |
What this control point is tying together. More... | |
bool | invalid |
If we forced a build that we would normally have thrown an exception for then this is set to true. More... | |
bool | editLock |
This stores the edit lock state. More... | |
bool | jigsawRejected |
This stores the jigsaw rejected state. More... | |
std::bitset< 3 > | constraintStatus |
This stores the constraint status of the a priori SurfacePoint. More... | |
bool | referenceExplicitlySet |
This indicates if a program has explicitely set the reference in this point or the implicit reference is still the current reference. More... | |
bool | ignore |
True if we should preserve but ignore the entire control point and its measures. More... | |
SurfacePointSource::Source | aprioriSurfacePointSource |
Where the apriori surface point originated from. More... | |
QString | aprioriSurfacePointSourceFile |
FileName where the apriori surface point originated from. More... | |
RadiusSource::Source | aprioriRadiusSource |
Where the apriori surface point's radius originated from, most commonly used by jigsaw. More... | |
QString | aprioriRadiusSourceFile |
The name of the file that derives the apriori surface point's radius. More... | |
SurfacePoint | aprioriSurfacePoint |
The apriori surface point. More... | |
SurfacePoint | adjustedSurfacePoint |
This is the calculated, or aposterori, surface point. More... | |
int | numberOfRejectedMeasures |
This parameter is used and maintained by BundleAdjust for the jigsaw application. More... | |
Friends | |
class | ControlNet |
A single control point.
A control point is one or more measurements that identify the same feature or location in different images.
2005-07-29 Jeff Anderson Original version
2006-01-11 Jacob Danton Added ReferenceIndex method and updated unitTest
2006-06-28 Tracie Sucharski, Added method to return measure for given serial number.
2006-10-31 Tracie Sucharski, Added HasReference method, changed ReferenceIndex method to throw error if there is no Reference ControlMeasure.
2007-01-25 Debbie A. Cook, Removed return statement in SetApriori method for case so that FocalPlaneMeasures will get set. The method already has a later return statement to avoid changing the lat/lon values.
2007-10-19 Debbie A. Cook, Wrapped longitudes when calculating apriori longitude for points with a difference of more than 180 degrees of longitude between measures.
2008-01-14 Debbie A. Cook, Changed call to Camera->SetUniversalGround in ComputeErrors to include the radius as an argument since the method has been overloaded to include radius.
2008-09-12 Tracie Sucharski, Add method to return true/false for existence of Serial Number.
2009-03-07 Debbie A. Cook Fixed ComputeErrors method to set focal plane coordinates without changing time and improved error messages.
2009-06-03 Christopher Austin, Added the invalid functionality along with forceBuild, fixed documentation errors.
2009-06-22 Jeff Anderson, Modified ComputeAprior method to correctly handle ground and held points. Previosuly it would throw an error if the lat/lon of a measure could not be computed. Also, modify the ComputeErrors method to not abort any longer if a control point lat/lon could not be projected back to a image line/sample.
2009-08-13 Debbie A. Cook Corrected calculation of scale used to get the undistorted focal plane coordinates to use the signed focal length (Z) from the CameraDistortionMap,
2009-08-21 Christopher Austin, Put the default return of ReferenceIndex() back as the first Measured measure.
2009-09-01 Eric Hyer, fixed some include issues.
2009-09-08 Eric Hyer, Added PointTypeToString method.
2009-10-13 Jeannie Walldren - Added detail to error messages.
2009-12-06 Tracie Sucharski, Renamed ComputeErrors to ComputeResiudals.
2010-03-19 Debbie A. Cook Replaced code in method ComputeErrors with call to CameraGroundMap->GetXY
2010-01-12 Tracie Sucharski, Added support for binary networds, added new parameters, renamed ComputeErrors to ComputeResiduals, renamed MaximumError to MaximumResidual, renamed AverageError to AverageResidual.
2010-03-19 Debbie A. Cook Replaced code in method ComputeErrors with call to CameraGroundMap->GetXY
2010-05-06 Tracie Sucharski, Use defaults of 0. instead of Isis::Null, because 0. is the default in the protocol buffers.
2010-05-11 Sharmila Prasad Added API's Copy Constructor to copy one point to another and ReferenceIndexNoException not to throw Exception if there are no reference point or no measures in a Control Point. Also added the boolean logical operator method = and !=.
2010-05-26 Tracie Sucharski, Changed point type of Ground to GroundXYZ, GroundXY, or GroundZ.
2010-06-01 Tracie Sucharski, Added Ellipsoid and DEM to AprioriSource enum. Change AprioriSourceBasemap to AprioriLatLonSourcFile and AprioriRadiusSourceFile.
2010-06-03 Tracie Sucharski, Moved SetReference method from ControlMeasure so check for multiple reference meausres can be done.
2010-06-17 Tracie Sucharski, Added Lock keyword, new methods SetLocked, Locked and NumLockedMeasures.
2010-06-04 Eric Hyer - removed parametor for PointTypeToString() additional working sessions for Control network design.
2010-07-27 Tracie Sucharski, Updated for changes made after additional working sessions for Control network design. Major change to keywords, including storing coordinates as x/y/z instead of lat/lon/radius. Needed methods to allow inputting either, and conversion methods.
2010-08-18 Tracie Sucharski, Updated for changes made to SurfacePoint covariance matrix.
2010-08-25 Tracie Sucharski, Fixed some bugs relating to conversions between sigmas and covariance matrices.
2010-09-13 Tracie Sucharski, Added methods for setting planetocentric sigmas as both degrees and meters, as a result of changes made to the SurfacePoint class.
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.
2010-05-11 Sharmila Prasad Added API's Copy Constructor to copy one point to another and ReferenceIndexNoException not to throw Exception if there are no reference point or no measures in a Control Point.
2010-06-04 Eric Hyer - removed parametor for PointTypeToString()
2010-09-09 Sharmila Prasad - Added API's to get Latitude, Longitude, Radius from the Reference Measure in the Point. Also to get the min & max Line & Sample Errors
2010-09-27 Tracie Sucharski, Removed these new methods and move functionality to the ControlNetFilter class. Add the old methods, SetUniversalGround, UniversalLatitude, UniversalLongitude and Radius back in for convenience.
2010-10-05 Eric Hyer - interface to ID is now with QString
2010-10-06 Sharmila Prasad - Added method ReferenceLocked()
2010-10-18 Tracie Sucharski, Change "Setters", ComputeApriori and ComputeResiduals to return either Success or PointLocked. If the point is locked do not set values.
2010-10-18 Tracie Sucharski, Change SurfacePoint::Rectangular and SurfacePoint::Ocentric to SurfacePoint as both return values and parameters.
2010-10-06 Sharmila Prasad - API to reset Apriori
2010-10-21 Steven Lambright Minimized the header file and moved most implementations to the cpp. Reorganized the order of methods. Made more methods callable on a const instance. Added GetMeasure(...) methods and a suggested implementation for the bracket operators, not yet implemented due to returning reference conflicts. Finished implementing the new use of SurfacePoint mentioned in the last history comment. Marked SetUniversalGround(), UniversalLatitude(), UniversalLongitude(), and Radius() as deprecated. These methods need to be phased out and GetSurfacePoint() used instead. There are naming conflicts with accessors (some use Get, some don't) still. The comparison operator now relies on QVector's comparison operator instead of looping itself. Added private helper methods: int FindMeasureIndex(QString serialNumber) const void PointModified(); Updated documentation extensively. Removed everything apost except for inside of Load() and CreatePvlObject(). Added automatic updating of DateTime and ChooserName.
2010-10-26 Steven Lambright Change default chooser name from user name to application name.
2010-11-03 Mackenzie Boyd Added ToString methods for enums, String and statis ToString now exist for PointType, RadiusSource, and SurfacePointSource.
2010-11-16 Debbie Cook, Added jigsawRejected keyword.
2010-12-08 Tracie Sucharski, Added IsGround convenience method.
2010-12-28 Steven Lambright Changed accessors to match ControlMeasure's method of accessing data. Removed obsolete methods to prevent further use of them.
2011-01-13 Mackenzie Boyd Added pointer to owning ControlNet.
2011-01-17 Eric Hyer - Points now own and delete their measures. ControlNet now notified of changes (like adding and removing measures). Returning pointers to measures is now safe and encouraged.
2011-02-10 Eric Hyer - measures no longer know or care if they are the reference measure. This information is now completely maintained by this class. Made numerous API and internal changes, eliminating substantial duplicate code and increasing interface clearity. Hungarian notation now eliminated from this class.
2011-02-11 Steven Lambright - Measure log data is now written to the binary file properly.
2011-02-18 Eric Hyer - Added Delete(ControlMeasure *) method. Fixed bugs related to network notification of measure addition and deletion.
2011-02-28 Eric Hyer - Fixed bug in operator= that caused the the reference measure to not get propagated correctly
2011-02-28 Steven Lambright - Added a flag for cnetref to say whether a reference measure has been explicitly or implicitly set.
2011-03-01 Eric Hyer - Added StringToRadiusSource and StringToSurfacePointSource methods
2011-03-08 Ken Edmundson and Debbie Cook - Added members ConstraintStatus, LatitudeConstrained, LongitudeConstrained, RadiusConstrained, constraintStatus and methods ConputeResiduals_Millimeters(), HasAprioriCoordinates(), IsConstrained(), IsLatitudeConstrained(), IsLongitudeConstrained(), and NumberOfConstrainedCoordinates().
2011-03-11 Debbie Cook - changed name of member surfacePoint to adjustedSurfacePoint. Also changed methods SetSurfacePoint to SetAdjustedSurfacePoint and GetSurfacePoint to GetAdjustedSurfacePoint.
2011-03-14 Eric Hyer - Added GetMeasures method. Network now notified when a point's ignored status changes for updating its cube connection graph (cube connections were not respecting ignored flags on points / measures).
2011-03-14 Christopher Austin - Added GetBestSurfacePoint to reduce external duplicate code.
2011-03-15 Steven Lambright - Now writes AdjustedX, AdjustedY, and AdjustedZ to the pvl format. Also updated proto buffer calls to reflect naming changes.
2011-03-17 Eric Hyer - Added default parameter to GetMeasures method for excluding ignored measures.
2011-03-25 Christopher Austin - Added functionality to SetId()
2011-04-01 Debbie A. Cook and Ken Edmundson - Added argument to constructor for target radii
2011-04-04 Steven Lambright - Removed an old constructor and made the Distance vector one take a const reference.
2011-04-04 Steven Lambright - Updated constructor from binary to take planetary radii
2011-05-02 Debbie A. Cook - Added new point type Constrained
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types: Ground ---—> Fixed Tie-------—> Free
2011-06-30 Eric Hyer - Added StringToPointType() method
2011-07-01 Debbie A. Cook - Removed editLock checks from SetAdjustedSurfacePoint and ComputeResiduals
2011-07-08 Travis Addair - Locked measures can no longer be deleted
2011-07-12 Ken Edmundson - Modified ComputeApriori method to handle radius properly when computing average coordinates
2011-07-29 Jai Rideout, Steven Lambright, and Eric Hyer - Made this inherit from QObject to get destroyed() signal
2011-07-29 Eric Hyer - Changed some graph code in Delete()
2011-09-13 Eric Hyer,Tracie Sucharski - operator= changes: Change input parameter to const &. Re-wrote to use Delete and AddMeasure methods, so that the ControlGraphNode is updated correctly.
2011-09-30 Steven Lambright and Tracie Sucharski - Fixed bugs that caused unpredictable behavior in the assignment operator.
2011-10-01 Steven Lambright - Simplified the copy constructor and fixed problems (which caused ASSERT fails) in the copy constructor.
2011-10-06 Steven Lambright - Radii provided in the protocol buffer constructor can now be invalid.
2011-10-07 Steven Lambright and Stuart Sides - Fixed bug in the constructor given a protocol buffer. This caused unpredictable reference measure behaviour sometimes (rarely).
2011-10-14 Ken Edmundson Added method ClearJigsawRejected(); to set all measure and point JigsawRejected flags to false prior to bundle adjustment.
2012-03-31 Debbie A. Cook Programmer note: Revised ComputeResiduals to call ComputeResidualsMillimeters and avoid duplication of code. Also revised ComputeResidualsMillimeters to make the radar case handled the same as other instruments.
2013-11-12 Ken Edmundson Programmer note: Revised ComputeApriori such that initial coordinates are computed for "Free" points that have constrained coordinates. References #1653.
2013-11-13 Kimberly Oyama - Added missing member variables to == operator and made sure the comparisons are being done correctly. Fixes #1014.
2015-11-05 Kris Becker - invalid flag was not properly initialized in ControlPointFileEntryV0002 constructor (Merged by Kristin Berry. Fixes #2392)
2017-05-25 Debbie A. Cook - coordType to SetPrioriSurfacePoint with a default of Latitudinal. Changed LatitudeConstrained to Coord1Constrained, etc. References #4649 and #501.
2017-12-18 Kristin Berry - Added convenience methods: HasAprioriSurfacePointSourceFile(), HasAprioriRadiusSourceFile(), HasRefMeasure().
2017-12-21 Adam Goins - Removed redundant code following ControlNetVersioner refactor.
2018-01-05 Adam Goins - Added HasDateTime() and HasChooserName() methods to allow to allow the value of these variables to be read without being overriden if they're empty. (Getters override if they're empty).
2018-06-06 Jesse Mapel - Modified setIgnored to use new pointIgnored and pointUnIgnored methods. References #5434.
2018-06-15 Adam Goins & Jesse Mapel - Added the ModType enum, as well as a series of calls to parentNetwork()->emitPointModified() whenever a change is made to a Control Point or any of it's measures. This is done to allow for communication between the ControlNetVitals class and changes made to the Control Network that it is observing. Fixes #5435.
2018-06-29 Adam Goins - Modified to operator= method to use setters when copying one Control Point to another so that the proper signals get called. Fixes #5435.
2018-06-30 Debbie A. Cook Removed all calls to obsolete method SurfacePoint::SetRadii. References #5457.
2019-03-10 Ken Edmundson - See history entry for ComputeApriori method (References #2591). Added check to IsConstrained() method to see if point type is Free, in which case we ignore stored a priori sigmas on the coordinates.
2019-05-16 Debbie A. Cook See history entry for ComputeResiduals. Modified call to CameraGroundMap to not do back-of-planet test. References #2591.
Definition at line 369 of file ControlPoint.h.
This is a convenience member for checking number of constrained coordinates in the SurfacePoint.
Definition at line 430 of file ControlPoint.h.
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 446 of file ControlPoint.h.
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 379 of file ControlPoint.h.
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.
Definition at line 408 of file ControlPoint.h.
Isis::ControlPoint::ControlPoint | ( | ) |
Construct a control point.
Definition at line 40 of file ControlPoint.cpp.
References aprioriRadiusSource, aprioriSurfacePointSource, constraintStatus, dateTime, editLock, Free, ignore, jigsawRejected, numberOfRejectedMeasures, parentNetwork, referenceExplicitlySet, and type.
Isis::ControlPoint::ControlPoint | ( | const ControlPoint & | other | ) |
Copy the given control point into this instance.
other | The control point to duplicate |
Definition at line 67 of file ControlPoint.cpp.
References AddMeasure(), adjustedSurfacePoint, aprioriRadiusSource, aprioriRadiusSourceFile, aprioriSurfacePoint, aprioriSurfacePointSource, aprioriSurfacePointSourceFile, chooserName, constraintStatus, dateTime, editLock, GetMeasure(), id, ignore, invalid, jigsawRejected, numberOfRejectedMeasures, parentNetwork, referenceExplicitlySet, SetRefMeasure(), and type.
Isis::ControlPoint::ControlPoint | ( | const QString & | newId | ) |
Construct a control point with given Id.
id | Control Point Id |
Definition at line 116 of file ControlPoint.cpp.
References aprioriRadiusSource, aprioriSurfacePointSource, constraintStatus, editLock, Free, ignore, jigsawRejected, numberOfRejectedMeasures, parentNetwork, referenceExplicitlySet, and type.
Isis::ControlPoint::~ControlPoint | ( | ) |
This destroys the current instance and cleans up any and all allocated memory.
Definition at line 139 of file ControlPoint.cpp.
void Isis::ControlPoint::Add | ( | ControlMeasure * | measure | ) |
Add a measurement to the control point, taking ownership of the measure in the process.
measure | The ControlMeasure to add |
Definition at line 215 of file ControlPoint.cpp.
References AddMeasure(), and PointModified().
Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createFixedPoint(), Isis::StereoTool::createPoint(), Isis::MatchTool::createPoint(), Isis::QnetTool::createPoint(), and Isis::ControlNetVersioner::createPoint().
|
private |
Do the actual work of adding a measure to this point, without changing any extra data.
Definition at line 225 of file ControlPoint.cpp.
References _FILEINFO_, Isis::ControlNet::emitNetworkStructureModified(), Isis::ControlMeasure::GetCubeSerialNumber(), GetId(), HasRefMeasure(), IsReferenceExplicit(), Isis::ControlNet::measureAdded(), parentNetwork, Isis::ControlMeasure::parentPoint, and Isis::IException::Programmer.
Referenced by Add(), ControlPoint(), and operator=().
void Isis::ControlPoint::ClearJigsawRejected | ( | ) |
Set jigsaw rejected flag for all measures to false and set the jigsaw rejected flag for the point itself to false.
Definition at line 2171 of file ControlPoint.cpp.
References GetMeasure(), Isis::ControlMeasure::SetRejected(), and SetRejected().
Referenced by Isis::ControlNet::ClearJigsawRejected().
ControlPoint::Status Isis::ControlPoint::ComputeApriori | ( | ) |
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)
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.
Definition at line 891 of file ControlPoint.cpp.
References _FILEINFO_, adjustedSurfacePoint, aprioriSurfacePoint, Isis::Sensor::Coordinate(), Isis::Camera::DistortionMap(), Free, Isis::ControlMeasure::GetCubeSerialNumber(), GetId(), GetMeasure(), GetType(), IsConstrained(), IsFixed(), Isis::Displacement::Kilometers, NumberOfConstrainedCoordinates(), PointModified(), Isis::IException::Programmer, SetAprioriRadiusSource(), SetAprioriSurfacePointSource(), Isis::ControlMeasure::SetFocalPlaneMeasured(), Isis::Camera::SetImage(), Isis::SurfacePoint::SetRectangular(), Success, Isis::CameraDistortionMap::UndistortedFocalPlaneX(), Isis::CameraDistortionMap::UndistortedFocalPlaneY(), and Isis::IException::User.
Referenced by Isis::ControlNet::ComputeApriori().
ControlPoint::Status Isis::ControlPoint::ComputeResiduals | ( | ) |
This method computes the BundleAdjust residuals for a point.
*** Warning: Only BundleAdjust and its applications should be using this method.
2008-07-17 Tracie Sucharski, Added ptid and measure serial number to the unable to map to surface error.
2009-12-06 Tracie Sucharski, Renamed from ComputeErrors
2010-08-05 Tracie Sucharski, Changed lat/lon/radius to x/y/z
2010-12-10 Debbie A. Cook, Revised error calculation for radar because it was always reporting line errors=0.
2011-03-17 Debbie A. Cook, Fixed typo in radar call to get longitude
2011-03-24 Debbie A. Cook, Removed IsMeasured check since it was really checking for Candidate measures.
2011-07-01 Debbie A. Cook, Removed editLock check to allow BundleAdjust to compute residuals for editLocked points
2012-01-18 Debbie A. Cook, Revised to call ComputeResidualsMillimeters() to avoid duplication of code.
2019-05-16 Debbie A. Cook, The calls to CameraGroundMap::GetXY were changed to allow not testing for points on the back side of the planet during bundle adjustment. Now, the instrument coordinates will be calculated and returned always to this method. In the future, a separate diagnostic tool may be helpful to check for non-visable
points in a control net AFTER bundle adjustment. References #2591.
Definition at line 1013 of file ControlPoint.cpp.
References _FILEINFO_, ComputeResiduals_Millimeters(), Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::Camera::DistortionMap(), Failure, Isis::Camera::FocalPlaneMap(), Isis::CameraDistortionMap::FocalPlaneX(), Isis::CameraDistortionMap::FocalPlaneY(), Isis::Camera::GetCameraType(), Isis::ControlMeasure::GetCubeSerialNumber(), GetId(), Isis::Sensor::GetSurfacePoint(), Isis::CameraGroundMap::GetXY(), Isis::Camera::GroundMap(), PointModified(), Isis::IException::Programmer, Isis::Camera::Radar, Isis::CameraFocalPlaneMap::SetFocalPlane(), Isis::Camera::SetImage(), Isis::ControlMeasure::SetResidual(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), and Success.
Referenced by Isis::BundleControlPoint::computeResiduals().
ControlPoint::Status Isis::ControlPoint::ComputeResiduals_Millimeters | ( | ) |
This method computes the residuals for a point.
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 1173 of file ControlPoint.cpp.
References Failure, Isis::Camera::GetCameraType(), Isis::CameraGroundMap::GetXY(), Isis::Camera::GroundMap(), PointModified(), Isis::ControlMeasure::SetFocalPlaneComputed(), Isis::Camera::SetImage(), and Success.
Referenced by ComputeResiduals().
int Isis::ControlPoint::Delete | ( | ControlMeasure * | measure | ) |
Remove a measurement from the control point, deleting reference measure is allowed.
measure | The measure to delete |
Definition at line 346 of file ControlPoint.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber().
Referenced by Delete(), Isis::MatchTool::deletePoint(), Isis::ControlNet::DeletePoint(), Isis::CnetEditorWidget::filteredNetwork(), operator=(), Isis::ControlPointEditWidget::savePoint(), and Isis::QnetTool::savePoint().
int Isis::ControlPoint::Delete | ( | QString | serialNumber | ) |
Remove a measurement from the control point, deleting reference measure is allowed.
serialNumber | The serial number of the measure to delete |
Definition at line 283 of file ControlPoint.cpp.
References Isis::ControlNet::emitNetworkStructureModified(), Isis::ControlMeasure::IsEditLocked(), Isis::ControlNet::measureDeleted(), parentNetwork, PointModified(), referenceExplicitlySet, and ValidateMeasure().
int Isis::ControlPoint::Delete | ( | int | index | ) |
Remove a measurement from the control point, deleting reference measure is allowed.
index | The index of the control measure to delete |
Definition at line 358 of file ControlPoint.cpp.
References _FILEINFO_, Delete(), and Isis::IException::Programmer.
void Isis::ControlPoint::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.
measure | The ControlMeasure* that was modified. |
type | The ControlMeasure::ModType indicating which modification occured. |
oldValue | The oldValue before the change. |
newValue | The new value that the change incorporated. |
Definition at line 333 of file ControlPoint.cpp.
References Isis::ControlNet::emitMeasureModified(), and parentNetwork.
SurfacePoint Isis::ControlPoint::GetBestSurfacePoint | ( | ) | const |
Returns the adjusted surface point if it exists, otherwise returns the a priori surface point.
Definition at line 1271 of file ControlPoint.cpp.
References adjustedSurfacePoint, and aprioriSurfacePoint.
Referenced by Isis::QnetPointRangeFilter::filter(), and Isis::QnetPointDistanceFilter::filter().
QList< QString > Isis::ControlPoint::getCubeSerialNumbers | ( | ) | const |
Definition at line 1869 of file ControlPoint.cpp.
Referenced by Isis::ControlNet::SetImages().
QString Isis::ControlPoint::GetId | ( | ) | const |
Return the Id of the control point.
Definition at line 1286 of file ControlPoint.cpp.
References id.
Referenced by AddMeasure(), Isis::ControlNetVitals::addPoint(), Isis::ControlNet::AddPoint(), ComputeApriori(), ComputeResiduals(), Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createFixedPoint(), Isis::StereoTool::createPoint(), Isis::QnetTool::createPoint(), Isis::Directory::deleteControlPoint(), Isis::StereoTool::deletePoint(), Isis::ControlNetVitals::deletePoint(), Isis::MatchTool::deletePoint(), Isis::ControlNet::DeletePoint(), Isis::ControlNetTool::drawAllMeasurements(), Isis::ControlNetTool::drawGroundMeasures(), Isis::MatchTool::exiting(), Isis::CnetEditorWidget::filteredNetwork(), Isis::ControlNetFilter::FilterOutMeasuresBySerialNum(), Isis::InterestOperator::FindCnetRef(), Isis::ControlNetStatistics::GeneratePointStats(), GetReferenceSN(), GetRefMeasure(), Isis::ControlNet::GraphToString(), Isis::BundleControlPoint::id(), Isis::InterestOperator::InterestByPoint(), Isis::StereoTool::loadPoint(), Isis::MatchTool::loadPoint(), Isis::ControlNet::measureAdded(), Isis::MatchTool::measureSaved(), Isis::ControlNet::measureUnIgnored(), Isis::Directory::modifyControlPoint(), Isis::ControlPointGraphicsItem::paint(), Isis::ControlNet::pointAdded(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointEditLockFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetFilter::PointIDFilter(), Isis::ControlNetVitals::pointModified(), Isis::ControlNetFilter::PointPixelShiftFilter(), Isis::ControlNetFilter::PointResMagnitudeFilter(), Isis::ControlNetFilter::PointStats(), Isis::ControlPointEditWidget::savePoint(), Isis::MatchTool::savePoint(), Isis::QnetTool::savePoint(), Isis::MatchTool::selectLeftMeasure(), Isis::MatchTool::selectRightMeasure(), Isis::ControlNet::SetImages(), SetType(), Isis::ControlNetVersioner::toPvl(), Isis::MatchTool::updatePointInfo(), Isis::ControlNet::UpdatePointReference(), and Isis::ControlNetVersioner::writeFirstPoint().
double Isis::ControlPoint::GetLineResidualRms | ( | ) | const |
Get rms of line residuals.
Definition at line 2110 of file ControlPoint.cpp.
References Isis::Statistics::AddData(), GetMeasure(), and Isis::Statistics::Rms().
const ControlMeasure * Isis::ControlPoint::GetMeasure | ( | QString | serialNumber | ) | const |
Get a control measure based on its cube's serial number.
serialNumber | serial number of measure to get |
Definition at line 408 of file ControlPoint.cpp.
References ValidateMeasure().
Referenced by Isis::Histogram::addMeasureDataFromNet(), Isis::ControlMeasureEditWidget::blinkStartRight(), Isis::BundleControlPoint::BundleControlPoint(), Isis::StereoTool::calculateElevation(), ClearJigsawRejected(), ComputeApriori(), ControlPoint(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::QnetSetAprioriDialog::fillAverageAprioriLineEdits(), Isis::CnetEditorWidget::filteredNetwork(), Isis::InterestOperator::FindCnetRef(), GetLineResidualRms(), Isis::ControlNetStatistics::GetPointDoubleStats(), GetResidualRms(), GetSampleResidualRms(), Isis::MatchTool::IsMeasureLocked(), Isis::StereoTool::loadPoint(), Isis::ControlNet::measureAdded(), Isis::ControlNet::measureIgnored(), Isis::StereoTool::measureSaved(), Isis::MatchTool::measureSaved(), Isis::ControlNet::measureUnIgnored(), operator[](), Isis::ControlNet::pointAdded(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetFilter::PointMeasurePropertiesFilter(), Isis::ControlNetFilter::PointMeasuresFilter(), Isis::ControlNetFilter::PointNumMeasuresEditLockFilter(), Isis::ControlNetFilter::PointPixelShiftFilter(), Isis::ControlNetFilter::PointResMagnitudeFilter(), Isis::Histogram::rangesFromNet(), Isis::ControlNet::sortedMeasureList(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().
ControlMeasure * Isis::ControlPoint::GetMeasure | ( | QString | serialNumber | ) |
Get a control measure based on its cube's serial number.
serialNumber | serial number of measure to get |
Definition at line 396 of file ControlPoint.cpp.
References ValidateMeasure().
QList< ControlMeasure *> Isis::ControlPoint::getMeasures | ( | bool | excludeIgnored = false | ) | const |
excludeIgnored | Ignored measures are excluded if this is true. It is false by default. |
Definition at line 1853 of file ControlPoint.cpp.
Referenced by Isis::ControlNet::DeletePoint(), Isis::ControlPointGraphicsItem::paint(), Isis::ControlNet::pointAdded(), Isis::ControlNet::pointIgnored(), and Isis::ControlNet::pointUnIgnored().
int Isis::ControlPoint::GetNumberOfRejectedMeasures | ( | ) | const |
Get the number of rejected measures on the control point.
Definition at line 2069 of file ControlPoint.cpp.
References numberOfRejectedMeasures.
Referenced by Isis::BundleControlPoint::numberOfRejectedMeasures().
int Isis::ControlPoint::GetNumLockedMeasures | ( | ) | const |
Returns the number of locked control measures.
Definition at line 1708 of file ControlPoint.cpp.
Referenced by Isis::InterestOperator::FindCnetRef(), Isis::ControlNetStatistics::GeneratePointStats(), Isis::ControlNet::GetNumEditLockMeasures(), Isis::ControlNetStatistics::GetPointIntStats(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointEditLockFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetFilter::PointNumMeasuresEditLockFilter(), and Isis::ControlNetFilter::PointStats().
int Isis::ControlPoint::GetNumValidMeasures | ( | ) | const |
Definition at line 1691 of file ControlPoint.cpp.
Referenced by Isis::ControlNetVitals::addMeasureToCounts(), Isis::ControlNetVitals::addPoint(), Isis::ControlNetVitals::deletePoint(), Isis::ControlNetStatistics::GeneratePointStats(), Isis::ControlNet::GetNumIgnoredMeasures(), Isis::ControlNet::GetNumValidMeasures(), Isis::ControlNetStatistics::GetPointIntStats(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointEditLockFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetVitals::pointModified(), Isis::ControlNetFilter::PointStats(), and Isis::ControlNetVitals::removeMeasureFromCounts().
QString Isis::ControlPoint::GetPointTypeString | ( | ) | const |
Obtain a string representation of the PointType.
Definition at line 1372 of file ControlPoint.cpp.
References GetType(), and PointTypeToString().
Referenced by Isis::QnetSetAprioriDialog::checkPointInfoDisable(), Isis::QnetSetAprioriDialog::fillAverageAprioriLineEdits(), and Isis::QnetSetAprioriDialog::resetInfoLabels().
QString Isis::ControlPoint::GetRadiusSourceString | ( | ) | const |
Obtain a string representation of the RadiusSource.
Definition at line 1460 of file ControlPoint.cpp.
References aprioriRadiusSource, and RadiusSourceToString().
QString Isis::ControlPoint::GetReferenceSN | ( | ) | const |
Definition at line 1743 of file ControlPoint.cpp.
References _FILEINFO_, Isis::ControlMeasure::GetCubeSerialNumber(), GetId(), HasRefMeasure(), and Isis::IException::Programmer.
Referenced by Isis::MatchTool::IsMeasureLocked(), Isis::MatchTool::loadMeasureTable(), Isis::MatchTool::loadPoint(), Isis::MatchTool::updateLeftMeasureInfo(), and Isis::MatchTool::updateRightMeasureInfo().
const ControlMeasure * Isis::ControlPoint::GetRefMeasure | ( | ) | const |
Get the reference control measure.
Definition at line 449 of file ControlPoint.cpp.
References _FILEINFO_, GetId(), HasRefMeasure(), and Isis::IException::Programmer.
Referenced by Isis::MatchTool::deletePoint(), Isis::QnetSetAprioriDialog::fillReferenceAprioriLineEdits(), Isis::QnetPointDistanceFilter::filter(), Isis::InterestOperator::FindCnetRef(), Isis::TableViewContent::paintRow(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::ControlNetFilter::PointMeasurePropertiesFilter(), Isis::ControlNetFilter::PointMeasuresFilter(), Isis::ControlNetFilter::PointNumMeasuresEditLockFilter(), Isis::ControlNetFilter::PointPixelShiftFilter(), and Isis::ControlNetFilter::PointResMagnitudeFilter().
ControlMeasure * Isis::ControlPoint::GetRefMeasure | ( | ) |
Get the measure that is the reference directly.
Definition at line 462 of file ControlPoint.cpp.
References _FILEINFO_, GetId(), HasRefMeasure(), and Isis::IException::Programmer.
double Isis::ControlPoint::GetResidualRms | ( | ) | const |
Get rms of residuals.
Definition at line 2141 of file ControlPoint.cpp.
References Isis::Statistics::AddData(), GetMeasure(), and Isis::Statistics::Rms().
Referenced by Isis::BundleControlPoint::residualRms().
double Isis::ControlPoint::GetSampleResidualRms | ( | ) | const |
Get rms of sample residuals.
Definition at line 2079 of file ControlPoint.cpp.
References Isis::Statistics::AddData(), GetMeasure(), and Isis::Statistics::Rms().
Statistics Isis::ControlPoint::GetStatistic | ( | double(ControlMeasure::*)() const | statFunc | ) | const |
This function will call a given method on every control measure that this point has.
statFunc | The function to use for data collection |
Definition at line 1822 of file ControlPoint.cpp.
References Isis::Statistics::AddData().
Referenced by Isis::ControlNet::AverageResidual(), Isis::QnetPointJigsawErrorFilter::filter(), Isis::QnetPointRegistrationErrorFilter::filter(), Isis::ControlNet::GetMaximumResidual(), and Isis::ControlNetStatistics::GetPointDoubleStats().
QString Isis::ControlPoint::GetSurfacePointSourceString | ( | ) | const |
Obtain a string representation of the SurfacePointSource.
Definition at line 1541 of file ControlPoint.cpp.
References aprioriSurfacePointSource, and SurfacePointSourceToString().
ControlPoint::PointType Isis::ControlPoint::GetType | ( | ) | const |
Definition at line 1381 of file ControlPoint.cpp.
References type.
Referenced by Isis::ControlNetVitals::addPoint(), ComputeApriori(), Isis::ControlPointGraphicsItem::ControlPointGraphicsItem(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::ControlNetVitals::deletePoint(), Isis::ControlNetTool::drawAllMeasurements(), Isis::QnetTool::drawAllMeasurments(), Isis::ControlNetTool::drawGroundMeasures(), Isis::QnetTool::drawGroundMeasures(), Isis::QnetPointTypeFilter::filter(), Isis::InterestOperator::FindCnetRef(), Isis::ControlNetStatistics::GenerateImageStats(), Isis::ControlNetStatistics::GeneratePointStats(), Isis::ControlNetVitals::getConstrainedPoints(), Isis::ControlNetVitals::getFixedPoints(), Isis::ControlNetVitals::getFreePoints(), Isis::ControlNetStatistics::GetPointIntStats(), GetPointTypeString(), Isis::ChipViewport::paintEvent(), Isis::StereoTool::paintViewport(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointEditLockFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetVitals::pointModified(), Isis::ControlNetFilter::PointPixelShiftFilter(), Isis::ControlNetFilter::PointPropertiesFilter(), Isis::ControlNetFilter::PointResMagnitudeFilter(), Isis::ControlNetFilter::PointStats(), Isis::ControlPointEditWidget::savePoint(), Isis::QnetTool::savePoint(), Isis::BundleControlPoint::setWeights(), Isis::ControlNetVersioner::toPvl(), Isis::BundleControlPoint::type(), and Isis::ControlNetVersioner::writeFirstPoint().
bool Isis::ControlPoint::HasAprioriRadiusSourceFile | ( | ) | const |
Checks to see if the radius source file has been set.
Definition at line 1651 of file ControlPoint.cpp.
References aprioriRadiusSourceFile.
Referenced by Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().
bool Isis::ControlPoint::HasAprioriSurfacePointSourceFile | ( | ) | const |
Checks to see if the surface point source file has been set.
Definition at line 1672 of file ControlPoint.cpp.
References aprioriSurfacePointSourceFile.
Referenced by Isis::ControlPointEditWidget::changeGroundLocationsInNet(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().
bool Isis::ControlPoint::HasChooserName | ( | ) | const |
Returns true if the choosername is not empty.
Definition at line 1232 of file ControlPoint.cpp.
References chooserName.
bool Isis::ControlPoint::HasDateTime | ( | ) | const |
Returns true if the datetime is not empty.
Definition at line 1237 of file ControlPoint.cpp.
References dateTime.
bool Isis::ControlPoint::HasRefMeasure | ( | ) | const |
Checks to see if a reference measure is set.
Definition at line 439 of file ControlPoint.cpp.
Referenced by AddMeasure(), GetReferenceSN(), GetRefMeasure(), IndexOfRefMeasure(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().
bool Isis::ControlPoint::HasSerialNumber | ( | QString | serialNumber | ) | const |
Return true if given serial number exists in point.
serialNumber | The serial number |
Definition at line 1726 of file ControlPoint.cpp.
Referenced by Isis::ControlNetTool::drawAllMeasurements(), Isis::MatchTool::drawAllMeasurments(), Isis::StereoTool::paintViewport(), Isis::ControlPointEditWidget::savePoint(), Isis::QnetTool::savePoint(), and Isis::QnetNewMeasureDialog::setFiles().
int Isis::ControlPoint::IndexOf | ( | ControlMeasure * | cm, |
bool | throws = true |
||
) | const |
cm | The control measure to find the index of |
throws | Throws an exception on failure instead of returning -1. Be aware that by default this is true! |
Definition at line 1762 of file ControlPoint.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber().
int Isis::ControlPoint::IndexOf | ( | QString | sn, |
bool | throws = true |
||
) | const |
sn | The serial number of the control measure to find the index of |
throws | Throws an exception on failure instead of returning -1. Be aware that by default this is true! |
Definition at line 1776 of file ControlPoint.cpp.
References _FILEINFO_, and Isis::IException::Programmer.
int Isis::ControlPoint::IndexOfRefMeasure | ( | ) | const |
throws | Throws an exception on failure instead of returning -1. Be aware that by default this is true! |
Definition at line 1797 of file ControlPoint.cpp.
References _FILEINFO_, Isis::ControlMeasure::GetCubeSerialNumber(), HasRefMeasure(), and Isis::IException::Programmer.
Referenced by Isis::InterestOperator::FindCnetRef(), Isis::MatchTool::loadPoint(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().
bool Isis::ControlPoint::IsConstrained | ( | ) |
Return bool indicating if point is Constrained or not.
Definition at line 1594 of file ControlPoint.cpp.
References constraintStatus, Free, and type.
Referenced by ComputeApriori().
bool Isis::ControlPoint::IsCoord1Constrained | ( | ) |
Return bool indicating if 1st coordinate is Constrained or not.
This corresponds to Latitude for a Latitudinal solution or X for a Rectangular solution.
Definition at line 1610 of file ControlPoint.cpp.
References constraintStatus.
Referenced by Isis::QnetSetAprioriDialog::fillAverageAprioriLineEdits(), Isis::BundleControlPoint::setWeights(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().
bool Isis::ControlPoint::IsCoord2Constrained | ( | ) |
Return bool indicating if 2nd coordinate is Constrained or not.
This corresponds to Longitude for a Latitudinal solution or Y for a Rectangular solution.
Definition at line 1621 of file ControlPoint.cpp.
References constraintStatus.
Referenced by Isis::QnetSetAprioriDialog::fillAverageAprioriLineEdits(), Isis::BundleControlPoint::setWeights(), Isis::ControlNetVersioner::toPvl(), and Isis::ControlNetVersioner::writeFirstPoint().
bool Isis::ControlPoint::IsCoord3Constrained | ( | ) |
Return bool indicating if 3rd coordinate is Constrained or not.
This corresponds to Radius for a Latitudinal solution or Z for a Rectangular solution.
Definition at line 1631 of file ControlPoint.cpp.
References constraintStatus.
Referenced by Isis::QnetSetAprioriDialog::fillAverageAprioriLineEdits(), Isis::BundleControlPoint::setWeights(), and Isis::ControlNetVersioner::writeFirstPoint().
bool Isis::ControlPoint::IsFixed | ( | ) | const |
Return bool indicating if point is Fixed or not.
Definition at line 1584 of file ControlPoint.cpp.
Referenced by ComputeApriori().
bool Isis::ControlPoint::IsFree | ( | ) | const |
Return bool indicating if point is Free or not.
Definition at line 1574 of file ControlPoint.cpp.
References Constrained, Fixed, and type.
bool Isis::ControlPoint::IsReferenceExplicit | ( | ) | const |
Definition at line 1735 of file ControlPoint.cpp.
References referenceExplicitlySet.
Referenced by AddMeasure(), Isis::MatchTool::deletePoint(), Isis::MatchTool::IsMeasureLocked(), Isis::MatchTool::loadMeasureTable(), Isis::MatchTool::loadPoint(), Isis::ControlNetVersioner::toPvl(), Isis::MatchTool::updateLeftMeasureInfo(), Isis::MatchTool::updateRightMeasureInfo(), and Isis::ControlNetVersioner::writeFirstPoint().
void Isis::ControlPoint::Load | ( | PvlObject & | p | ) |
Loads the PvlObject into a ControlPoint.
p | PvlObject containing ControlPoint information |
forceBuild | Allows invalid Control Measures to be added to this Control Point |
Isis::iException::User | - Invalid Point Type |
Isis::iException::User | - Unable to add ControlMeasure to Control Point |
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 204 of file ControlPoint.cpp.
int Isis::ControlPoint::NumberOfConstrainedCoordinates | ( | ) |
Return bool indicating if point is Constrained or not.
Definition at line 1641 of file ControlPoint.cpp.
References constraintStatus.
Referenced by ComputeApriori(), and Isis::QnetSetAprioriDialog::fillAverageAprioriLineEdits().
bool Isis::ControlPoint::operator!= | ( | const ControlPoint & | other | ) | const |
Compare two Control Points for inequality.
other | The other point to compare this one to |
Definition at line 1931 of file ControlPoint.cpp.
const ControlPoint & Isis::ControlPoint::operator= | ( | const ControlPoint & | other | ) |
pPoint |
2011-09-13 Eric Hyer,Tracie Sucharski - Changed input parameter to const &. Re-wrote using Delete and AddMeasure methods, so that the ControlGraphNode is updated correctly.
2011-09-30 Tracie Sucharski - Fixed some memory leaks and deleted some calls that were already handled in AddMeasure.
2011-10-03 Tracie Sucharski - Unlock measures before Deleting
Definition at line 1985 of file ControlPoint.cpp.
References AddMeasure(), adjustedSurfacePoint, aprioriRadiusSource, aprioriRadiusSourceFile, aprioriSurfacePoint, aprioriSurfacePointSource, aprioriSurfacePointSourceFile, chooserName, constraintStatus, dateTime, Delete(), editLock, id, ignore, invalid, jigsawRejected, numberOfRejectedMeasures, referenceExplicitlySet, SetAdjustedSurfacePoint(), SetAprioriRadiusSource(), SetAprioriRadiusSourceFile(), SetAprioriSurfacePoint(), SetAprioriSurfacePointSource(), SetAprioriSurfacePointSourceFile(), SetChooserName(), SetDateTime(), SetEditLock(), SetId(), SetIgnored(), SetRefMeasure(), SetRejected(), SetType(), and type.
bool Isis::ControlPoint::operator== | ( | const ControlPoint & | other | ) | const |
Compare two Control Points for equality.
other | The other point to compare to |
Definition at line 1944 of file ControlPoint.cpp.
References adjustedSurfacePoint, aprioriRadiusSource, aprioriRadiusSourceFile, aprioriSurfacePoint, aprioriSurfacePointSource, aprioriSurfacePointSourceFile, chooserName, constraintStatus, dateTime, editLock, id, ignore, invalid, jigsawRejected, numberOfRejectedMeasures, referenceExplicitlySet, and type.
const ControlMeasure * Isis::ControlPoint::operator[] | ( | QString | serialNumber | ) | const |
Same as GetMeasure (provided for convenience)
serialNumber | Cube serial number of desired control measure |
Definition at line 1881 of file ControlPoint.cpp.
References GetMeasure().
ControlMeasure * Isis::ControlPoint::operator[] | ( | QString | serialNumber | ) |
Same as GetMeasure (provided for convenience)
serialNumber | Cube serial number of desired control measure |
Definition at line 1893 of file ControlPoint.cpp.
References GetMeasure().
const ControlMeasure * Isis::ControlPoint::operator[] | ( | int | index | ) | const |
Same as GetMeasure (provided for convenience)
index | If there are n measures, the measure returned will be the ith measure added to the point |
Definition at line 1906 of file ControlPoint.cpp.
References GetMeasure().
ControlMeasure * Isis::ControlPoint::operator[] | ( | int | index | ) |
Same as GetMeasure (provided for convenience)
index | If there are n measures, the measure returned will be the ith measure added to the point |
Definition at line 1919 of file ControlPoint.cpp.
References GetMeasure().
|
private |
What the heck is the point of this?
Definition at line 2039 of file ControlPoint.cpp.
References dateTime.
Referenced by Add(), ComputeApriori(), ComputeResiduals(), ComputeResiduals_Millimeters(), Delete(), SetAdjustedSurfacePoint(), SetAprioriRadiusSource(), SetAprioriRadiusSourceFile(), SetAprioriSurfacePoint(), SetAprioriSurfacePointSource(), SetAprioriSurfacePointSourceFile(), SetIgnored(), and SetType().
|
static |
Obtain a string representation of a given PointType.
type | PointType to convert to a string |
Definition at line 1313 of file ControlPoint.cpp.
References Constrained, Fixed, and Free.
Referenced by Isis::ControlPointEditWidget::createControlPointGroupBox(), Isis::QnetTool::createControlPointGroupBox(), Isis::BundleControlPoint::formatAprioriSigmaString(), Isis::BundleControlPoint::formatBundleLatitudinalOutputDetailString(), Isis::BundleControlPoint::formatBundleOutputSummaryString(), Isis::BundleControlPoint::formatBundleRectangularOutputDetailString(), GetPointTypeString(), Isis::ControlPointEditWidget::loadPoint(), Isis::NewControlPointDialog::NewControlPointDialog(), and Isis::ControlNetVitals::pointModified().
|
static |
Obtain a string representation of a given RadiusSource.
source | RadiusSource to convert to string |
Definition at line 1393 of file ControlPoint.cpp.
Referenced by GetRadiusSourceString(), and Isis::Shape::save().
ControlPoint::Status Isis::ControlPoint::ResetApriori | ( | ) |
Reset all the Apriori info to defaults.
Definition at line 373 of file ControlPoint.cpp.
References aprioriRadiusSource, aprioriRadiusSourceFile, aprioriSurfacePoint, aprioriSurfacePointSource, aprioriSurfacePointSourceFile, constraintStatus, PointLocked, and Success.
ControlPoint::Status Isis::ControlPoint::SetAdjustedSurfacePoint | ( | SurfacePoint | newSurfacePoint | ) |
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.
newSurfacePoint | The point on the target's surface the measures are tied to |
Definition at line 684 of file ControlPoint.cpp.
References adjustedSurfacePoint, PointModified(), and Success.
Referenced by Isis::ControlNetVersioner::createPoint(), operator=(), and Isis::BundleControlPoint::setAdjustedSurfacePoint().
ControlPoint::Status Isis::ControlPoint::SetAprioriRadiusSource | ( | RadiusSource::Source | source | ) |
This updates the source of the radius of the apriori surface point.
source | Where the radius came from |
Definition at line 728 of file ControlPoint.cpp.
References aprioriRadiusSource, editLock, PointLocked, PointModified(), and Success.
Referenced by ComputeApriori(), Isis::ControlNetVersioner::createPoint(), and operator=().
ControlPoint::Status Isis::ControlPoint::SetAprioriRadiusSourceFile | ( | QString | sourceFile | ) |
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.
source | Where the radius came from |
Definition at line 747 of file ControlPoint.cpp.
References aprioriRadiusSourceFile, editLock, PointLocked, PointModified(), and Success.
Referenced by Isis::ControlNetVersioner::createPoint(), and operator=().
ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePoint | ( | SurfacePoint | aprioriSP | ) |
This updates the apriori surface point.
aprioriSP | The apriori surface point to remember |
Definition at line 771 of file ControlPoint.cpp.
References aprioriSurfacePoint, constraintStatus, editLock, Isis::ControlNet::GetCoordType(), Isis::Angle::isValid(), Isis::Distance::isValid(), Isis::SurfacePoint::Latitudinal, parentNetwork, PointLocked, PointModified(), Isis::SurfacePoint::Rectangular, and Success.
Referenced by Isis::QnetTool::createFixedPoint(), Isis::StereoTool::createPoint(), Isis::ControlNetVersioner::createPoint(), Isis::StereoTool::measureSaved(), operator=(), and Isis::QnetSetAprioriDialog::setApriori().
ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePointSource | ( | SurfacePointSource::Source | source | ) |
This updates the source of the surface point.
source | Where the surface point came from |
Definition at line 813 of file ControlPoint.cpp.
References aprioriSurfacePointSource, editLock, PointLocked, PointModified(), and Success.
Referenced by ComputeApriori(), Isis::ControlPointEditWidget::createControlPoint(), Isis::ControlNetVersioner::createPoint(), operator=(), and Isis::QnetSetAprioriDialog::setApriori().
ControlPoint::Status Isis::ControlPoint::SetAprioriSurfacePointSourceFile | ( | QString | sourceFile | ) |
This updates the filename of where the apriori surface point came from.
sourceFile | Where the surface point came from |
Definition at line 831 of file ControlPoint.cpp.
References aprioriSurfacePointSourceFile, editLock, PointLocked, PointModified(), and Success.
Referenced by Isis::ControlPointEditWidget::changeGroundLocationsInNet(), Isis::ControlPointEditWidget::createControlPoint(), Isis::ControlNetVersioner::createPoint(), and operator=().
ControlPoint::Status Isis::ControlPoint::SetChooserName | ( | QString | name | ) |
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.
name | The username of the person who last modified this control point |
Definition at line 479 of file ControlPoint.cpp.
References chooserName, editLock, PointLocked, and Success.
Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createFixedPoint(), Isis::MatchTool::createPoint(), Isis::QnetTool::createPoint(), Isis::ControlNetVersioner::createPoint(), and operator=().
ControlPoint::Status Isis::ControlPoint::SetDateTime | ( | QString | newDateTime | ) |
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.
newDateTime | The date and time this control point was last modified |
Definition at line 496 of file ControlPoint.cpp.
References dateTime, editLock, PointLocked, and Success.
Referenced by Isis::ControlNetVersioner::createPoint(), and operator=().
ControlPoint::Status Isis::ControlPoint::SetEditLock | ( | bool | lock | ) |
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.
lock | True to enable edit lock, false to disable it and allow the point to be modified. |
Definition at line 514 of file ControlPoint.cpp.
References editLock, Isis::ControlNet::emitPointModified(), parentNetwork, and Success.
Referenced by Isis::ControlNetVersioner::createPoint(), Isis::CnetEditorWidget::filteredNetwork(), Isis::ControlNetFilter::FilterOutMeasuresBySerialNum(), Isis::ControlNetFilter::FilterOutPoint(), operator=(), Isis::MatchTool::setLockPoint(), and Isis::MatchTool::updatePointInfo().
|
private |
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.
measure | The new reference measure |
Definition at line 633 of file ControlPoint.cpp.
References referenceExplicitlySet.
Referenced by SetRefMeasure().
ControlPoint::Status Isis::ControlPoint::SetId | ( | QString | newId | ) |
Sets the Id of the control point.
id | Control Point Id |
Definition at line 544 of file ControlPoint.cpp.
References editLock, id, parentNetwork, PointLocked, Success, and Isis::ControlNet::UpdatePointReference().
Referenced by Isis::ControlNetVersioner::createPoint(), and operator=().
ControlPoint::Status Isis::ControlPoint::SetIgnored | ( | bool | newIgnoreStatus | ) |
Set whether to ignore or use control point.
newIgnoreStatus | True to ignore this Control Point, False to un-ignore |
Definition at line 645 of file ControlPoint.cpp.
References editLock, Isis::ControlNet::emitPointModified(), ignore, parentNetwork, Isis::ControlNet::pointIgnored(), PointLocked, PointModified(), Isis::ControlNet::pointUnIgnored(), and Success.
Referenced by Isis::ControlNetVersioner::createPoint(), Isis::InterestOperator::FindCnetRef(), Isis::MatchTool::measureSaved(), operator=(), Isis::InterestOperator::ProcessLocked_Point_Reference(), Isis::MatchTool::setIgnorePoint(), and Isis::MatchTool::updatePointInfo().
void Isis::ControlPoint::SetNumberOfRejectedMeasures | ( | int | numRejected | ) |
Set (update) the number of rejected measures for the control point.
numRejected | The number of rejected measures |
Definition at line 2058 of file ControlPoint.cpp.
References numberOfRejectedMeasures.
Referenced by Isis::BundleControlPoint::setNumberOfRejectedMeasures().
ControlPoint::Status Isis::ControlPoint::SetRefMeasure | ( | ControlMeasure * | cm | ) |
Set the point's reference measure.
cm | The new reference measure |
Definition at line 562 of file ControlPoint.cpp.
References editLock, PointLocked, SetExplicitReference(), and Success.
Referenced by ControlPoint(), Isis::ControlNetVersioner::createPoint(), Isis::InterestOperator::FindCnetRef(), and operator=().
ControlPoint::Status Isis::ControlPoint::SetRefMeasure | ( | int | index | ) |
Set the point's reference measure.
index | The index of the new reference measure |
Definition at line 578 of file ControlPoint.cpp.
References _FILEINFO_, editLock, PointLocked, Isis::IException::Programmer, SetExplicitReference(), Success, and Isis::toString().
ControlPoint::Status Isis::ControlPoint::SetRefMeasure | ( | QString | sn | ) |
Set the points reference measure.
sn | The serial number of the new reference measure |
Definition at line 599 of file ControlPoint.cpp.
References _FILEINFO_, editLock, PointLocked, Isis::IException::Programmer, SetExplicitReference(), and Success.
ControlPoint::Status Isis::ControlPoint::SetRejected | ( | bool | reject | ) |
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.
reject | True to reject a measure, false to include it in the adjustment |
Definition at line 531 of file ControlPoint.cpp.
References jigsawRejected, and Success.
Referenced by ClearJigsawRejected(), Isis::ControlNetVersioner::createPoint(), operator=(), and Isis::BundleControlPoint::setRejected().
ControlPoint::Status Isis::ControlPoint::SetType | ( | PointType | newType | ) |
Updates the control point's type.
This updates the last modified attributes of this point.
newType | The new type this control point should be |
Definition at line 701 of file ControlPoint.cpp.
References _FILEINFO_, Constrained, editLock, Isis::ControlNet::emitPointModified(), Fixed, Free, GetId(), parentNetwork, PointLocked, PointModified(), Isis::IException::Programmer, Success, and type.
Referenced by Isis::ControlPointEditWidget::createControlPoint(), Isis::QnetTool::createFixedPoint(), Isis::StereoTool::createPoint(), Isis::MatchTool::createPoint(), Isis::ControlNetVersioner::createPoint(), and operator=().
|
static |
Obtain a PointType given a string representation of it.
pointTypeString | for the requested PointType |
Definition at line 1339 of file ControlPoint.cpp.
References _FILEINFO_, Constrained, Fixed, Free, Isis::IException::Programmer, and type.
|
static |
Obtain a RadiusSource::Source from a string.
str | string to get a RadiusSource::Source from |
Definition at line 1428 of file ControlPoint.cpp.
Referenced by Isis::Shape::XmlHandler::startElement().
|
static |
Obtain a SurfacePoint::Source from a string.
str | string to get a SurfacePoint::Source from |
Definition at line 1510 of file ControlPoint.cpp.
Referenced by Isis::Shape::XmlHandler::startElement().
|
static |
Obtain a string representation of a given SurfacePointSource.
souce | SurfacePointSource to get a string representation of |
Definition at line 1472 of file ControlPoint.cpp.
Referenced by GetSurfacePointSourceString(), and Isis::Shape::save().
|
private |
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.
sn | The serial number of the measure to validate |
Definition at line 268 of file ControlPoint.cpp.
References _FILEINFO_, and Isis::IException::Programmer.
Referenced by Delete(), and GetMeasure().
void Isis::ControlPoint::ZeroNumberOfRejectedMeasures | ( | ) |
Initialize the number of rejected measures to 0.
Definition at line 2045 of file ControlPoint.cpp.
References numberOfRejectedMeasures.
Referenced by Isis::BundleControlPoint::zeroNumberOfRejectedMeasures().
|
private |
This is the calculated, or aposterori, surface point.
This is what most programs should be working with and updating.
Definition at line 725 of file ControlPoint.h.
Referenced by ComputeApriori(), ControlPoint(), GetBestSurfacePoint(), operator=(), operator==(), and SetAdjustedSurfacePoint().
|
private |
Where the apriori surface point's radius originated from, most commonly used by jigsaw.
Definition at line 704 of file ControlPoint.h.
Referenced by ControlPoint(), GetRadiusSourceString(), operator=(), operator==(), ResetApriori(), and SetAprioriRadiusSource().
|
private |
The name of the file that derives the apriori surface point's radius.
Definition at line 709 of file ControlPoint.h.
Referenced by ControlPoint(), HasAprioriRadiusSourceFile(), operator=(), operator==(), ResetApriori(), and SetAprioriRadiusSourceFile().
|
private |
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 719 of file ControlPoint.h.
Referenced by ComputeApriori(), ControlPoint(), GetBestSurfacePoint(), operator=(), operator==(), ResetApriori(), and SetAprioriSurfacePoint().
|
private |
Where the apriori surface point originated from.
Definition at line 695 of file ControlPoint.h.
Referenced by ControlPoint(), GetSurfacePointSourceString(), operator=(), operator==(), ResetApriori(), and SetAprioriSurfacePointSource().
|
private |
FileName where the apriori surface point originated from.
Definition at line 698 of file ControlPoint.h.
Referenced by ControlPoint(), HasAprioriSurfacePointSourceFile(), operator=(), operator==(), ResetApriori(), and SetAprioriSurfacePointSourceFile().
|
private |
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 641 of file ControlPoint.h.
Referenced by ControlPoint(), HasChooserName(), operator=(), operator==(), and SetChooserName().
|
private |
This stores the constraint status of the a priori SurfacePoint.
Instead we made generic coordinates
Definition at line 678 of file ControlPoint.h.
Referenced by ControlPoint(), IsConstrained(), IsCoord1Constrained(), IsCoord2Constrained(), IsCoord3Constrained(), NumberOfConstrainedCoordinates(), operator=(), operator==(), ResetApriori(), and SetAprioriSurfacePoint().
|
private |
This is the last modified date and time.
This is updated automatically and works virtually in the same way as chooserName.
Definition at line 647 of file ControlPoint.h.
Referenced by ControlPoint(), HasDateTime(), operator=(), operator==(), PointModified(), and SetDateTime().
|
private |
This stores the edit lock state.
Definition at line 666 of file ControlPoint.h.
Referenced by ControlPoint(), operator=(), operator==(), SetAprioriRadiusSource(), SetAprioriRadiusSourceFile(), SetAprioriSurfacePoint(), SetAprioriSurfacePointSource(), SetAprioriSurfacePointSourceFile(), SetChooserName(), SetDateTime(), SetEditLock(), SetId(), SetIgnored(), SetRefMeasure(), and SetType().
|
private |
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 631 of file ControlPoint.h.
Referenced by ControlPoint(), GetId(), operator=(), operator==(), and SetId().
|
private |
True if we should preserve but ignore the entire control point and its measures.
Definition at line 692 of file ControlPoint.h.
Referenced by ControlPoint(), operator=(), operator==(), and SetIgnored().
|
private |
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 660 of file ControlPoint.h.
Referenced by ControlPoint(), operator=(), and operator==().
|
private |
This stores the jigsaw rejected state.
Definition at line 672 of file ControlPoint.h.
Referenced by ControlPoint(), operator=(), operator==(), and SetRejected().
|
private |
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 732 of file ControlPoint.h.
Referenced by ControlPoint(), GetNumberOfRejectedMeasures(), operator=(), operator==(), SetNumberOfRejectedMeasures(), and ZeroNumberOfRejectedMeasures().
|
private |
List of Control Measures.
Definition at line 617 of file ControlPoint.h.
Referenced by AddMeasure(), Isis::ControlNet::AddPoint(), ControlPoint(), Delete(), emitMeasureModified(), SetAprioriSurfacePoint(), SetEditLock(), SetId(), SetIgnored(), and SetType().
|
private |
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 686 of file ControlPoint.h.
Referenced by ControlPoint(), Delete(), IsReferenceExplicit(), operator=(), operator==(), and SetExplicitReference().
|
private |
What this control point is tying together.
Definition at line 653 of file ControlPoint.h.
Referenced by ControlPoint(), GetType(), IsConstrained(), IsFixed(), IsFree(), operator=(), operator==(), SetType(), and StringToPointType().