Isis Developer Reference
SmtkPoint.h
Go to the documentation of this file.
1#ifndef SmtkPoint_h
2#define SmtkPoint_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
10#include "Camera.h"
11#include "GruenTypes.h"
12#include "ControlPoint.h"
13#include "SpecialPixel.h"
14
15namespace Isis {
16
25 public:
28 const Coordinate &geom = Coordinate()) :
29 m_point(pnt), m_geom(geom) { }
31
32 inline bool isValid() const {
33 return ( m_point.isValid() && m_geom.isValid() );
34 }
35
36 inline const Coordinate &getPoint() const { return (m_point); }
37 inline const Coordinate &getGeometry() const { return (m_geom); }
38
41 };
42
54 class SmtkPoint {
55 public:
57 m_isValid(false) { }
58 SmtkPoint(const PointPair &point, const PointPair &geom = PointPair()) :
59 m_matchpt(point),
60 m_regpnt(PointGeometry(point.getRight(), geom.getRight())),
61 m_geom(geom), m_registered(false), m_isValid(false) { }
62 SmtkPoint(const MatchPoint &mpt, const PointGeometry &regpnt,
63 const PointPair &geom) : m_matchpt(mpt), m_regpnt(regpnt),
64 m_geom(geom),
65 m_registered(mpt.isValid()),
66 m_isValid(false) { }
68
70 inline bool isValid() const { return (m_isValid); }
71
73 inline double GoodnessOfFit() const { return (m_matchpt.getEigen()); }
74
88 inline const PointPair &getPoints() const {
89 return (m_matchpt.m_point);
90 }
91
93 inline const PointPair &getGeometry() const {
94 return (m_geom);
95 }
96
98 inline const Coordinate &getLeft() const {
99 return (getPoints().getLeft());
100 }
101
112 inline const Coordinate &getRight() const {
113 return (m_regpnt.getPoint());
114 }
115
117 inline const AffineRadio &getAffine() const {
118 return (m_matchpt.m_affine);
119 }
120
133 inline bool isRegistered() const { return (m_registered); }
134
140 };
141};
142
143#endif
Container for affine and radiometric parameters.
Definition GruenTypes.h:242
Define a generic Y/X container.
Definition GruenTypes.h:53
bool isValid() const
Check for goodness.
Definition GruenTypes.h:107
Structure containing comprehensive registration info/results.
Definition GruenTypes.h:433
double getEigen() const
Definition GruenTypes.h:449
PointPair m_point
Definition GruenTypes.h:457
AffineRadio m_affine
Definition GruenTypes.h:458
Container for a point and its geometry.
Definition SmtkPoint.h:24
Coordinate m_point
Definition SmtkPoint.h:39
~PointGeometry()
Definition SmtkPoint.h:30
bool isValid() const
Definition SmtkPoint.h:32
Coordinate m_geom
Definition SmtkPoint.h:40
PointGeometry()
Definition SmtkPoint.h:26
const Coordinate & getPoint() const
Definition SmtkPoint.h:36
PointGeometry(const Coordinate &pnt, const Coordinate &geom=Coordinate())
Definition SmtkPoint.h:27
const Coordinate & getGeometry() const
Definition SmtkPoint.h:37
Define a point set of left, right and geometry at that location.
Definition GruenTypes.h:171
Container for SMTK match points.
Definition SmtkPoint.h:54
bool isRegistered() const
Returns registration status.
Definition SmtkPoint.h:133
double GoodnessOfFit() const
Returns goodness of the fit registration.
Definition SmtkPoint.h:73
const AffineRadio & getAffine() const
Returns the affine transform and radiometic results.
Definition SmtkPoint.h:117
~SmtkPoint()
Definition SmtkPoint.h:67
bool isValid() const
Indicates the smtk portion of the point is valid.
Definition SmtkPoint.h:70
const Coordinate & getLeft() const
Returns the left point.
Definition SmtkPoint.h:98
const PointPair & getGeometry() const
Return left and right point geometry.
Definition SmtkPoint.h:93
const Coordinate & getRight() const
Returns the registered right coordinate.
Definition SmtkPoint.h:112
bool m_registered
Definition SmtkPoint.h:138
const PointPair & getPoints() const
Get initial left and right point pair.
Definition SmtkPoint.h:88
SmtkPoint()
Definition SmtkPoint.h:56
MatchPoint m_matchpt
Definition SmtkPoint.h:135
PointPair m_geom
Definition SmtkPoint.h:137
SmtkPoint(const PointPair &point, const PointPair &geom=PointPair())
Definition SmtkPoint.h:58
PointGeometry m_regpnt
Definition SmtkPoint.h:136
bool m_isValid
Definition SmtkPoint.h:139
SmtkPoint(const MatchPoint &mpt, const PointGeometry &regpnt, const PointPair &geom)
Definition SmtkPoint.h:62
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16