osg::EllipsoidModel Class Reference

`#include <CoordinateSystemNode>`

Inheritance diagram for osg::EllipsoidModel:

## Public Member Functions

| EllipsoidModel (double radiusEquator=WGS_84_RADIUS_EQUATOR, double radiusPolar=WGS_84_RADIUS_POLAR)
| EllipsoidModel (const EllipsoidModel &et, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| META_Object (osg, EllipsoidModel)
void | setRadiusEquator (double radius)
double | getRadiusEquator () const
void | setRadiusPolar (double radius)
double | getRadiusPolar () const
void | convertLatLongHeightToXYZ (double latitude, double longitude, double height, double &X, double &Y, double &Z) const
void | convertXYZToLatLongHeight (double X, double Y, double Z, double &latitude, double &longitude, double &height) const
void | computeLocalToWorldTransformFromLatLongHeight (double latitude, double longitude, double height, osg::Matrixd &localToWorld) const
void | computeLocalToWorldTransformFromXYZ (double X, double Y, double Z, osg::Matrixd &localToWorld) const
void | computeCoordinateFrame (double latitude, double longitude, osg::Matrixd &localToWorld) const
osg::Vec3d | computeLocalUpVector (double X, double Y, double Z) const
bool | isWGS84 () const
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * | cloneType () const =0
virtual Object * | clone (const CopyOp &) const =0
virtual bool | isSameKindAs (const Object *) const
virtual const char * | libraryName () const =0
virtual const char * | className () const =0
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual Image * | asImage ()
virtual const Image * | asImage () const
virtual void | setThreadSafeRefUnref (bool threadSafe)
virtual void | setName (const std::string &name)
void | setName (const char *name)
const std::string & | getName () const
void | setDataVariance (DataVariance dv)
DataVariance | getDataVariance () const
virtual void | computeDataVariance ()
void | setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () const
template<typename T>
bool | getUserValue (const std::string &name, T &value) const
template<typename T>
void | setUserValue (const std::string &name, const T &value)
virtual void | resizeGLObjectBuffers (unsigned int)
virtual void | releaseGLObjects (osg::State *=0) const
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Protected Member Functions

void | computeCoefficients ()
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

double | _radiusEquator
double | _radiusPolar
double | _eccentricitySquared
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Friends

bool | operator== (const EllipsoidModel &e1, const EllipsoidModel &e2)

## Additional Inherited Members

Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Detailed Description

EllipsoidModel encapsulates the ellipsoid used to model astronomical bodies, such as sun, planets, moon etc. All distance quantities (i.e. heights + radius) are in meters, and latitude and longitude are in radians.

## Constructor & Destructor Documentation

## EllipsoidModel() [1/2]

osg::EllipsoidModel::EllipsoidModel | ( | double | radiusEquator = WGS_84_RADIUS_EQUATOR,
|  | double | radiusPolar = WGS_84_RADIUS_POLAR )

inline

WGS_84 is a common representation of the earth's spheroid

References _radiusEquator, _radiusPolar, computeCoefficients(), osg::WGS_84_RADIUS_EQUATOR, and osg::WGS_84_RADIUS_POLAR.

Referenced by EllipsoidModel(), META_Object(), and operator==.

## EllipsoidModel() [2/2]

osg::EllipsoidModel::EllipsoidModel | ( | const EllipsoidModel & | et,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

inline

References _radiusEquator, _radiusPolar, computeCoefficients(), EllipsoidModel(), osg::Object::Object(), and osg::CopyOp::SHALLOW_COPY.

## Member Function Documentation

## computeCoefficients()

void osg::EllipsoidModel::computeCoefficients | ( |  | ) |

inline protected

References _eccentricitySquared, _radiusEquator, and _radiusPolar.

Referenced by EllipsoidModel(), EllipsoidModel(), setRadiusEquator(), and setRadiusPolar().

## computeCoordinateFrame()

void osg::EllipsoidModel::computeCoordinateFrame | ( | double | latitude,
|  | double | longitude,
|  | osg::Matrixd & | localToWorld ) const

inline

Referenced by computeLocalToWorldTransformFromLatLongHeight(), and computeLocalToWorldTransformFromXYZ().

## computeLocalToWorldTransformFromLatLongHeight()

void osg::EllipsoidModel::computeLocalToWorldTransformFromLatLongHeight | ( | double | latitude,
|  | double | longitude,
|  | double | height,
|  | osg::Matrixd & | localToWorld ) const

inline

References computeCoordinateFrame(), convertLatLongHeightToXYZ(), and osg::Matrixd::makeTranslate().

## computeLocalToWorldTransformFromXYZ()

void osg::EllipsoidModel::computeLocalToWorldTransformFromXYZ | ( | double | X,
|  | double | Y,
|  | double | Z,
|  | osg::Matrixd & | localToWorld ) const

inline

References computeCoordinateFrame(), convertXYZToLatLongHeight(), and osg::Matrixd::makeTranslate().

## computeLocalUpVector()

osg::Vec3d osg::EllipsoidModel::computeLocalUpVector | ( | double | X,
|  | double | Y,
|  | double | Z ) const

inline

References convertXYZToLatLongHeight().

## convertLatLongHeightToXYZ()

void osg::EllipsoidModel::convertLatLongHeightToXYZ | ( | double | latitude,
|  | double | longitude,
|  | double | height,
|  | double & | X,
|  | double & | Y,
|  | double & | Z ) const

inline

References _eccentricitySquared, and _radiusEquator.

Referenced by computeLocalToWorldTransformFromLatLongHeight().

## convertXYZToLatLongHeight()

void osg::EllipsoidModel::convertXYZToLatLongHeight | ( | double | X,
|  | double | Y,
|  | double | Z,
|  | double & | latitude,
|  | double & | longitude,
|  | double & | height ) const

inline

References _eccentricitySquared, _radiusEquator, _radiusPolar, and osg::PI_2.

Referenced by computeLocalToWorldTransformFromXYZ(), and computeLocalUpVector().

## getRadiusEquator()

double osg::EllipsoidModel::getRadiusEquator | ( |  | ) | const

inline

References _radiusEquator.

## getRadiusPolar()

double osg::EllipsoidModel::getRadiusPolar | ( |  | ) | const

inline

References _radiusPolar.

## isWGS84()

bool osg::EllipsoidModel::isWGS84 | ( |  | ) | const

inline

References _radiusEquator, _radiusPolar, osg::WGS_84_RADIUS_EQUATOR, and osg::WGS_84_RADIUS_POLAR.

## META_Object()

osg::EllipsoidModel::META_Object | ( | osg | ,
|  | EllipsoidModel | )

References EllipsoidModel().

## setRadiusEquator()

void osg::EllipsoidModel::setRadiusEquator | ( | double | radius | ) |

inline

References _radiusEquator, and computeCoefficients().

## setRadiusPolar()

void osg::EllipsoidModel::setRadiusPolar | ( | double | radius | ) |

inline

References _radiusPolar, and computeCoefficients().

## Friends And Related Symbol Documentation

## operator==

bool operator== | ( | const EllipsoidModel & | e1,
|  | const EllipsoidModel & | e2 )

friend

References _radiusEquator, _radiusPolar, and EllipsoidModel().

## Member Data Documentation

## _eccentricitySquared

double osg::EllipsoidModel::_eccentricitySquared

protected

Referenced by computeCoefficients(), convertLatLongHeightToXYZ(), and convertXYZToLatLongHeight().

## _radiusEquator

double osg::EllipsoidModel::_radiusEquator

protected

Referenced by computeCoefficients(), convertLatLongHeightToXYZ(), convertXYZToLatLongHeight(), EllipsoidModel(), EllipsoidModel(), getRadiusEquator(), isWGS84(), operator==, and setRadiusEquator().

## _radiusPolar

double osg::EllipsoidModel::_radiusPolar

protected

Referenced by computeCoefficients(), convertXYZToLatLongHeight(), EllipsoidModel(), EllipsoidModel(), getRadiusPolar(), isWGS84(), operator==, and setRadiusPolar().

The documentation for this class was generated from the following file:

- CoordinateSystemNode