void Horizon::setEllipsoid(const osg::EllipsoidModel& e) { _scaleInv.set( e.getRadiusEquator(), e.getRadiusEquator(), e.getRadiusPolar() ); _scale.set( 1.0 / e.getRadiusEquator(), 1.0 / e.getRadiusEquator(), 1.0 / e.getRadiusPolar() ); _minHAE = 500.0; _minVCmag = 1.0 + (_scale*_minHAE).length(); // just so we don't have gargabe values setEye( osg::Vec3d(1e7, 0, 0) ); _valid = true; }
void Horizon::setEllipsoid(const osg::EllipsoidModel& e) { _scaleInv.set( e.getRadiusEquator(), e.getRadiusEquator(), e.getRadiusPolar() ); _scale.set( 1.0 / e.getRadiusEquator(), 1.0 / e.getRadiusEquator(), 1.0 / e.getRadiusPolar() ); // Minimum allowable HAE for calculating horizon distance. const double minHAE = 100.0; //double maxRadius = std::max(e.getRadiusEquator(), e.getRadiusPolar()); //double minHAEScaled = 1.0 + minHAE/maxRadius; //_minHAEScaled2 = minHAEScaled * minHAEScaled; _scaleToMinHAE = (_scale*minHAE) + osg::Vec3d(1,1,1); }