#include <scenery.hxx>
Inherits SGSubsystem.
|
| FGScenery () |
|
| ~FGScenery () |
|
void | bind () override |
|
void | init () override |
|
void | reinit () override |
|
void | shutdown () override |
|
void | unbind () override |
|
void | update (double dt) override |
|
bool | get_elevation_m (const SGGeod &geod, double &alt, const simgear::BVHMaterial **material, const osg::Node *butNotFrom=0) |
| Compute the elevation of the scenery at geodetic latitude lat, geodetic longitude lon and not higher than max_alt.
|
|
bool | get_cart_elevation_m (const SGVec3d &pos, double max_altoff, double &elevation, const simgear::BVHMaterial **material, const osg::Node *butNotFrom=0) |
| Compute the elevation of the scenery below the cartesian point pos.
|
|
bool | get_cart_ground_intersection (const SGVec3d &start, const SGVec3d &dir, SGVec3d &nearestHit, const osg::Node *butNotFrom=0) |
| Compute the nearest intersection point of the line starting from start going in direction dir with the terrain.
|
|
osg::Group * | get_scene_graph () const |
|
osg::Group * | get_terrain_branch () const |
|
osg::Group * | get_models_branch () const |
|
osg::Group * | get_aircraft_branch () const |
|
osg::Group * | get_interior_branch () const |
|
osg::Group * | get_particles_branch () const |
|
osg::Group * | get_precipitation_branch () const |
|
bool | scenery_available (const SGGeod &position, double range_m) |
| Returns true if scenery is available for the given lat, lon position within a range of range_m.
|
|
flightgear::SceneryPager * | getPager () |
|
bool | schedule_scenery (const SGGeod &position, double range_m, double duration=0.0) |
|
void | materialLibChanged () |
|
Definition at line 50 of file scenery.hxx.
◆ FGScenery()
◆ ~FGScenery()
FGScenery::~FGScenery |
( |
| ) |
|
◆ bind()
◆ get_aircraft_branch()
osg::Group * FGScenery::get_aircraft_branch |
( |
| ) |
const |
|
inline |
◆ get_cart_elevation_m()
bool FGScenery::get_cart_elevation_m |
( |
const SGVec3d & | pos, |
|
|
double | max_altoff, |
|
|
double & | elevation, |
|
|
const simgear::BVHMaterial ** | material, |
|
|
const osg::Node * | butNotFrom = 0 ) |
Compute the elevation of the scenery below the cartesian point pos.
you the returned scenery altitude is not higher than the position pos plus an offset given with max_altoff. If the exact flag is set to true, the scenery center is moved to gain a higher accuracy of that query. The center is restored past that to the original value. The altitude hit is returned in the alt argument. The method returns true if the scenery is available for the given lat/lon pair. If there is no scenery for that point, the altitude value is undefined. All values are meant to be in meters.
Definition at line 517 of file scenery.cxx.
◆ get_cart_ground_intersection()
bool FGScenery::get_cart_ground_intersection |
( |
const SGVec3d & | start, |
|
|
const SGVec3d & | dir, |
|
|
SGVec3d & | nearestHit, |
|
|
const osg::Node * | butNotFrom = 0 ) |
Compute the nearest intersection point of the line starting from start going in direction dir with the terrain.
The input and output values should be in cartesian coordinates in the usual earth centered wgs84 coordinate system. Units are meters. On success, true is returned.
Definition at line 536 of file scenery.cxx.
◆ get_elevation_m()
bool FGScenery::get_elevation_m |
( |
const SGGeod & | geod, |
|
|
double & | alt, |
|
|
const simgear::BVHMaterial ** | material, |
|
|
const osg::Node * | butNotFrom = 0 ) |
Compute the elevation of the scenery at geodetic latitude lat, geodetic longitude lon and not higher than max_alt.
If the exact flag is set to true, the scenery center is moved to gain a higher accuracy of that query. The center is restored past that to the original value. The altitude hit is returned in the alt argument. The method returns true if the scenery is available for the given lat/lon pair. If there is no scenery for that point, the altitude value is undefined. All values are meant to be in meters or degrees.
Definition at line 527 of file scenery.cxx.
◆ get_interior_branch()
osg::Group * FGScenery::get_interior_branch |
( |
| ) |
const |
|
inline |
◆ get_models_branch()
osg::Group * FGScenery::get_models_branch |
( |
| ) |
const |
|
inline |
◆ get_particles_branch()
osg::Group * FGScenery::get_particles_branch |
( |
| ) |
const |
|
inline |
◆ get_precipitation_branch()
osg::Group * FGScenery::get_precipitation_branch |
( |
| ) |
const |
|
inline |
◆ get_scene_graph()
osg::Group * FGScenery::get_scene_graph |
( |
| ) |
const |
|
inline |
◆ get_terrain_branch()
osg::Group * FGScenery::get_terrain_branch |
( |
| ) |
const |
|
inline |
◆ getPager()
◆ getPagerSingleton()
◆ init()
◆ materialLibChanged()
void FGScenery::materialLibChanged |
( |
| ) |
|
◆ reinit()
void FGScenery::reinit |
( |
| ) |
|
|
override |
◆ resetPagerSingleton()
void FGScenery::resetPagerSingleton |
( |
| ) |
|
|
static |
◆ scenery_available()
bool FGScenery::scenery_available |
( |
const SGGeod & | position, |
|
|
double | range_m ) |
Returns true if scenery is available for the given lat, lon position within a range of range_m.
lat and lon are expected to be in degrees.
Definition at line 543 of file scenery.cxx.
◆ schedule_scenery()
bool FGScenery::schedule_scenery |
( |
const SGGeod & | position, |
|
|
double | range_m, |
|
|
double | duration = 0.0 ) |
◆ shutdown()
void FGScenery::shutdown |
( |
| ) |
|
|
override |
◆ staticSubsystemClassId()
static const char * FGScenery::staticSubsystemClassId |
( |
| ) |
|
|
inlinestatic |
◆ unbind()
void FGScenery::unbind |
( |
| ) |
|
|
override |
◆ update()
void FGScenery::update |
( |
double | dt | ) |
|
|
override |
◆ ElevationMeshListener
friend class ElevationMeshListener |
|
friend |
◆ ScenerySwitchListener
friend class ScenerySwitchListener |
|
friend |
◆ TextureCacheListener
friend class TextureCacheListener |
|
friend |
The documentation for this class was generated from the following files: