OpenSceneGraph 2.8.3
|
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 |
osg::Vec3d | computeLocalUpVector (double X, double Y, double Z) const |
Protected Member Functions | |
void | computeCoefficients () |
Protected Attributes | |
double | _radiusEquator |
double | _radiusPolar |
double | _eccentricitySquared |
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 _eccentricitySquared, _radiusEquator, and _radiusPolar.
Referenced by EllipsoidModel(), setRadiusEquator(), and setRadiusPolar().
void osg::EllipsoidModel::computeLocalToWorldTransformFromLatLongHeight | ( | double | latitude, |
double | longitude, | ||
double | height, | ||
osg::Matrixd & | localToWorld | ||
) | const [inline] |
References computeLocalToWorldTransformFromXYZ(), and convertLatLongHeightToXYZ().
void osg::EllipsoidModel::computeLocalToWorldTransformFromXYZ | ( | double | X, |
double | Y, | ||
double | Z, | ||
osg::Matrixd & | localToWorld | ||
) | const [inline] |
References osg::Matrixd::makeTranslate().
Referenced by computeLocalToWorldTransformFromLatLongHeight().
osg::Vec3d osg::EllipsoidModel::computeLocalUpVector | ( | double | X, |
double | Y, | ||
double | Z | ||
) | const [inline] |
References osg::Vec3d::normalize().
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().
void osg::EllipsoidModel::convertXYZToLatLongHeight | ( | double | X, |
double | Y, | ||
double | Z, | ||
double & | latitude, | ||
double & | longitude, | ||
double & | height | ||
) | const [inline] |
References _eccentricitySquared, _radiusEquator, and _radiusPolar.
double osg::EllipsoidModel::getRadiusEquator | ( | ) | const [inline] |
References _radiusEquator.
double osg::EllipsoidModel::getRadiusPolar | ( | ) | const [inline] |
References _radiusPolar.
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().
double osg::EllipsoidModel::_eccentricitySquared [protected] |
Referenced by computeCoefficients(), convertLatLongHeightToXYZ(), and convertXYZToLatLongHeight().
double osg::EllipsoidModel::_radiusEquator [protected] |
double osg::EllipsoidModel::_radiusPolar [protected] |
Referenced by computeCoefficients(), convertXYZToLatLongHeight(), getRadiusPolar(), and setRadiusPolar().
![]() | Generated at Tue Mar 22 2011 13:20:21 for the OpenSceneGraph by doxygen 1.7.3. |