Isis 3 Programmer Reference
AbstractPointItem.cpp
1 
7 /* SPDX-License-Identifier: CC0-1.0 */
8 
9 #include "IsisDebug.h"
10 
11 #include "AbstractPointItem.h"
12 
13 #include <QDateTime>
14 #include <QMessageBox>
15 #include <QString>
16 #include <QVariant>
17 
18 #include "CnetDisplayProperties.h"
19 #include "ControlMeasure.h"
20 #include "ControlNet.h"
21 #include "ControlPoint.h"
22 #include "IException.h"
23 #include "Latitude.h"
24 #include "Longitude.h"
25 #include "TableColumn.h"
26 #include "TableColumnList.h"
27 
28 
29 namespace Isis {
30  QString AbstractPointItem::getColumnName(Column col) {
31  switch (col) {
32  case Id:
33  return "Point ID";
34  case PointType:
35  return "Point Type";
36  case ChooserName:
37  return "Chooser Name";
38  case DateTime:
39  return "Date Time";
40  case EditLock:
41  return "Edit Lock";
42  case Ignored:
43  return "Ignored";
44  case Reference:
45  return "Reference";
46  case AdjustedSPLat:
47  return "Adjusted SP Lat";
48  case AdjustedSPLon:
49  return "Adjusted SP Lon";
50  case AdjustedSPRadius:
51  return "Adjusted SP Radius";
52  case AdjustedSPLatSigma:
53  return "Adjusted SP Lat Sigma";
54  case AdjustedSPLonSigma:
55  return "Adjusted SP Lon Sigma";
56  case AdjustedSPRadiusSigma:
57  return "Adjusted SP Radius Sigma";
58  case APrioriSPLat:
59  return "A Priori SP Lat";
60  case APrioriSPLon:
61  return "A Priori SP Lon";
62  case APrioriSPRadius:
63  return "A Priori SP Radius";
64  case APrioriSPLatSigma:
65  return "A Priori SP Lat Sigma";
66  case APrioriSPLonSigma:
67  return "A Priori SP Lon Sigma";
68  case APrioriSPRadiusSigma:
69  return "A Priori SP Radius Sigma";
70  case APrioriSPSource:
71  return "A Priori SP Source";
72  case APrioriSPSourceFile:
73  return "A Priori SP Source File";
74  case APrioriRadiusSource:
75  return "A Priori Radius Source";
76  case APrioriRadiusSourceFile:
77  return "A Priori Radius Source File";
78  case JigsawRejected:
79  return "Jigsaw Rejected";
80  }
81 
82  ASSERT(0);
83  return QString();
84  }
85 
86 
87  AbstractPointItem::Column AbstractPointItem::getColumn(QString columnTitle) {
88  for (int i = 0; i < COLS; i++) {
89  if (columnTitle == getColumnName((Column)i))
90  return (Column)i;
91  }
92 
93  QString msg = "Column title [" + columnTitle + "] does not match any of "
94  "the defined column types";
95  throw IException(IException::Programmer, msg, _FILEINFO_);
96  }
97 
98 
99  TableColumnList *AbstractPointItem::createColumns() {
100  TableColumnList *columnList = new TableColumnList;
101 
102  columnList->append(new TableColumn(getColumnName(Id), false, false));
103  columnList->append(
104  new TableColumn(getColumnName(PointType), false, false));
105  columnList->append(
106  new TableColumn(getColumnName(ChooserName), false, false));
107  columnList->append(
108  new TableColumn(getColumnName(DateTime), true, false));
109  columnList->append(
110  new TableColumn(getColumnName(EditLock), false, false));
111  columnList->append(
112  new TableColumn(getColumnName(Ignored), false, true));
113  columnList->append(
114  new TableColumn(getColumnName(Reference), false, false));
115  columnList->append(
116  new TableColumn(getColumnName(AdjustedSPLat), true, false));
117  columnList->append(
118  new TableColumn(getColumnName(AdjustedSPLon), true, false));
119  columnList->append(
120  new TableColumn(getColumnName(AdjustedSPRadius), true, false));
121  columnList->append(
122  new TableColumn(getColumnName(AdjustedSPLatSigma), true, false));
123  columnList->append(
124  new TableColumn(getColumnName(AdjustedSPLonSigma), true, false));
125  columnList->append(
126  new TableColumn(getColumnName(AdjustedSPRadiusSigma), true, false));
127  columnList->append(
128  new TableColumn(getColumnName(APrioriSPLat), false, false));
129  columnList->append(
130  new TableColumn(getColumnName(APrioriSPLon), false, false));
131  columnList->append(
132  new TableColumn(getColumnName(APrioriSPRadius), false, false));
133  columnList->append(
134  new TableColumn(getColumnName(APrioriSPLatSigma), false, false));
135  columnList->append(
136  new TableColumn(getColumnName(APrioriSPLonSigma), false, false));
137  columnList->append(
138  new TableColumn(getColumnName(APrioriSPRadiusSigma), false, false));
139  columnList->append(
140  new TableColumn(getColumnName(APrioriSPSource), false, false));
141  columnList->append(
142  new TableColumn(getColumnName(APrioriSPSourceFile), false, false));
143  columnList->append(
144  new TableColumn(getColumnName(APrioriRadiusSource), false, false));
145  columnList->append(new TableColumn(
146  getColumnName(APrioriRadiusSourceFile), false, false));
147  columnList->append(
148  new TableColumn(getColumnName(JigsawRejected), true, false));
149 
150  return columnList;
151  }
152 
153 
154  AbstractPointItem::AbstractPointItem(ControlPoint *cp,
155  int avgCharWidth, AbstractTreeItem *parent)
156  : AbstractTreeItem(parent) {
157  ASSERT(cp);
158  m_point = cp;
159  calcDataWidth(avgCharWidth);
160 
161  connect(m_point, SIGNAL(destroyed(QObject *)), this, SLOT(sourceDeleted()));
162  }
163 
164 
165  AbstractPointItem::~AbstractPointItem() {
166  m_point = NULL;
167  }
168 
169 
170  QVariant AbstractPointItem::getData() const {
171  return getData(getColumnName(Id));
172  }
173 
174 
175  QVariant AbstractPointItem::getData(QString columnTitle) const {
176  if (m_point) {
177  Column column = getColumn(columnTitle);
178 
179  switch ((Column) column) {
180  case Id:
181  return QVariant((QString)m_point->GetId());
182  case PointType:
183  return QVariant((QString)m_point->GetPointTypeString());
184  case ChooserName:
185  return QVariant((QString)m_point->GetChooserName());
186  case DateTime:
187  // return QVariant(QDateTime::fromString(
188  // m_point->GetDateTime(), "yyyy-MM-ddTHH:mm:ss"));
189  return QVariant((QString)m_point->GetDateTime());
190  case EditLock:
191  if (m_point->IsEditLocked())
192  return QVariant("Yes");
193  else
194  return QVariant("No");
195  break;
196  case Ignored:
197  if (m_point->IsIgnored())
198  return QVariant("Yes");
199  else
200  return QVariant("No");
201  case Reference:
202  if (m_point->GetNumMeasures())
203  return QVariant(
204  CnetDisplayProperties::getInstance()->getImageName(
205  (QString) m_point->GetRefMeasure()->GetCubeSerialNumber()));
206  else
207  return QVariant();
208  case AdjustedSPLat:
209  return QVariant(
210  m_point->GetAdjustedSurfacePoint().GetLatitude().degrees());
211  case AdjustedSPLon:
212  return QVariant(
213  m_point->GetAdjustedSurfacePoint().GetLongitude().degrees());
214  case AdjustedSPRadius:
215  return QVariant(
216  m_point->GetAdjustedSurfacePoint().GetLocalRadius().meters());
217  case AdjustedSPLatSigma:
218  return QVariant(
219  m_point->GetAdjustedSurfacePoint().
220  GetLatSigmaDistance().meters());
221  case AdjustedSPLonSigma:
222  return QVariant(
223  m_point->GetAdjustedSurfacePoint().
224  GetLonSigmaDistance().meters());
225  case AdjustedSPRadiusSigma:
226  return QVariant(
227  m_point->GetAdjustedSurfacePoint().
228  GetLocalRadiusSigma().meters());
229  case APrioriSPLat:
230  return QVariant(
231  m_point->GetAprioriSurfacePoint().GetLatitude().degrees());
232  case APrioriSPLon:
233  return QVariant(
234  m_point->GetAprioriSurfacePoint().GetLongitude().degrees());
235  case APrioriSPRadius:
236  return QVariant(
237  m_point->GetAprioriSurfacePoint().GetLocalRadius().meters());
238  case APrioriSPLatSigma:
239  return QVariant(
240  m_point->GetAprioriSurfacePoint().
241  GetLatSigmaDistance().meters());
242  case APrioriSPLonSigma:
243  return QVariant(
244  m_point->GetAprioriSurfacePoint().
245  GetLonSigmaDistance().meters());
246  case APrioriSPRadiusSigma:
247  return QVariant(
248  m_point->GetAprioriSurfacePoint().
249  GetLocalRadiusSigma().meters());
250  case APrioriSPSource:
251  return QVariant((QString)m_point->GetSurfacePointSourceString());
252  case APrioriSPSourceFile:
253  return QVariant((QString)m_point->GetAprioriSurfacePointSourceFile());
254  case APrioriRadiusSource:
255  return QVariant((QString)m_point->GetRadiusSourceString());
256  case APrioriRadiusSourceFile:
257  return QVariant((QString)m_point->GetAprioriRadiusSourceFile());
258  case JigsawRejected:
259  if (m_point->IsRejected())
260  return QVariant("Yes");
261  else
262  return QVariant("No");
263  }
264  }
265 
266  return QVariant();
267  }
268 
269 
270  void AbstractPointItem::setData(QString const &columnTitle,
271  QString const &newData) {
272  if (m_point) {
273  Column column = getColumn(columnTitle);
274 
275  switch ((Column) column) {
276  case Id:
277  m_point->SetId(newData);
278  break;
279  case PointType:
280  m_point->SetType(m_point->StringToPointType(newData));
281  break;
282  case ChooserName:
283  m_point->SetChooserName(newData);
284  break;
285  case DateTime:
286  m_point->SetDateTime(newData);
287  break;
288  case EditLock:
289  if (newData == "Yes")
290  m_point->SetEditLock(true);
291  else
292  m_point->SetEditLock(false);
293  break;
294  case Ignored:
295  m_point->SetIgnored(newData == "Yes");
296  break;
297  case Reference:
298  ASSERT(m_point->HasSerialNumber(newData));
299  m_point->SetRefMeasure(newData);
300  break;
301  case AdjustedSPLat:
302  m_point->SetAdjustedSurfacePoint(SurfacePoint(
303  Latitude(catchNull(newData), Angle::Degrees),
304  m_point->GetAdjustedSurfacePoint().GetLongitude(),
305  m_point->GetAdjustedSurfacePoint().GetLocalRadius()));
306  break;
307  case AdjustedSPLon:
308  m_point->SetAdjustedSurfacePoint(SurfacePoint(
309  m_point->GetAdjustedSurfacePoint().GetLatitude(),
310  Longitude(catchNull(newData), Angle::Degrees),
311  m_point->GetAdjustedSurfacePoint().GetLocalRadius()));
312  break;
313  case AdjustedSPRadius:
314  m_point->SetAdjustedSurfacePoint(SurfacePoint(
315  m_point->GetAdjustedSurfacePoint().GetLatitude(),
316  m_point->GetAdjustedSurfacePoint().GetLongitude(),
317  Distance(catchNull(newData), Distance::Meters)));
318  break;
319  case AdjustedSPLatSigma: {
320  QString msg = "Cannot set adjusted surface point latitude sigma";
321  throw IException(IException::Programmer, msg, _FILEINFO_);
322  break;
323  }
324  case AdjustedSPLonSigma: {
325  QString msg = "Cannot set adjusted surface point longitude sigma";
326  throw IException(IException::Programmer, msg, _FILEINFO_);
327  break;
328  }
329  case AdjustedSPRadiusSigma: {
330  QString msg = "Cannot set adjusted surface point radius sigma";
331  throw IException(IException::Programmer, msg, _FILEINFO_);
332  break;
333  }
334  case APrioriSPLat: {
335  Latitude newLat(catchNull(newData), Angle::Degrees);
336  SurfacePoint newSurfacePoint(prepareSurfacePoint(newLat,
337  m_point->GetAprioriSurfacePoint()));
338 
339  newSurfacePoint.SetSphericalCoordinates(newLat,
340  newSurfacePoint.GetLongitude(),
341  newSurfacePoint.GetLocalRadius());
342  m_point->SetAprioriSurfacePoint(newSurfacePoint);
343  break;
344  }
345  case APrioriSPLon: {
346  Longitude newLon(catchNull(newData), Angle::Degrees);
347  SurfacePoint newSurfacePoint(prepareSurfacePoint(newLon,
348  m_point->GetAprioriSurfacePoint()));
349 
350  newSurfacePoint.SetSphericalCoordinates(
351  newSurfacePoint.GetLatitude(),
352  newLon,
353  newSurfacePoint.GetLocalRadius());
354  m_point->SetAprioriSurfacePoint(newSurfacePoint);
355  break;
356  }
357  case APrioriSPRadius: {
358  Distance newRadius(catchNull(newData), Distance::Meters);
359  SurfacePoint newSurfacePoint(prepareSurfacePoint(newRadius,
360  m_point->GetAprioriSurfacePoint()));
361 
362  newSurfacePoint.SetSphericalCoordinates(
363  newSurfacePoint.GetLatitude(),
364  newSurfacePoint.GetLongitude(),
365  newRadius);
366  m_point->SetAprioriSurfacePoint(newSurfacePoint);
367  break;
368  }
369  case APrioriSPLatSigma: {
370  Distance newSigma(catchNull(newData), Distance::Meters);
371  SurfacePoint newSurfacePoint(prepareSigmas(newSigma,
372  m_point->GetAprioriSurfacePoint()));
373 
374  newSurfacePoint.SetSphericalSigmasDistance(
375  newSigma, newSurfacePoint.GetLonSigmaDistance(),
376  newSurfacePoint.GetLocalRadiusSigma());
377 
378  m_point->SetAprioriSurfacePoint(newSurfacePoint);
379  break;
380  }
381  case APrioriSPLonSigma: {
382  Distance newSigma(catchNull(newData), Distance::Meters);
383  SurfacePoint newSurfacePoint(prepareSigmas(newSigma,
384  m_point->GetAprioriSurfacePoint()));
385 
386  newSurfacePoint.SetSphericalSigmasDistance(
387  newSurfacePoint.GetLatSigmaDistance(), newSigma,
388  newSurfacePoint.GetLocalRadiusSigma());
389 
390  m_point->SetAprioriSurfacePoint(newSurfacePoint);
391  break;
392  }
393  case APrioriSPRadiusSigma: {
394  Distance newSigma(catchNull(newData), Distance::Meters);
395  SurfacePoint newSurfacePoint(prepareSigmas(newSigma,
396  m_point->GetAprioriSurfacePoint()));
397 
398  newSurfacePoint.SetSphericalSigmasDistance(
399  newSurfacePoint.GetLatSigmaDistance(),
400  newSurfacePoint.GetLonSigmaDistance(),
401  newSigma);
402 
403  m_point->SetAprioriSurfacePoint(newSurfacePoint);
404  break;
405  }
406  case APrioriSPSource:
408  m_point->StringToSurfacePointSource(newData));
409  break;
410  case APrioriSPSourceFile:
411  m_point->SetAprioriSurfacePointSourceFile(newData);
412  break;
413  case APrioriRadiusSource:
414  m_point->SetAprioriRadiusSource(
415  m_point->StringToRadiusSource(newData));
416  break;
417  case APrioriRadiusSourceFile:
418  m_point->SetAprioriRadiusSourceFile(newData);
419  break;
420  case JigsawRejected:
421  // jigsaw rejected is not editable!
422  break;
423  }
424  }
425  }
426 
427 
428  // Returns true if the data at the given column is locked (i.e.
429  // edit-locked). If the m_point is edit-locked, all columns except the edit
430  // lock column should be uneditable.
431  bool AbstractPointItem::isDataEditable(QString columnTitle) const {
432  bool locked = true;
433  if (m_point->IsEditLocked()) {
434  if (getColumn(columnTitle) == EditLock)
435  locked = false;
436  }
437  else {
438  locked = false;
439  }
440 
441  return !locked;
442  }
443 
444 
445  void AbstractPointItem::deleteSource() {
446  if (m_point) {
447  if (m_point->IsEditLocked()) {
448  QString msg = "Point [" + getFormattedData() + "] is edit locked and "
449  "cannot be deleted";
450  throw IException(IException::User, msg, _FILEINFO_);
451  }
452  else if (m_point->GetNumLockedMeasures() > 0) {
453  QString msg = "Point [" + getFormattedData() + "] has at least one "
454  "edit locked measure and cannot be deleted";
455  throw IException(IException::User, msg, _FILEINFO_);
456  }
457 
458  ControlPoint *tempPoint = m_point;
459  m_point = NULL;
460  tempPoint->Parent()->DeletePoint(tempPoint);
461  }
462  }
463 
464 
465  AbstractTreeItem::InternalPointerType AbstractPointItem::getPointerType() const {
466  return AbstractTreeItem::Point;
467  }
468 
469 
470  void *AbstractPointItem::getPointer() const {
471  return m_point;
472  }
473 
474 
475  bool AbstractPointItem::hasPoint(ControlPoint *p) const {
476  return m_point == p;
477  }
478 
479  void AbstractPointItem::sourceDeleted() {
480  m_point = NULL;
481  }
482 
483 
484  SurfacePoint AbstractPointItem::prepareSigmas(Distance newSigma,
485  SurfacePoint surfacePoint) {
486  const Distance free(10000, Distance::Meters);
487  Distance latSigDist = surfacePoint.GetLatSigmaDistance();
488  Distance lonSigDist = surfacePoint.GetLonSigmaDistance();
489  Distance radiusSigDist = surfacePoint.GetLocalRadiusSigma();
490 
491  if (newSigma.isValid()) {
492  if (!latSigDist.isValid())
493  latSigDist = free;
494  if (!lonSigDist.isValid())
495  lonSigDist = free;
496  if (!radiusSigDist.isValid())
497  radiusSigDist = free;
498  }
499  else {
500  latSigDist = Distance();
501  lonSigDist = Distance();
502  radiusSigDist = Distance();
503  }
504 
505  surfacePoint.SetSphericalSigmasDistance(
506  latSigDist, lonSigDist, radiusSigDist);
507  return surfacePoint;
508  }
509 
510 
511  SurfacePoint AbstractPointItem::prepareSurfacePoint(Latitude newLat,
512  SurfacePoint surfacePoint) {
513  if (newLat.isValid()) {
514  surfacePoint = prepareSurfacePoint(surfacePoint);
515  }
516  else {
517  surfacePoint.SetSphericalCoordinates(Latitude(), Longitude(),
518  Distance());
519  }
520 
521  return surfacePoint;
522  }
523 
524 
525  SurfacePoint AbstractPointItem::prepareSurfacePoint(Longitude newLon,
526  SurfacePoint surfacePoint) {
527  if (newLon.isValid()) {
528  surfacePoint = prepareSurfacePoint(surfacePoint);
529  }
530  else {
531  surfacePoint.SetSphericalCoordinates(Latitude(), Longitude(),
532  Distance());
533  }
534 
535  return surfacePoint;
536  }
537 
538 
539  SurfacePoint AbstractPointItem::prepareSurfacePoint(
540  Distance newRadius, SurfacePoint surfacePoint) {
541  if (newRadius.isValid()) {
542  surfacePoint = prepareSurfacePoint(surfacePoint);
543  }
544  else {
545  surfacePoint.SetSphericalCoordinates(Latitude(), Longitude(),
546  Distance());
547  }
548 
549  return surfacePoint;
550  }
551 
552 
553  SurfacePoint AbstractPointItem::prepareSurfacePoint(
554  SurfacePoint surfacePoint) {
555  Latitude lat = surfacePoint.GetLatitude();
556  Longitude lon = surfacePoint.GetLongitude();
557  Distance radius = surfacePoint.GetLocalRadius();
558 
559  if (!lat.isValid())
560  lat = Latitude(0, Angle::Degrees);
561  if (!lon.isValid())
562  lon = Longitude(0, Angle::Degrees);
563  if (!radius.isValid())
564  radius = Distance(10000, Distance::Meters);
565 
566  surfacePoint.SetSphericalCoordinates(lat, lon, radius);
567  return surfacePoint;
568  }
569 }
Isis::Angle::Degrees
@ Degrees
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
Definition: Angle.h:56
Isis::ControlPoint::SetAprioriRadiusSourceFile
Status SetAprioriRadiusSourceFile(QString sourceFile)
This updates the filename of the DEM that the apriori radius came from.
Definition: ControlPoint.cpp:755
Isis::ControlPoint::SetIgnored
Status SetIgnored(bool newIgnoreStatus)
Set whether to ignore or use control point.
Definition: ControlPoint.cpp:653
Isis::ControlPoint::SetChooserName
Status SetChooserName(QString name)
Set the point's chooser name.
Definition: ControlPoint.cpp:487
Isis::ControlPoint::SetEditLock
Status SetEditLock(bool editLock)
Set the EditLock state.
Definition: ControlPoint.cpp:522
Isis::ControlPoint::SetAdjustedSurfacePoint
Status SetAdjustedSurfacePoint(SurfacePoint newSurfacePoint)
Set or update the surface point relating to this control point.
Definition: ControlPoint.cpp:692
Isis::SurfacePoint::GetLatitude
Latitude GetLatitude() const
Return the body-fixed latitude for the surface point.
Definition: SurfacePoint.cpp:1665
Isis::ControlPoint::GetId
QString GetId() const
Return the Id of the control point.
Definition: ControlPoint.cpp:1306
Isis::ControlPoint::SetAprioriSurfacePointSourceFile
Status SetAprioriSurfacePointSourceFile(QString sourceFile)
This updates the filename of where the apriori surface point came from.
Definition: ControlPoint.cpp:839
Isis::ControlPoint::GetRadiusSourceString
QString GetRadiusSourceString() const
Obtain a string representation of the RadiusSource.
Definition: ControlPoint.cpp:1480
Isis::ControlMeasure::GetCubeSerialNumber
QString GetCubeSerialNumber() const
Return the serial number of the cube containing the coordinate.
Definition: ControlMeasure.cpp:557
Isis::Distance::Meters
@ Meters
The distance is being specified in meters.
Definition: Distance.h:43
Isis::ControlPoint::SetRefMeasure
Status SetRefMeasure(ControlMeasure *cm)
Set the point's reference measure.
Definition: ControlPoint.cpp:570
Isis::ControlPoint::SetAprioriSurfacePoint
Status SetAprioriSurfacePoint(SurfacePoint aprioriSP)
This updates the apriori surface point.
Definition: ControlPoint.cpp:779
Isis::ControlPoint::SetType
Status SetType(PointType newType)
Updates the control point's type.
Definition: ControlPoint.cpp:709
Isis::ControlPoint::GetSurfacePointSourceString
QString GetSurfacePointSourceString() const
Obtain a string representation of the SurfacePointSource.
Definition: ControlPoint.cpp:1561
Isis::ControlPoint::GetNumLockedMeasures
int GetNumLockedMeasures() const
Returns the number of locked control measures.
Definition: ControlPoint.cpp:1728
Isis::ControlPoint::SetId
Status SetId(QString id)
Sets the Id of the control point.
Definition: ControlPoint.cpp:552
Isis::ControlPoint::StringToSurfacePointSource
static SurfacePointSource::Source StringToSurfacePointSource(QString str)
Obtain a SurfacePoint::Source from a string.
Definition: ControlPoint.cpp:1530
Isis::ControlPoint::StringToRadiusSource
static RadiusSource::Source StringToRadiusSource(QString str)
Obtain a RadiusSource::Source from a string.
Definition: ControlPoint.cpp:1448
Isis::ControlPoint::SetDateTime
Status SetDateTime(QString newDateTime)
Set the point's last modified time.
Definition: ControlPoint.cpp:504
Isis::SurfacePoint::GetLongitude
Longitude GetLongitude() const
Return the body-fixed longitude for the surface point.
Definition: SurfacePoint.cpp:1685
Isis::SurfacePoint::GetLocalRadius
Distance GetLocalRadius() const
Return the radius of the surface point.
Definition: SurfacePoint.cpp:1732
Isis::IException::Programmer
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
Isis::ControlPoint::GetRefMeasure
const ControlMeasure * GetRefMeasure() const
Get the reference control measure.
Definition: ControlPoint.cpp:457
Isis::Distance::meters
double meters() const
Get the distance in meters.
Definition: Distance.cpp:85
Isis::ControlNet::DeletePoint
int DeletePoint(ControlPoint *point)
Delete a ControlPoint from the network by the point's address.
Definition: ControlNet.cpp:879
Isis::Angle::degrees
double degrees() const
Get the angle in units of Degrees.
Definition: Angle.h:232
Isis::ControlPoint::SetAprioriSurfacePointSource
Status SetAprioriSurfacePointSource(SurfacePointSource::Source source)
This updates the source of the surface point.
Definition: ControlPoint.cpp:821
Isis::ControlPoint::HasSerialNumber
bool HasSerialNumber(QString serialNumber) const
Return true if given serial number exists in point.
Definition: ControlPoint.cpp:1746
QObject
Isis::ControlPoint::StringToPointType
static PointType StringToPointType(QString pointTypeString)
Obtain a PointType given a string representation of it.
Definition: ControlPoint.cpp:1359
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ControlPoint::GetPointTypeString
QString GetPointTypeString() const
Obtain a string representation of the PointType.
Definition: ControlPoint.cpp:1392
Isis::ControlPoint::SetAprioriRadiusSource
Status SetAprioriRadiusSource(RadiusSource::Source source)
This updates the source of the radius of the apriori surface point.
Definition: ControlPoint.cpp:736
Isis::IException::User
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126