Isis 3.0 Object Programmers' Reference |
Home |
This class is designed to encapsulate the concept of a Latitude. More...
#include <Latitude.h>
Public Types | |
enum | ErrorChecking { ThrowAllErrors = 0, AllowPastPole } |
Some user-configurable error checking parameters. More... | |
enum | CoordinateType { Planetocentric, Planetographic } |
These are the latitude coordinate systems. More... | |
enum | Units { Degrees, Radians } |
The set of usable angle measurement units. More... | |
Public Member Functions | |
Latitude () | |
Create a blank Latitude object without Planetographic support. | |
Latitude (double latitude, Angle::Units latitudeUnits, ErrorChecking errors=AllowPastPole) | |
Create and initialize a Latitude value without planetographic support. | |
Latitude (Angle latitude, ErrorChecking errors=AllowPastPole) | |
Create and initialize a Latitude value in the planetocentric domain within the given angle. | |
Latitude (Angle latitude, PvlGroup mapping, ErrorChecking errors=ThrowAllErrors) | |
Create and initialize a Latitude value using the mapping group's latitude units and radii. | |
Latitude (double latitude, PvlGroup mapping, Angle::Units latitudeUnits, ErrorChecking errors=ThrowAllErrors) | |
Create and initialize a Latitude value using the mapping group's latitude units and radii. | |
Latitude (double latitude, Distance equatorialRadius, Distance polarRadius, CoordinateType latType=Planetocentric, Angle::Units latitudeUnits=Angle::Radians, ErrorChecking errors=ThrowAllErrors) | |
Create and initialize a Latitude value with planetographic support. | |
Latitude (const Latitude &latitudeToCopy) | |
This copies the given latitude exactly. | |
~Latitude () | |
This cleans up the Latitude class. | |
double | planetocentric (Angle::Units units=Angle::Radians) const |
Get the latitude in the planetocentric (universal) coordinate system. | |
void | setPlanetocentric (double latitude, Angle::Units units=Angle::Radians) |
Set the latitude given a value in the Planetocentric coordinate system. | |
double | planetographic (Angle::Units units=Angle::Radians) const |
Get the latitude in the planetographic coordinate system. | |
void | setPlanetographic (double latitude, Angle::Units units=Angle::Radians) |
Set the latitude given a value in the Planetographic coordinate system. | |
bool | inRange (Latitude min, Latitude max) const |
Checks if this latitude value is within the given range. | |
Latitude & | operator= (const Latitude &latitudeToCopy) |
This assigns another latitude to this one - making this latitude an exact duplicate of the other. | |
Latitude | add (Angle angleToAdd, PvlGroup mapping) |
Adds an angle to this latitude. | |
Latitude | add (Angle angleToAdd, Distance equatorialRadius, Distance polarRadius, CoordinateType latType) |
Adds another latitude to this one. | |
bool | isValid () const |
This indicates whether we have a legitimate angle stored or are in an unset, or invalid, state. | |
Angle | operator+ (const Angle &angle2) const |
Add angle value to another. | |
Angle | operator- (const Angle &angle2) const |
Subtract angle value from another and return the resulting angle. | |
Angle | operator* (double value) const |
Multiply this angle by a double and return the resulting angle. | |
Angle | operator* (int value) const |
Multiply this angle by an integer and return the resulting angle. | |
Angle | operator/ (double value) const |
Divide this angle by a double. | |
double | operator/ (Angle value) const |
Divide this angle by another angle and return the ratio. | |
Angle | operator/ (int value) const |
Divide this angle by an integer and return the resulting angle. | |
bool | operator< (const Angle &angle2) const |
Test if the other angle is less than the current angle. | |
bool | operator> (const Angle &angle2) const |
Test if the other angle is greater than the current angle. | |
void | operator+= (const Angle &angle2) |
Add angle value to another as double and replace original. | |
void | operator-= (const Angle &angle2) |
Subtract angle value from another and set this instance to the resulting angle. | |
void | operator*= (double value) |
Multiply this angle by a double and set this instance to the resulting angle. | |
void | operator/= (double value) |
Divide this angle by a double and return the resulting angle. | |
bool | operator== (const Angle &angle2) const |
Test if another angle is equal to this angle. | |
bool | operator!= (const Angle &angle2) const |
Test if another angle is not equal to this angle. | |
bool | operator<= (const Angle &angle2) const |
Test if the other angle is less than or equal to the current angle. | |
bool | operator>= (const Angle &angle2) const |
Test if the other angle is greater than or equal to the current angle. | |
double | radians () const |
Convert an angle to a double. | |
double | degrees () const |
Get the angle in units of Degrees. | |
void | setRadians (double radians) |
Set the angle in units of Radians. | |
void | setDegrees (double degrees) |
Set the angle in units of Degrees. | |
virtual QString | toString (bool includeUnits=true) const |
Get the angle in human-readable form. | |
Static Public Member Functions | |
static Angle | fullRotation () |
Makes an angle to represent a full rotation (0-360 or 0-2pi). | |
Protected Member Functions | |
virtual void | setAngle (double angle, const Angle::Units &units) |
Same as planetocentric. | |
double | unitWrapValue (const Units &unit) const |
Return wrap value in desired units. | |
virtual double | angle (const Units &unit) const |
Return angle value in desired units. | |
virtual void | setAngle (const double &angle, const Units &unit) |
Set angle value in desired units. | |
Private Attributes | |
Distance * | m_equatorialRadius |
Used for converting to Planetographic, this is the radius of the target on the equatorial plane. | |
Distance * | m_polarRadius |
Used for converting to Planetographic, this is the radius of the target perpendicular to the equatorial plane. | |
ErrorChecking | m_errors |
This contains which exceptions should not be thrown. | |
This class is designed to encapsulate the concept of a Latitude.
This is used primary for surface points but is also a general purpose class. This class has error checking for past the poles. This adds the concept of 90/-90 and planetographic to the Angle class.
2011-01-25 Steven Lambright - Added a constructor which takes a mapping group.
2012-07-26 Kimberly Oyama and Steven Lambright - Added two add methods to handle planetographic latitudes. The first takes the angle to add and a Pvl mapping group to determine the latitude type and add accordingly. The second takes the angle to add, the equatorial and polar radii, and the latitude type. References #604.
2013-03-06 Steven Lambright - Added support for getting Radii from TargetName keyword. References #1534.
Definition at line 50 of file Latitude.h.
These are the latitude coordinate systems.
The universal system is Planetocentric and this class is heavily geared towards using them. If you wish to use Planetographic, planetary radii must be provided and at the moment latitudes past 90 aren't supported in Planetographic.
Definition at line 84 of file Latitude.h.
Some user-configurable error checking parameters.
This is meant to be used as a bit flag.
Example: Latitude(95, Angle::Degrees, Latitude::AllowPastPole) This will allow latitudes past 90 and not throw an exception.
Latitude(95, Angle::Degrees, Latitude::AllowPastPole | Latitude::ThrowAllErrors) This will allow latitudes past 90 still and not throw an exception.
Latitude(95, Angle::Degrees, Latitude::ThrowAllErrors) This will throw an exception.
Latitude(95, Angle::Degrees) This will throw an exception.
Enumerator | |
---|---|
ThrowAllErrors |
Throw an exception if any problems are found. |
AllowPastPole |
Don't throw an exception if a latitude beyond -90/90 is found. |
Definition at line 70 of file Latitude.h.
|
inherited |
The set of usable angle measurement units.
Isis::Latitude::Latitude | ( | ) |
Create a blank Latitude object without Planetographic support.
Definition at line 36 of file Latitude.cpp.
References AllowPastPole, m_equatorialRadius, m_errors, and m_polarRadius.
Referenced by add(), and planetographic().
Isis::Latitude::Latitude | ( | double | latitude, |
Angle::Units | latitudeUnits, | ||
ErrorChecking | errors = AllowPastPole |
||
) |
Create and initialize a Latitude value without planetographic support.
latitude | The latitude value this instance will represent, in the planetocentric coordinate system |
latitudeUnits | The angular units of the latitude value (degs, rads) |
errors | Error checking conditions |
Definition at line 54 of file Latitude.cpp.
References m_equatorialRadius, m_errors, m_polarRadius, and setPlanetocentric().
Isis::Latitude::Latitude | ( | Angle | latitude, |
ErrorChecking | errors = AllowPastPole |
||
) |
Create and initialize a Latitude value in the planetocentric domain within the given angle.
latitude | The latitude value this instance will represent |
errors | Error checking conditions |
Definition at line 72 of file Latitude.cpp.
References m_equatorialRadius, m_errors, m_polarRadius, Isis::Angle::Radians, Isis::Angle::radians(), and setPlanetocentric().
Isis::Latitude::Latitude | ( | Angle | latitude, |
PvlGroup | mapping, | ||
ErrorChecking | errors = ThrowAllErrors |
||
) |
Create and initialize a Latitude value using the mapping group's latitude units and radii.
latitude | The latitude value this instance will represent, in the mapping group's units |
mapping | A mapping group |
latitudeUnits | The angular units of the latitude value (degs, rads) |
errors | Error checking conditions |
Definition at line 94 of file Latitude.cpp.
References _FILEINFO_, Isis::PvlContainer::hasKeyword(), m_equatorialRadius, m_errors, m_polarRadius, Isis::Distance::Meters, Isis::IException::Programmer, Isis::Angle::Radians, Isis::Angle::radians(), setPlanetocentric(), setPlanetographic(), Isis::TProjection::TargetRadii(), and Isis::toDouble().
Isis::Latitude::Latitude | ( | double | latitude, |
PvlGroup | mapping, | ||
Angle::Units | latitudeUnits, | ||
ErrorChecking | errors = ThrowAllErrors |
||
) |
Create and initialize a Latitude value using the mapping group's latitude units and radii.
latitude | The latitude value this instance will represent, in the mapping group's units |
mapping | A mapping group |
latitudeUnits | The angular units of the latitude value (degs, rads) |
errors | Error checking conditions |
Definition at line 142 of file Latitude.cpp.
References _FILEINFO_, Isis::PvlContainer::hasKeyword(), m_equatorialRadius, m_errors, m_polarRadius, Isis::Distance::Meters, Isis::IException::Programmer, setPlanetocentric(), setPlanetographic(), Isis::TProjection::TargetRadii(), and Isis::toDouble().
Isis::Latitude::Latitude | ( | double | latitude, |
Distance | equatorialRadius, | ||
Distance | polarRadius, | ||
CoordinateType | latType = Planetocentric , |
||
Angle::Units | latitudeUnits = Angle::Radians , |
||
ErrorChecking | errors = ThrowAllErrors |
||
) |
Create and initialize a Latitude value with planetographic support.
latitude | The latitude value this instance will represent, in planetocentric |
equatorialRadius | Radius of the target (planet) at the equator |
polarRadius | Radius of the target (planet) at the poles |
latType | The coordinate system of the latitude parameter |
latitudeUnits | The angular units of the latitude value (degs, rads) |
errors | Error checking conditions |
Definition at line 193 of file Latitude.cpp.
References _FILEINFO_, m_equatorialRadius, m_errors, m_polarRadius, Planetocentric, Planetographic, Isis::IException::Programmer, setPlanetocentric(), and setPlanetographic().
Isis::Latitude::Latitude | ( | const Latitude & | latitudeToCopy | ) |
This copies the given latitude exactly.
latitudeToCopy | The latitude we're duplicating |
Definition at line 225 of file Latitude.cpp.
References m_equatorialRadius, m_errors, and m_polarRadius.
Isis::Latitude::~Latitude | ( | ) |
This cleans up the Latitude class.
Definition at line 244 of file Latitude.cpp.
References m_equatorialRadius, and m_polarRadius.
Adds an angle to this latitude.
The adding method is determined by the latitude type.
angleToAdd | the latitude being added to this one |
mapping | the mapping group from a projection |
Definition at line 429 of file Latitude.cpp.
References _FILEINFO_, Isis::PvlContainer::hasKeyword(), Isis::Distance::Meters, Planetocentric, Planetographic, Isis::IException::Programmer, Isis::TProjection::TargetRadii(), and Isis::toDouble().
Latitude Isis::Latitude::add | ( | Angle | angleToAdd, |
Distance | equatorialRadius, | ||
Distance | polarRadius, | ||
CoordinateType | latType | ||
) |
Adds another latitude to this one.
Handles planetographic latitudes.
angleToAdd | the latitude being added to this one |
equatorialRadius | |
polarRadius | |
latType |
Definition at line 473 of file Latitude.cpp.
References Latitude(), m_errors, Planetocentric, planetocentric(), Planetographic, planetographic(), Isis::Angle::Radians, and Isis::Angle::radians().
|
protectedvirtualinherited |
Return angle value in desired units.
unit | Desired units of the angle (see Angle::Units) |
Definition at line 302 of file Angle.cpp.
References _FILEINFO_, Isis::Angle::Degrees, Isis::Angle::m_radians, Isis::Null, Isis::IException::Programmer, Isis::RAD2DEG(), and Isis::Angle::Radians.
Referenced by Isis::Angle::degrees(), Isis::Longitude::force360Domain(), Isis::Angle::operator<(), Isis::Angle::operator==(), Isis::Angle::operator>(), planetocentric(), Isis::Longitude::positiveEast(), Isis::Longitude::positiveWest(), Isis::Angle::radians(), and Isis::Angle::setAngle().
|
inlineinherited |
Get the angle in units of Degrees.
Definition at line 245 of file Angle.h.
References Isis::Angle::angle(), and Isis::Angle::Degrees.
Referenced by Isis::Angle::Angle(), Isis::BundleAdjust::applyParameterCorrections_CHOLMOD(), Isis::BundleAdjust::applyParameterCorrections_SPECIALK(), Isis::MosaicGridTool::autoGrid(), Isis::MosaicGridTool::drawGrid(), Isis::Longitude::force180Domain(), Isis::Longitude::force360Domain(), Isis::ImageTreeWidgetItem::ImageTreeWidgetItem(), inRange(), Isis::QnetTool::loadGroundMeasure(), Isis::QnetTool::loadPoint(), Isis::DemShape::localRadius(), operator<<(), Isis::BundleAdjust::OutputNoErrorPropagation(), Isis::BundleAdjust::OutputPointsCSV(), Isis::BundleAdjust::OutputWithErrorPropagation(), planetographic(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::MosaicGridToolConfigDialog::readSettings(), Isis::MosaicGridToolConfigDialog::refreshWidgetStates(), Isis::FeatureNomenclature::runQuery(), setAngle(), Isis::CameraGroundMap::SetGround(), Isis::VimsGroundMap::SetGround(), Isis::UniversalGroundMap::SetGround(), Isis::Camera::SetGround(), Isis::RingPlaneProjection::To180Domain(), Isis::TProjection::To180Domain(), Isis::RingPlaneProjection::To360Domain(), Isis::TProjection::To360Domain(), Isis::ControlNetFileV0002::toPvl(), Isis::MosaicGridTool::toPvl(), Isis::Angle::toString(), Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), Isis::BundleAdjust::Update(), Isis::MeasureTool::updateDist(), Isis::SunShadowTool::updateRow(), Isis::AdvancedTrackTool::updateRow(), and Isis::QnetTool::updateSurfacePointInfo().
|
staticinherited |
Makes an angle to represent a full rotation (0-360 or 0-2pi).
Definition at line 121 of file Angle.cpp.
References Isis::Angle::Angle(), and Isis::Angle::Degrees.
Referenced by Isis::Hillshade::shadedValue(), and Isis::Longitude::to360Range().
Checks if this latitude value is within the given range.
Defines the range as the change from the minimum latitude to the maximum latitude (an angle), and returns whether the change from the minimum latitude to this latitude is less than or equal to the maximum change allowed (the range).
min | The beginning of the valid latitude range |
max | The end of the valid latitude range |
Definition at line 373 of file Latitude.cpp.
References _FILEINFO_, Isis::Angle::Degrees, Isis::Angle::degrees(), and Isis::IException::User.
Referenced by Isis::QnetPointRangeFilter::filter().
|
inherited |
This indicates whether we have a legitimate angle stored or are in an unset, or invalid, state.
Definition at line 110 of file Angle.cpp.
References Isis::Angle::m_radians, and Isis::Null.
Referenced by Isis::FeatureNomenclatureTool::FeaturePosition::applyExtentType(), Isis::GroundGrid::CreateGrid(), Isis::Longitude::force180Domain(), Isis::Longitude::force360Domain(), Isis::SurfacePoint::GetLatSigmaDistance(), Isis::SurfacePoint::GetLonSigmaDistance(), Isis::UniversalGroundMap::GroundRange(), Isis::DemShape::localRadius(), Isis::SunShadowTool::mouseMove(), Isis::Angle::operator*(), Isis::Angle::operator+(), Isis::Angle::operator-(), Isis::Angle::operator/(), Isis::Angle::operator<(), Isis::Angle::operator>(), planetographic(), Isis::NaifDskPlateModel::point(), Isis::Image::save(), Isis::ControlPoint::SetAprioriSurfacePoint(), Isis::Hillshade::setAzimuth(), Isis::GroundGrid::SetGroundLimits(), Isis::Camera::SetImage(), Isis::SurfacePoint::SetSpherical(), Isis::SurfacePoint::SetSphericalPoint(), Isis::SurfacePoint::SetSphericalSigmas(), Isis::Hillshade::setZenith(), Isis::Longitude::to360Range(), Isis::Angle::toString(), and Isis::SunShadowTool::updateRow().
|
inlineinherited |
|
inherited |
Multiply this angle by a double and return the resulting angle.
If this is an invalid angle, then the result will be an invalid angle.
value | The value to multiply to this angle |
Definition at line 169 of file Angle.cpp.
References Isis::Angle::Angle(), Isis::Angle::isValid(), Isis::Angle::Radians, and Isis::Angle::radians().
|
inlineinherited |
|
inlineinherited |
Add angle value to another.
If either of these are invalid angles, then the result will be an invalid angle.
angle2 | The angle to add to this angle |
Definition at line 133 of file Angle.cpp.
References Isis::Angle::Angle(), Isis::Angle::isValid(), Isis::Angle::Radians, and Isis::Angle::radians().
|
inlineinherited |
Subtract angle value from another and return the resulting angle.
If either of these are invalid angles, then the result will be an invalid angle.
angle2 | The angle to subtract from this angle |
Definition at line 151 of file Angle.cpp.
References Isis::Angle::Angle(), Isis::Angle::isValid(), Isis::Angle::Radians, and Isis::Angle::radians().
|
inlineinherited |
|
inherited |
Divide this angle by a double.
value | The double value to use as the divisor |
Definition at line 196 of file Angle.cpp.
References Isis::Angle::Angle(), Isis::Angle::isValid(), Isis::Angle::Radians, and Isis::Angle::radians().
|
inherited |
Divide this angle by another angle and return the ratio.
value | The ratio, Null if invalid |
Definition at line 209 of file Angle.cpp.
References Isis::Angle::isValid(), Isis::Null, and Isis::Angle::radians().
|
inlineinherited |
|
inlineinherited |
|
inherited |
Test if the other angle is less than the current angle.
If either is invalid, then an exception will be thrown.
angle2 | The comparison angle (on right-hand-side of < operator) |
Definition at line 223 of file Angle.cpp.
References _FILEINFO_, Isis::Angle::angle(), Isis::Angle::isValid(), Isis::IException::Programmer, and Isis::Angle::Radians.
|
inlineinherited |
This assigns another latitude to this one - making this latitude an exact duplicate of the other.
latitudeToCopy | The latitude we are assigning from |
Definition at line 399 of file Latitude.cpp.
References m_equatorialRadius, m_errors, m_polarRadius, planetocentric(), and setPlanetocentric().
|
inlineinherited |
Test if another angle is equal to this angle.
This does not compensate for going around a circle: Angle(360, Angle::Degrees) does not equal Angle(0, Angle::Degrees)
Invalid angles are equal to each other.
angle2 | The comparison angle (on right-hand-side of == operator) |
Definition at line 187 of file Angle.h.
References Isis::Angle::angle(), and Isis::Angle::Radians.
|
inherited |
Test if the other angle is greater than the current angle.
If either is invalid, then an exception will be thrown.
angle2 | The comparison angle (on right-hand-side of > operator) |
Definition at line 240 of file Angle.cpp.
References _FILEINFO_, Isis::Angle::angle(), Isis::Angle::isValid(), Isis::IException::Programmer, and Isis::Angle::Radians.
|
inlineinherited |
double Isis::Latitude::planetocentric | ( | Angle::Units | units = Angle::Radians | ) | const |
Get the latitude in the planetocentric (universal) coordinate system.
units | The angular units to get the latitude in |
Definition at line 264 of file Latitude.cpp.
References Isis::Angle::angle().
Referenced by add(), operator=(), and Isis::NaifDskPlateModel::point().
double Isis::Latitude::planetographic | ( | Angle::Units | units = Angle::Radians | ) | const |
Get the latitude in the planetographic coordinate system.
If this instance was not constructed with the planetary radii, then an exception will be thrown.
units | The angular units to get the latitude in |
Definition at line 289 of file Latitude.cpp.
References _FILEINFO_, Isis::Angle::Angle(), Isis::Angle::Degrees, Isis::Angle::degrees(), Isis::Angle::isValid(), Latitude(), m_equatorialRadius, m_polarRadius, Isis::IException::Programmer, Isis::Angle::Radians, and Isis::Angle::radians().
Referenced by add(), Isis::MosaicGridTool::autoGrid(), and Isis::MosaicGridToolConfigDialog::readSettings().
|
inlineinherited |
Convert an angle to a double.
This will return the radians version of the angle.
operator double() const { return angle(Radians); } Get the angle in units of Radians.
Definition at line 239 of file Angle.h.
References Isis::Angle::angle(), and Isis::Angle::Radians.
Referenced by add(), Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::MosaicAreaTool::calcLatLonRange(), Isis::BundleAdjust::errorPropagation_CHOLMOD(), Isis::BundleAdjust::errorPropagation_SPECIALK(), Isis::SurfacePoint::GetDistanceToPoint(), Isis::SurfacePoint::GetLatSigmaDistance(), Isis::Camera::GetLocalNormal(), Isis::SurfacePoint::GetLonSigmaDistance(), Isis::Longitude::inRange(), Latitude(), Isis::EllipsoidShape::localRadius(), Isis::Longitude::Longitude(), Isis::SunShadowTool::mouseMove(), Isis::Angle::operator*(), Isis::Angle::operator+(), Isis::Angle::operator-(), Isis::Angle::operator/(), operator<<(), Isis::Angle::operator=(), Isis::FeatureNomenclatureTool::ViewportFeatureDisplay::paint(), planetographic(), Isis::CameraGroundMap::PointPartial(), Isis::Image::save(), Isis::VimsGroundMap::SetGround(), setPlanetographic(), Isis::BundleAdjust::SetPostBundleSigmas(), Isis::SurfacePoint::SetSphericalPoint(), Isis::SurfacePoint::SetSphericalSigmas(), Isis::Hillshade::shadedValue(), Isis::MeasureTool::updateDist(), and Isis::SunShadowTool::updateRow().
|
protectedvirtual |
Same as planetocentric.
We're overriding this method in order to do -90/90 degree checking.
operator double() const { return planetocentric(); }
angle | The numeric value of the angle |
units | The units angle is in (radians or degrees typically) |
Definition at line 499 of file Latitude.cpp.
References _FILEINFO_, AllowPastPole, Isis::Angle::Angle(), Isis::Angle::Degrees, Isis::Angle::degrees(), Isis::IsSpecial(), m_errors, Isis::IException::Programmer, and Isis::Angle::setAngle().
Referenced by setPlanetocentric(), and setPlanetographic().
|
protectedvirtualinherited |
Set angle value in desired units.
angle | The angle value in units of the unit parameter |
unit | Desired units of the angle (see Angle::Units) |
Definition at line 336 of file Angle.cpp.
References _FILEINFO_, Isis::Angle::angle(), Isis::DEG2RAD(), Isis::Angle::Degrees, Isis::IsSpecial(), Isis::Angle::m_radians, Isis::Null, Isis::IException::Programmer, and Isis::Angle::Radians.
Referenced by Isis::Angle::Angle(), Isis::Angle::operator=(), setAngle(), Isis::Angle::setDegrees(), Isis::Longitude::setPositiveEast(), Isis::Longitude::setPositiveWest(), and Isis::Angle::setRadians().
|
inlineinherited |
Set the angle in units of Degrees.
degrees | The new angle value, Null for invalid angle |
Definition at line 259 of file Angle.h.
References Isis::Angle::Degrees, and Isis::Angle::setAngle().
void Isis::Latitude::setPlanetocentric | ( | double | latitude, |
Angle::Units | units = Angle::Radians |
||
) |
Set the latitude given a value in the Planetocentric coordinate system.
latitude | The planetographic latitude to set ourselves to |
units | The angular units latitude is in |
Definition at line 275 of file Latitude.cpp.
References setAngle().
Referenced by Latitude(), and operator=().
void Isis::Latitude::setPlanetographic | ( | double | latitude, |
Angle::Units | units = Angle::Radians |
||
) |
Set the latitude given a value in the Planetographic coordinate system.
latitude | The planetographic latitude to set ourselves to |
units | The angular units latitude is in |
Definition at line 326 of file Latitude.cpp.
References _FILEINFO_, Isis::Angle::Angle(), Isis::Angle::Degrees, Isis::IsSpecial(), m_equatorialRadius, m_polarRadius, Isis::IException::Programmer, Isis::Angle::Radians, Isis::Angle::radians(), and setAngle().
Referenced by Latitude().
|
inlineinherited |
Set the angle in units of Radians.
radians | The new angle value, Null for invalid angle |
Definition at line 252 of file Angle.h.
References Isis::Angle::Radians, and Isis::Angle::setAngle().
|
virtualinherited |
Get the angle in human-readable form.
includeUnits | Include the angle's units in the text. |
Definition at line 256 of file Angle.cpp.
References Isis::Angle::degrees(), Isis::Angle::isValid(), and Isis::toString().
Referenced by Isis::operator<<(), and Isis::Hillshade::shadedValue().
|
protectedinherited |
Return wrap value in desired units.
The 'wrap' value is the value where one circle occurs - angles greater than this are conceptually 'wrapping' back to zero. For example, this is 2*PI in radians because 2*PI == 0 on a circle. Please keep in mind we still differentiate those two angles.
unit | Desired units of the Angle wrap constant (see Angle::Units) |
Definition at line 279 of file Angle.cpp.
References _FILEINFO_, Isis::Angle::Degrees, Isis::PI(), Isis::IException::Programmer, and Isis::Angle::Radians.
Referenced by Isis::Longitude::positiveWest(), and Isis::Longitude::setPositiveWest().
|
private |
Used for converting to Planetographic, this is the radius of the target on the equatorial plane.
Definition at line 162 of file Latitude.h.
Referenced by Latitude(), operator=(), planetographic(), setPlanetographic(), and ~Latitude().
|
private |
This contains which exceptions should not be thrown.
Definition at line 170 of file Latitude.h.
Referenced by add(), Latitude(), operator=(), and setAngle().
|
private |
Used for converting to Planetographic, this is the radius of the target perpendicular to the equatorial plane.
Definition at line 167 of file Latitude.h.
Referenced by Latitude(), operator=(), planetographic(), setPlanetographic(), and ~Latitude().