31 #include "boost/numeric/ublas/symmetric.hpp" 32 #include "boost/numeric/ublas/io.hpp" 181 const boost::numeric::ublas::symmetric_matrix
182 <
double,boost::numeric::ublas::upper>& covar);
190 const boost::numeric::ublas::symmetric_matrix
191 <
double,boost::numeric::ublas::upper>& covar);
200 const boost::numeric::ublas::symmetric_matrix<double,boost::numeric::ublas::upper>& covar);
210 const boost::numeric::ublas::symmetric_matrix<double,boost::numeric::ublas::upper>& covar,
224 const boost::numeric::ublas::symmetric_matrix
225 <
double,boost::numeric::ublas::upper>& covar);
231 const boost::numeric::ublas::symmetric_matrix<double,boost::numeric::ublas::upper>& covar,
248 const boost::numeric::ublas::symmetric_matrix<double,boost::numeric::ublas::upper>& covar);
270 boost::numeric::ublas::symmetric_matrix<double,boost::numeric::ublas::upper>
283 boost::numeric::ublas::symmetric_matrix
302 const Distance &sphereRadius)
const;
315 void ComputeLocalRadius();
316 void InitCovariance();
320 void FreeAllocatedMemory();
327 boost::numeric::ublas::symmetric_matrix
328 <double,boost::numeric::ublas::upper> *p_rectCovar;
330 boost::numeric::ublas::symmetric_matrix
331 <double,boost::numeric::ublas::upper> *p_sphereCovar;
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:148
CoordIndex
Definition: SurfacePoint.h:165
double LonToDouble(Longitude lon, CoordUnits units)
This method returns a double version of a Longitude in the specified units.
Definition: SurfacePoint.cpp:1409
void SetSpherical(const Latitude &lat, const Longitude &lon, const Distance &radius, const Angle &latSigma=Angle(), const Angle &lonSigma=Angle(), const Distance &radiusSigma=Distance())
Set surface point and covariance matrix in planetocentric coordinates and convert to rectangular (Lat...
Definition: SurfacePoint.cpp:512
double GetYWeight() const
Return Y weight for bundle adjustment Units are 1/(kilometers)^2.
Definition: SurfacePoint.cpp:1565
Distance GetXSigma() const
Definition: SurfacePoint.cpp:1451
Displacement GetZ() const
Definition: SurfacePoint.cpp:1444
Distance GetDistanceToPoint(const SurfacePoint &other) const
Computes and returns the distance between two surface points.
Definition: SurfacePoint.cpp:1874
double MetersToLatitude(double latLength)
This method returns an angular measure of a distance in the direction of and relative to the latitude...
Definition: SurfacePoint.cpp:1242
~SurfacePoint()
Destroys a SurfacePoint object/.
Definition: SurfacePoint.cpp:180
Displacement GetX() const
Definition: SurfacePoint.cpp:1430
boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > GetSphericalMatrix(SurfacePoint::CoordUnits units=SurfacePoint::Meters) const
Definition: SurfacePoint.cpp:1779
Distance GetZSigma() const
Definition: SurfacePoint.cpp:1465
void SetRectangularCoordinates(const Displacement &x, const Displacement &y, const Displacement &z)
Set surface point in rectangular coordinates.
Definition: SurfacePoint.cpp:321
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:63
Distance GetLatSigmaDistance() const
Return the latitude sigma as a Distance.
Definition: SurfacePoint.cpp:1741
double GetSigma(CoordinateType type, CoordIndex index, CoordUnits units)
This method returns a sigma of a SurfacePoint coordinate.
Definition: SurfacePoint.cpp:1023
void ResetLocalRadius(const Distance &radius)
This method resets the local radius of a SurfacePoint.
Definition: SurfacePoint.cpp:908
boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > GetRectangularMatrix(SurfacePoint::CoordUnits units=SurfacePoint::Meters) const
Definition: SurfacePoint.cpp:1597
Definition: SurfacePoint.h:160
Distance GetLonSigmaDistance() const
Return the longitude sigma in meters.
Definition: SurfacePoint.cpp:1757
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
std::vector< double > LatitudinalDerivative(CoordIndex index)
Compute partial derivative of the conversion of the latitudinal coordinates to body-fixed rectangular...
Definition: SurfacePoint.cpp:792
Distance measurement, usually in meters.
Definition: Distance.h:47
Latitude GetLatitude() const
Return the body-fixed latitude for the surface point.
Definition: SurfacePoint.cpp:1659
double GetCoord(CoordinateType type, CoordIndex index, CoordUnits units)
This method returns a coordinate of a SurfacePoint.
Definition: SurfacePoint.cpp:956
void SetRectangularSigmas(const Distance &xSigma, const Distance &ySigma, const Distance &zSigma)
Set surface point and sigmas in rectangular coordinates and convert to planetocentric.
Definition: SurfacePoint.cpp:344
Definition: SurfacePoint.h:162
std::vector< double > RectangularDerivative(CoordIndex index)
Compute partial derivative of the body-fixed rectangular coordinates with respect to the indicated co...
Definition: SurfacePoint.cpp:834
double GetZWeight() const
Return Z weight for bundle adjustment Units are 1/(kilometers)^2.
Definition: SurfacePoint.cpp:1583
Planetocentric latitudinal (lat/lon/rad) coordinates.
Definition: SurfacePoint.h:156
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:52
void SetRectangularMatrix(const boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > &covar, SurfacePoint::CoordUnits units=SurfacePoint::Meters)
Set rectangular covariance matrix and store in units of km**2.
Definition: SurfacePoint.cpp:370
void SetSphericalMatrix(const boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > &covar, SurfacePoint::CoordUnits units=SurfacePoint::Meters)
Set spherical covariance matrix.
Definition: SurfacePoint.cpp:631
double LongitudeToMeters(double longitude) const
This method returns a length in meters version of a delta longitude angle in radians relative to the ...
Definition: SurfacePoint.cpp:1330
std::vector< double > Partial(CoordinateType type, CoordIndex index)
Compute partial derivative of conversion from body-fixed coordinates to the specified.
Definition: SurfacePoint.cpp:767
double DisplacementToDouble(Displacement disp, CoordUnits units)
This method returns a double version of a Displacement in the specified units.
Definition: SurfacePoint.cpp:1154
static QString coordinateTypeToString(CoordinateType type)
Converts the given SurfacePoint::CoordinateType enumeration to a string.
Definition: SurfacePoint.cpp:1383
double MetersToLongitude(double lonLength)
This method returns an angular measure in radians of a distance in the direction of and relative to t...
Definition: SurfacePoint.cpp:1270
Definition: SurfacePoint.h:161
double GetLocalRadiusWeight() const
Return radius weight for bundle adjustment Units are 1/(kilometers)^2.
Definition: SurfacePoint.cpp:1858
double LatToDouble(Latitude lat, CoordUnits units)
This method returns a double version of a Latitude in the specified units.
Definition: SurfacePoint.cpp:1210
void SetMatrix(CoordinateType type, const boost::numeric::ublas::symmetric_matrix< double, boost::numeric::ublas::upper > &covar)
Set the covariance matrix.
Definition: SurfacePoint.cpp:743
Angle GetLatSigma() const
Definition: SurfacePoint.cpp:1639
Body-fixed rectangular x/y/z coordinates.
Definition: SurfacePoint.h:157
CoordinateType
Defines the coordinate typ, units, and coordinate index for some of the output methods.
Definition: SurfacePoint.h:155
bool Valid() const
Definition: SurfacePoint.cpp:941
Distance GetSigmaDistance(CoordinateType type, CoordIndex index)
This method returns a sigma of a SurfacePoint coordinate as a Distance.
Definition: SurfacePoint.cpp:1088
double GetLonWeight() const
Return longitude weight for bundle adjustment Units are 1/(radians)^2.
Definition: SurfacePoint.cpp:1842
Distance GetYSigma() const
Definition: SurfacePoint.cpp:1458
static CoordinateType stringToCoordinateType(QString type)
This method converts the given string value to a SurfacePoint::CoordinateType enumeration.
Definition: SurfacePoint.cpp:1357
double LatitudeToMeters(double latitude) const
This method returns a Displacement of an Angle relative to the current SurfacePoint latitude...
Definition: SurfacePoint.cpp:1304
Defines an angle and provides unit conversions.
Definition: Angle.h:62
void SetSphericalSigmas(const Angle &latSigma, const Angle &lonSigma, const Distance &radiusSigma)
Set the spherical sigmas into the spherical variance/covariance matrix in diagonal units of radians^2...
Definition: SurfacePoint.cpp:567
Definition: SurfacePoint.h:166
Longitude GetLongitude() const
Return the body-fixed longitude for the surface point.
Definition: SurfacePoint.cpp:1679
double GetXWeight() const
Return X weight for bundle adjustment Units are 1/(kilometers)^2.
Definition: SurfacePoint.cpp:1547
Definition: SurfacePoint.h:163
void ToNaifArray(double naifOutput[3]) const
A naif array is a c-style array of size 3.
Definition: SurfacePoint.cpp:864
Definition: SurfacePoint.h:168
Displacement is a signed length, usually in meters.
Definition: Displacement.h:43
void FromNaifArray(const double naifValues[3])
A naif array is a c-style array of size 3.
Definition: SurfacePoint.cpp:885
Distance GetLocalRadiusSigma() const
Definition: SurfacePoint.cpp:1770
double DistanceToDouble(Distance dist, CoordUnits units)
This method returns a double version of a Distance in the specified units.
Definition: SurfacePoint.cpp:1182
Angle GetLonSigma() const
Definition: SurfacePoint.cpp:1647
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Definition: SurfacePoint.h:167
void SetSphericalSigmasDistance(const Distance &latSigma, const Distance &lonSigma, const Distance &radiusSigma)
Set the spherical sigmas (in Distance units) into the spherical variance/covariance matrix...
Definition: SurfacePoint.cpp:611
SurfacePoint()
Constructs an empty SurfacePoint object.
Definition: SurfacePoint.cpp:20
bool operator==(const SurfacePoint &other) const
Definition: SurfacePoint.cpp:1923
double GetWeight(CoordinateType type, CoordIndex index)
This method returns the weight of a SurfacePoint coordinate Note: At this time a units argument is no...
Definition: SurfacePoint.cpp:1485
CoordUnits
Definition: SurfacePoint.h:159
SurfacePoint & operator=(const SurfacePoint &other)
Definition: SurfacePoint.cpp:1964
void SetSphericalCoordinates(const Latitude &lat, const Longitude &lon, const Distance &radius)
Update spherical coordinates (lat/lon/radius)
Definition: SurfacePoint.cpp:547
Distance GetLocalRadius() const
Return the radius of the surface point.
Definition: SurfacePoint.cpp:1726
Displacement GetY() const
Definition: SurfacePoint.cpp:1437
double GetLatWeight() const
Return latitude weight for bundle adjustment Units are 1/(radians)^2.
Definition: SurfacePoint.cpp:1826
void SetRectangular(const Displacement &x, const Displacement &y, const Displacement &z, const Distance &xSigma=Distance(), const Distance &ySigma=Distance(), const Distance &zSigma=Distance())
Set surface point in rectangular body-fixed coordinates wtih optional sigmas.
Definition: SurfacePoint.cpp:277