Public Member Functions | |
| EllipsoidModel (double radiusEquator=WGS_84_RADIUS_EQUATOR, double radiusPolar=WGS_84_RADIUS_POLAR) | |
| 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().
1.7.1