OpenSceneGraph
3.0.1
|
EllipsoidModel encapsulates the ellipsoid used to model astronomical bodies, such as sun, planets, moon etc. More...
Public Member Functions | |
EllipsoidModel (double radiusEquator=WGS_84_RADIUS_EQUATOR, double radiusPolar=WGS_84_RADIUS_POLAR) | |
WGS_84 is a common representation of the earth's spheroid. | |
EllipsoidModel (const EllipsoidModel &et, const CopyOp ©op=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 |
Protected Member Functions | |
void | computeCoefficients () |
Protected Attributes | |
double | _radiusEquator |
double | _radiusPolar |
double | _eccentricitySquared |
Friends | |
bool | operator== (const EllipsoidModel &e1, const EllipsoidModel &e2) |
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.
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 computeCoefficients().
osg::EllipsoidModel::EllipsoidModel | ( | const EllipsoidModel & | et, |
const CopyOp & | copyop = CopyOp::SHALLOW_COPY |
||
) | [inline] |
References computeCoefficients().
void osg::EllipsoidModel::computeCoefficients | ( | ) | [inline, protected] |
References _radiusEquator, _radiusPolar, and _eccentricitySquared.
Referenced by EllipsoidModel(), setRadiusEquator(), and setRadiusPolar().
void osg::EllipsoidModel::computeCoordinateFrame | ( | double | latitude, |
double | longitude, | ||
osg::Matrixd & | localToWorld | ||
) | const [inline] |
Referenced by computeLocalToWorldTransformFromLatLongHeight(), and computeLocalToWorldTransformFromXYZ().
void osg::EllipsoidModel::computeLocalToWorldTransformFromLatLongHeight | ( | double | latitude, |
double | longitude, | ||
double | height, | ||
osg::Matrixd & | localToWorld | ||
) | const [inline] |
References convertLatLongHeightToXYZ(), osg::Matrixd::makeTranslate(), and computeCoordinateFrame().
void osg::EllipsoidModel::computeLocalToWorldTransformFromXYZ | ( | double | X, |
double | Y, | ||
double | Z, | ||
osg::Matrixd & | localToWorld | ||
) | const [inline] |
References convertXYZToLatLongHeight(), osg::Matrixd::makeTranslate(), and computeCoordinateFrame().
osg::Vec3d osg::EllipsoidModel::computeLocalUpVector | ( | double | X, |
double | Y, | ||
double | Z | ||
) | const [inline] |
References convertXYZToLatLongHeight().
void osg::EllipsoidModel::convertLatLongHeightToXYZ | ( | double | latitude, |
double | longitude, | ||
double | height, | ||
double & | X, | ||
double & | Y, | ||
double & | Z | ||
) | const [inline] |
References _radiusEquator, and _eccentricitySquared.
Referenced by computeLocalToWorldTransformFromLatLongHeight().
void osg::EllipsoidModel::convertXYZToLatLongHeight | ( | double | X, |
double | Y, | ||
double | Z, | ||
double & | latitude, | ||
double & | longitude, | ||
double & | height | ||
) | const [inline] |
References _radiusEquator, _radiusPolar, and _eccentricitySquared.
Referenced by computeLocalToWorldTransformFromXYZ(), and computeLocalUpVector().
double osg::EllipsoidModel::getRadiusEquator | ( | ) | const [inline] |
References _radiusEquator.
double osg::EllipsoidModel::getRadiusPolar | ( | ) | const [inline] |
References _radiusPolar.
bool osg::EllipsoidModel::isWGS84 | ( | ) | const [inline] |
References _radiusEquator, osg::WGS_84_RADIUS_EQUATOR, _radiusPolar, and osg::WGS_84_RADIUS_POLAR.
osg::EllipsoidModel::META_Object | ( | osg | , |
EllipsoidModel | |||
) |
void osg::EllipsoidModel::setRadiusEquator | ( | double | radius | ) | [inline] |
References _radiusEquator, and computeCoefficients().
void osg::EllipsoidModel::setRadiusPolar | ( | double | radius | ) | [inline] |
References _radiusPolar, and computeCoefficients().
bool operator== | ( | const EllipsoidModel & | e1, |
const EllipsoidModel & | e2 | ||
) | [friend] |
double osg::EllipsoidModel::_eccentricitySquared [protected] |
Referenced by computeCoefficients(), convertLatLongHeightToXYZ(), and convertXYZToLatLongHeight().
double osg::EllipsoidModel::_radiusEquator [protected] |
double osg::EllipsoidModel::_radiusPolar [protected] |
Referenced by setRadiusPolar(), getRadiusPolar(), isWGS84(), computeCoefficients(), and convertXYZToLatLongHeight().
![]() | Generated at Mon Oct 3 2011 12:39:41 for the OpenSceneGraph by doxygen 1.7.5. |