1
0
Fork 0

Cosmetic changes for new code moved into simgear to make the naming scheme

better follow simgear conventions.
This commit is contained in:
curt 2003-05-13 03:18:42 +00:00
parent 65c3caa032
commit 3c7bdc31d9
26 changed files with 120 additions and 132 deletions

View file

@ -58,7 +58,7 @@ protected:
double pitch; //degrees
char* model_path; //Path to the 3D model
FGModelPlacement aip;
SGModelPlacement aip;
void Transform();
};

View file

@ -157,7 +157,7 @@ bool FGAILocalTraffic::Init(string ICAO, OperatingState initialState, PatternLeg
string planepath = "Aircraft/c172/Models/c172-dpm.ac";
SGPath path = globals->get_fg_root();
path.append(planepath);
ssgBranch *model = fgLoad3DModel( path.str(),
ssgBranch *model = sgLoad3DModel( path.str(),
planepath.c_str(),
globals->get_props(),
globals->get_sim_time_sec() );
@ -404,8 +404,8 @@ void FGAILocalTraffic::Update(double dt) {
//cout << "In IN_PATTERN\n";
if(!inAir) DoGroundElev();
if(!elevInitGood) {
if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset);
if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset);
//cout << "TAKEOFF_ROLL, POS = " << pos.lon() << ", " << pos.lat() << ", " << pos.elev() << '\n';
//Transform();
aip.setVisible(true);
@ -421,8 +421,8 @@ void FGAILocalTraffic::Update(double dt) {
//cout << "*" << flush;
if(!elevInitGood) {
//DoGroundElev();
if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset);
if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset);
//Transform();
aip.setVisible(true);
//Transform();
@ -469,8 +469,8 @@ void FGAILocalTraffic::Update(double dt) {
//cout << "In PARKED\n";
if(!elevInitGood) {
DoGroundElev();
if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset);
if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset);
//Transform();
aip.setVisible(true);
//Transform();
@ -613,8 +613,8 @@ void FGAILocalTraffic::FlyTrafficPattern(double dt) {
double dveldt = 5.0;
vel += dveldt * dt;
}
if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset);
if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset);
}
IAS = vel + (cos((hdg - wind_from) * DCL_DEGREES_TO_RADIANS) * wind_speed);
if(IAS >= 70) {
@ -743,8 +743,8 @@ void FGAILocalTraffic::FlyTrafficPattern(double dt) {
// for us in update(...) when the inAir flag is false.
}
if(pos.elev() < (rwy.threshold_pos.elev()+10.0+wheelOffset)) {
if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) {
if((aip.getFGLocation()->get_cur_elev_m() + wheelOffset) > pos.elev()) {
if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) {
if((aip.getSGLocation()->get_cur_elev_m() + wheelOffset) > pos.elev()) {
slope = 0.0;
pitch = 0.0;
leg = LANDING_ROLL;
@ -755,8 +755,8 @@ void FGAILocalTraffic::FlyTrafficPattern(double dt) {
break;
case LANDING_ROLL:
//inAir = false;
if(aip.getFGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset);
if(aip.getSGLocation()->get_cur_elev_m() > -9990.0) {
pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset);
}
track = rwy.hdg;
double dveldt = -5.0;
@ -1063,8 +1063,8 @@ void FGAILocalTraffic::Taxi(double dt) {
double slope = 0.0;
pos = dclUpdatePosition(pos, track, slope, dist);
//cout << "Updated position...\n";
if(aip.getFGLocation()->get_cur_elev_m() > -9990) {
pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset);
if(aip.getSGLocation()->get_cur_elev_m() > -9990) {
pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset);
} // else don't change the elev until we get a valid ground elev again!
} else if(lastNode) {
if(taxiState == TD_LINING_UP) {
@ -1082,8 +1082,8 @@ void FGAILocalTraffic::Taxi(double dt) {
double slope = 0.0;
pos = dclUpdatePosition(pos, track, slope, dist);
//cout << "Updated position...\n";
if(aip.getFGLocation()->get_cur_elev_m() > -9990) {
pos.setelev(aip.getFGLocation()->get_cur_elev_m() + wheelOffset);
if(aip.getSGLocation()->get_cur_elev_m() > -9990) {
pos.setelev(aip.getSGLocation()->get_cur_elev_m() + wheelOffset);
} // else don't change the elev until we get a valid ground elev again!
if(fabs(hdg - rwy.hdg) <= 1.0) {
operatingState = IN_PATTERN;
@ -1117,14 +1117,14 @@ void FGAILocalTraffic::DoGroundElev() {
// answer with one call to the function, but what I tried in the two commented-out lines
// below only intermittently worked, and I haven't quite groked why yet.
//SGBucket buck(pos.lon(), pos.lat());
//aip.getFGLocation()->set_tile_center(Point3D(buck.get_center_lon(), buck.get_center_lat(), 0.0));
//aip.getSGLocation()->set_tile_center(Point3D(buck.get_center_lon(), buck.get_center_lat(), 0.0));
double visibility_meters = fgGetDouble("/environment/visibility-m");
//globals->get_tile_mgr()->prep_ssg_nodes( acmodel_location,
globals->get_tile_mgr()->prep_ssg_nodes( aip.getFGLocation(), visibility_meters );
globals->get_tile_mgr()->prep_ssg_nodes( aip.getSGLocation(), visibility_meters );
Point3D scenery_center = globals->get_scenery()->get_center();
globals->get_tile_mgr()->update( aip.getFGLocation(), visibility_meters, (aip.getFGLocation())->get_absolute_view_pos( scenery_center ) );
// save results of update in FGLocation for fdm...
globals->get_tile_mgr()->update( aip.getSGLocation(), visibility_meters, (aip.getSGLocation())->get_absolute_view_pos( scenery_center ) );
// save results of update in SGLocation for fdm...
//if ( globals->get_scenery()->get_cur_elev() > -9990 ) {
// acmodel_location->
@ -1132,10 +1132,10 @@ void FGAILocalTraffic::DoGroundElev() {
//}
// The need for this here means that at least 2 consecutive passes are needed :-(
aip.getFGLocation()->set_tile_center( globals->get_scenery()->get_next_center() );
aip.getSGLocation()->set_tile_center( globals->get_scenery()->get_next_center() );
//cout << "Transform Elev is " << globals->get_scenery()->get_cur_elev() << '\n';
aip.getFGLocation()->set_cur_elev_m(globals->get_scenery()->get_cur_elev());
aip.getSGLocation()->set_cur_elev_m(globals->get_scenery()->get_cur_elev());
//return(globals->get_scenery()->get_cur_elev());
}

View file

@ -228,7 +228,7 @@ private:
* or joystick, but they are tied to specific mouse actions in
* rectangular areas of the panel.
*/
class FGPanelAction : public FGConditional
class FGPanelAction : public SGConditional
{
public:
FGPanelAction ();
@ -288,7 +288,7 @@ private:
/**
* A transformation for a layer.
*/
class FGPanelTransformation : public FGConditional
class FGPanelTransformation : public SGConditional
{
public:
@ -327,7 +327,7 @@ public:
* on current FGFS instrument readings: for example, a texture
* representing a needle can rotate to show the airspeed.
*/
class FGInstrumentLayer : public FGConditional
class FGInstrumentLayer : public SGConditional
{
public:
@ -369,7 +369,7 @@ protected:
* may show up in the future (some complex instruments could be
* entirely hand-coded, for example).
*/
class FGPanelInstrument : public FGConditional
class FGPanelInstrument : public SGConditional
{
public:
FGPanelInstrument ();
@ -491,7 +491,7 @@ public:
DOUBLE_VALUE
};
class Chunk : public FGConditional
class Chunk : public SGConditional
{
public:
Chunk (const string &text, const string &fmt = "%s");

View file

@ -132,12 +132,12 @@ readTexture (const SGPropertyNode * node)
////////////////////////////////////////////////////////////////////////
static void
readConditions (FGConditional * component, const SGPropertyNode * node)
readConditions (SGConditional *component, const SGPropertyNode *node)
{
const SGPropertyNode * conditionNode = node->getChild("condition");
if (conditionNode != 0)
// The top level is implicitly AND
component->setCondition(fgReadCondition(globals->get_props(),
component->setCondition(sgReadCondition(globals->get_props(),
conditionNode) );
}

View file

@ -190,7 +190,7 @@ void FGLaRCsim::update( double dt ) {
// Inform LaRCsim of the local terrain altitude
// Runway_altitude = get_Runway_altitude();
Runway_altitude = getACModel()->get3DModel()->getFGLocation()->get_cur_elev_m() * SG_METER_TO_FEET;
Runway_altitude = getACModel()->get3DModel()->getSGLocation()->get_cur_elev_m() * SG_METER_TO_FEET;
// Weather
/* V_north_airmass = get_V_north_airmass();
V_east_airmass = get_V_east_airmass();

View file

@ -253,7 +253,7 @@ void YASim::copyToYASim(bool copyState)
wind[2] = get_V_down_airmass() * FT2M * -1.0;
// Get ground elevation from the FGinterface's FGlocation data
double ground = getACModel()->get3DModel()->getFGLocation()->get_cur_elev_m();
double ground = getACModel()->get3DModel()->getSGLocation()->get_cur_elev_m();
// cout << "YASIM: ground = " << ground << endl;
float pressure = fgGetFloat("/environment/pressure-inhg") * INHG2PA;

View file

@ -201,7 +201,7 @@ FGInterface::common_init ()
* SGD_DEGREES_TO_RADIANS );
double ground_elev_m = globals->get_scenery()->get_cur_elev();
double ground_elev_ft = ground_elev_m * SG_METER_TO_FEET;
_acmodel->get3DModel()->getFGLocation()->set_cur_elev_m( ground_elev_m );
_acmodel->get3DModel()->getSGLocation()->set_cur_elev_m( ground_elev_m );
_set_Runway_altitude ( ground_elev_ft );
if ( fgGetBool("/sim/presets/onground")
|| fgGetDouble("/sim/presets/altitude-ft") < ground_elev_ft ) {
@ -504,7 +504,7 @@ void FGInterface::_updateGeodeticPosition( double lat, double lon, double alt )
_set_Sea_level_radius( sl_radius * SG_METER_TO_FEET );
if ( getACModel() != NULL ) {
_set_Runway_altitude( getACModel()->get3DModel()->getFGLocation()->get_cur_elev_m() * SG_METER_TO_FEET );
_set_Runway_altitude( getACModel()->get3DModel()->getSGLocation()->get_cur_elev_m() * SG_METER_TO_FEET );
}
_set_sin_lat_geocentric( lat_geoc );
@ -561,7 +561,7 @@ void FGInterface::_updateGeocentricPosition( double lat_geoc, double lon,
_set_Geodetic_Position( lat_geod, lon, alt );
_set_Sea_level_radius( sl_radius2 * SG_METER_TO_FEET );
_set_Runway_altitude( getACModel()->get3DModel()->getFGLocation()->get_cur_elev_m() * SG_METER_TO_FEET );
_set_Runway_altitude( getACModel()->get3DModel()->getSGLocation()->get_cur_elev_m() * SG_METER_TO_FEET );
_set_sin_lat_geocentric( lat_geoc );
_set_cos_lat_geocentric( lat_geoc );

View file

@ -104,7 +104,7 @@ FGBinding::read (const SGPropertyNode * node)
{
const SGPropertyNode * conditionNode = node->getChild("condition");
if (conditionNode != 0)
setCondition(fgReadCondition(globals->get_props(), conditionNode));
setCondition(sgReadCondition(globals->get_props(), conditionNode));
_command_name = node->getStringValue("command", "");
if (_command_name.empty()) {

View file

@ -62,7 +62,7 @@ SG_USING_STD(vector);
* keyboard key, a joystick button or axis, or even a panel
* instrument.</p>
*/
class FGBinding : public FGConditional
class FGBinding : public SGConditional
{
public:

View file

@ -980,19 +980,22 @@ fgInitNav ()
bool fgInitPosition() {
bool set_pos = false;
// Do a first guess if we should be on the ground or in the air
// (to be refined later based on other input.
// If glideslope is specified, then calculate offset-distance or
// altitude relative to glide slope if either of those was not
// specified.
if ( fgGetDouble("/sim/presets/glideslope-deg") > 0.1 ) {
fgSetDistOrAltFromGlideSlope();
}
// Select ground or air start depending on if an altitude is
// specified (this choice can be refined later based on other
// input.)
if ( fgGetDouble("/sim/presets/altitude-ft") > -9990.0 ) {
fgSetBool("/sim/presets/onground", false);
} else {
fgSetBool("/sim/presets/onground", true);
}
// If glideslope is specified, then calculate offset-distance or
// altitude relative to glide slope if either of those was not
// specified.
fgSetDistOrAltFromGlideSlope();
// If we have an explicit, in-range lon/lat, don't change it, just use it.
// If not, check for an airport-id and use that.
// If not, default to the middle of the KSFO field.
@ -1045,33 +1048,18 @@ bool fgInitPosition() {
if ( !set_pos && !vor.empty() ) {
// a VOR is requested
if ( fgSetPosFromNAV( vor, vor_freq ) ) {
if ( fgGetDouble("/sim/presets/altitude-ft") > -9990.0 ) {
fgSetBool("/sim/presets/onground", false);
} else {
fgSetBool("/sim/presets/onground", true);
}
set_pos = true;
}
}
if ( !set_pos && !ndb.empty() ) {
// an NDB is requested
if ( fgSetPosFromNAV( ndb, ndb_freq ) ) {
if ( fgGetDouble("/sim/presets/altitude-ft") > -9990.0 ) {
fgSetBool("/sim/presets/onground", false);
} else {
fgSetBool("/sim/presets/onground", true);
}
set_pos = true;
}
}
if ( !set_pos && !fix.empty() ) {
// a Fix is requested
if ( fgSetPosFromFix( fix ) ) {
if ( fgGetDouble("/sim/presets/altitude-ft") > -9990.0 ) {
fgSetBool("/sim/presets/onground", false);
} else {
fgSetBool("/sim/presets/onground", true);
}
set_pos = true;
}
}

View file

@ -52,6 +52,7 @@ class SGEphemeris;
class SGCommandMgr;
class SGMagVar;
class SGModelLoader;
class SGPropertyNode;
class SGRoute;
class SGTime;
@ -66,7 +67,6 @@ class FGControls;
class FGEnvironment;
class FGEnvironmentMgr;
class FGIO;
class FGModelLoader;
class FGModelMgr;
class FGScenery;
#ifdef FG_MPLAYER_AS
@ -159,7 +159,7 @@ private:
SGCommandMgr *commands;
FGModelLoader * model_loader;
SGModelLoader * model_loader;
FGAircraftModel *acmodel;
@ -275,9 +275,9 @@ public:
inline SGCommandMgr *get_commands () { return commands; }
inline FGModelLoader * get_model_loader () { return model_loader; }
inline SGModelLoader * get_model_loader () { return model_loader; }
inline void set_model_loader (FGModelLoader * loader) {
inline void set_model_loader (SGModelLoader * loader) {
model_loader = loader;
}

View file

@ -497,7 +497,7 @@ void fgRenderFrame() {
}
// Keep resetting sim time while the sim is initializing
globals->set_sim_time_sec( 0.0 );
Animation::set_sim_time_sec( 0.0 );
SGAnimation::set_sim_time_sec( 0.0 );
} else {
// idle_state is now 1000 meaning we've finished all our
// initializations and are running the main loop, so this will
@ -1025,7 +1025,7 @@ static void fgMainLoop( void ) {
delta_time_sec = 0;
last_time_stamp = current_time_stamp;
globals->inc_sim_time_sec( delta_time_sec );
Animation::set_sim_time_sec( globals->get_sim_time_sec() );
SGAnimation::set_sim_time_sec( globals->get_sim_time_sec() );
static long remainder = 0;
long elapsed;
@ -1042,9 +1042,9 @@ static void fgMainLoop( void ) {
sglog().setLogLevels( SG_ALL, (sgDebugPriority)fgGetInt("/sim/log-level") );
sglog().setLogLevels( SG_ALL, SG_INFO );
FGLocation * acmodel_location = 0;
SGLocation * acmodel_location = 0;
if(cur_fdm_state->getACModel() != 0) {
acmodel_location = (FGLocation *) cur_fdm_state->getACModel()->get3DModel()->getFGLocation();
acmodel_location = (SGLocation *) cur_fdm_state->getACModel()->get3DModel()->getSGLocation();
}
SG_LOG( SG_ALL, SG_DEBUG, "Running Main Loop");
@ -1250,14 +1250,14 @@ static void fgMainLoop( void ) {
// update tile manager for FDM...
// ...only if location is different than the viewer (to avoid duplicating effort)
if( acmodel_location != current_view->getFGLocation() ) {
if( acmodel_location != current_view->getSGLocation() ) {
if( acmodel_location != 0 ) {
globals->get_tile_mgr()->prep_ssg_nodes( acmodel_location,
visibility_meters );
globals->get_tile_mgr()->
update( acmodel_location, visibility_meters,
acmodel_location->get_absolute_view_pos(globals->get_scenery()->get_center()) );
// save results of update in FGLocation for fdm...
// save results of update in SGLocation for fdm...
if ( globals->get_scenery()->get_cur_elev() > -9990 ) {
acmodel_location->
set_cur_elev_m( globals->get_scenery()->get_cur_elev() );
@ -1267,24 +1267,24 @@ static void fgMainLoop( void ) {
}
}
globals->get_tile_mgr()->prep_ssg_nodes( current_view->getFGLocation(),
globals->get_tile_mgr()->prep_ssg_nodes( current_view->getSGLocation(),
visibility_meters );
// update tile manager for view...
// IMPORTANT!!! the tilemgr update for view location _must_ be done last
// after the FDM's until all of Flight Gear code references the viewer's location
// for elevation instead of the "scenery's" current elevation.
FGLocation *view_location = globals->get_current_view()->getFGLocation();
SGLocation *view_location = globals->get_current_view()->getSGLocation();
globals->get_tile_mgr()->update( view_location, visibility_meters,
current_view->get_absolute_view_pos() );
// save results of update in FGLocation for fdm...
// save results of update in SGLocation for fdm...
if ( globals->get_scenery()->get_cur_elev() > -9990 ) {
current_view->getFGLocation()->set_cur_elev_m( globals->get_scenery()->get_cur_elev() );
current_view->getSGLocation()->set_cur_elev_m( globals->get_scenery()->get_cur_elev() );
}
current_view->getFGLocation()->set_tile_center( globals->get_scenery()->get_next_center() );
current_view->getSGLocation()->set_tile_center( globals->get_scenery()->get_next_center() );
// If fdm location is same as viewer's then we didn't do the update for fdm location
// above so we need to save the viewer results in the fdm FGLocation as well...
if( acmodel_location == current_view->getFGLocation() ) {
// above so we need to save the viewer results in the fdm SGLocation as well...
if( acmodel_location == current_view->getSGLocation() ) {
if( acmodel_location != 0 ) {
if ( globals->get_scenery()->get_cur_elev() > -9990 ) {
acmodel_location->set_cur_elev_m( globals->get_scenery()->get_cur_elev() );
@ -1697,7 +1697,7 @@ static bool fgMainInit( int argc, char **argv ) {
// Initialize the general model subsystem.
////////////////////////////////////////////////////////////////////
globals->set_model_loader(new FGModelLoader);
globals->set_model_loader(new SGModelLoader);
globals->set_model_mgr(new FGModelMgr);
globals->get_model_mgr()->init();
globals->get_model_mgr()->bind();

View file

@ -186,15 +186,15 @@ void
FGViewer::init ()
{
if ( _from_model )
_location = (FGLocation *) globals->get_aircraft_model()->get3DModel()->getFGLocation();
_location = (SGLocation *) globals->get_aircraft_model()->get3DModel()->getSGLocation();
else
_location = (FGLocation *) new FGLocation;
_location = (SGLocation *) new SGLocation;
if ( _type == FG_LOOKAT ) {
if ( _at_model )
_target_location = (FGLocation *) globals->get_aircraft_model()->get3DModel()->getFGLocation();
_target_location = (SGLocation *) globals->get_aircraft_model()->get3DModel()->getSGLocation();
else
_target_location = (FGLocation *) new FGLocation;
_target_location = (SGLocation *) new SGLocation;
}
}
@ -477,20 +477,20 @@ FGViewer::getZeroElevViewPos ()
}
void
FGViewer::updateFromModelLocation (FGLocation * location)
FGViewer::updateFromModelLocation (SGLocation * location)
{
sgCopyMat4(LOCAL, location->getCachedTransformMatrix());
}
void
FGViewer::updateAtModelLocation (FGLocation * location)
FGViewer::updateAtModelLocation (SGLocation * location)
{
sgCopyMat4(ATLOCAL,
location->getCachedTransformMatrix());
}
void
FGViewer::recalcOurOwnLocation (FGLocation * location, double lon_deg, double lat_deg, double alt_ft,
FGViewer::recalcOurOwnLocation (SGLocation * location, double lon_deg, double lat_deg, double alt_ft,
double roll_deg, double pitch_deg, double heading_deg)
{
// update from our own data...
@ -668,7 +668,7 @@ FGViewer::recalcLookAt ()
}
// copy results from location class to viewer...
// FIXME: some of these should be changed to reference directly to FGLocation...
// FIXME: some of these should be changed to reference directly to SGLocation...
void
FGViewer::copyLocationData()
{

View file

@ -255,7 +255,7 @@ public:
inline void set_clean() { _dirty = false; }
// return eye location...
virtual FGLocation * getFGLocation () const { return _location; }
virtual SGLocation * getSGLocation () const { return _location; }
private:
@ -322,8 +322,8 @@ private:
bool _at_model;
int _at_model_index; // number of model (for multi model)
FGLocation * _location;
FGLocation * _target_location;
SGLocation * _location;
SGLocation * _target_location;
// the nominal field of view (angle, in degrees)
double _fov_deg;
@ -372,9 +372,9 @@ private:
void recalcLookFrom();
void recalcLookAt();
void copyLocationData();
void updateFromModelLocation (FGLocation * location);
void updateAtModelLocation (FGLocation * location);
void recalcOurOwnLocation (FGLocation * location, double lon_deg, double lat_deg, double alt_ft,
void updateFromModelLocation (SGLocation * location);
void updateAtModelLocation (SGLocation * location);
void recalcOurOwnLocation (SGLocation * location, double lon_deg, double lat_deg, double alt_ft,
double roll_deg, double pitch_deg, double heading_deg);
// add to _heading_offset_deg

View file

@ -53,7 +53,7 @@ FGAircraftModel::~FGAircraftModel ()
void
FGAircraftModel::init ()
{
_aircraft = new FGModelPlacement;
_aircraft = new SGModelPlacement;
string path = fgGetString("/sim/model/path", "Models/Geometry/glider.ac");
try {
ssgBranch *model = fgLoad3DModelPanel( globals->get_fg_root(),

View file

@ -21,7 +21,7 @@ SG_USING_STD(vector);
// Don't pull in the headers, since we don't need them here.
class ssgRoot;
class ssgSelector;
class FGModelPlacement;
class SGModelPlacement;
class FGAircraftModel : public FGSubsystem
@ -36,11 +36,11 @@ public:
virtual void unbind ();
virtual void update (double dt);
virtual void draw ();
virtual FGModelPlacement * get3DModel() { return _aircraft; }
virtual SGModelPlacement * get3DModel() { return _aircraft; }
private:
FGModelPlacement * _aircraft;
SGModelPlacement * _aircraft;
ssgSelector * _selector;
ssgRoot * _scene;
float _nearplane;

View file

@ -84,7 +84,7 @@ fgLoad3DModelPanel( const string &fg_root, const string &path,
ssgTransform * alignmainmodel = new ssgTransform;
alignmainmodel->addKid(model);
sgMat4 res_matrix;
fgMakeOffsetsMatrix(&res_matrix,
sgMakeOffsetsMatrix(&res_matrix,
props.getFloatValue("/offsets/heading-deg", 0.0),
props.getFloatValue("/offsets/roll-deg", 0.0),
props.getFloatValue("/offsets/pitch-deg", 0.0),
@ -111,7 +111,7 @@ fgLoad3DModelPanel( const string &fg_root, const string &path,
const char * name = animation_nodes[i]->getStringValue("name", 0);
vector<SGPropertyNode_ptr> name_nodes =
animation_nodes[i]->getChildren("object-name");
fgMakeAnimation( model, name, name_nodes, prop_root, animation_nodes[i],
sgMakeAnimation( model, name, name_nodes, prop_root, animation_nodes[i],
sim_time_sec);
}
@ -121,7 +121,7 @@ fgLoad3DModelPanel( const string &fg_root, const string &path,
SGPropertyNode_ptr node = model_nodes[i];
ssgTransform * align = new ssgTransform;
sgMat4 res_matrix;
fgMakeOffsetsMatrix(&res_matrix,
sgMakeOffsetsMatrix(&res_matrix,
node->getFloatValue("offsets/heading-deg", 0.0),
node->getFloatValue("offsets/roll-deg", 0.0),
node->getFloatValue("offsets/pitch-deg", 0.0),
@ -130,7 +130,7 @@ fgLoad3DModelPanel( const string &fg_root, const string &path,
node->getFloatValue("offsets/z-m", 0.0));
align->setTransform(res_matrix);
ssgBranch * kid = fgLoad3DModel( fg_root, node->getStringValue("path"),
ssgBranch * kid = sgLoad3DModel( fg_root, node->getStringValue("path"),
prop_root, sim_time_sec );
align->addKid(kid);
model->addKid(align);

View file

@ -53,7 +53,7 @@ class FGLocation;
* list wrapper to add animations to the model.
*
* Subsystems should not normally invoke this function directly;
* instead, they should use the FGModelLoader declared in loader.hxx.
* instead, they should use the SGModelLoader declared in loader.hxx.
*/
ssgBranch *fgLoad3DModelPanel( const string& fg_root, const string &path,
SGPropertyNode *prop_root,

View file

@ -45,10 +45,10 @@ FGModelMgr::init ()
SG_LOG(SG_GENERAL, SG_INFO,
"Adding model " << node->getStringValue("name", "[unnamed]"));
Instance * instance = new Instance;
FGModelPlacement *model = new FGModelPlacement;
SGModelPlacement *model = new SGModelPlacement;
instance->model = model;
ssgBranch *object
= fgLoad3DModel( globals->get_fg_root(),
= sgLoad3DModel( globals->get_fg_root(),
node->getStringValue("path",
"Models/Geometry/glider.ac"),
globals->get_props(),
@ -117,7 +117,7 @@ FGModelMgr::update (double dt)
{
for (unsigned int i = 0; i < _instances.size(); i++) {
Instance * instance = _instances[i];
FGModelPlacement * model = instance->model;
SGModelPlacement * model = instance->model;
// Optionally set position from properties
if (instance->lon_deg_node != 0)

View file

@ -21,7 +21,7 @@ SG_USING_STD(vector);
// Don't pull in headers, since we don't need them here.
class ssgSelector;
class SGPropertyNode;
class FGModelPlacement;
class SGModelPlacement;
/**
@ -37,18 +37,18 @@ public:
* The model manager uses the property nodes to update the model's
* position and orientation; any of the property node pointers may
* be set to zero to avoid update. Normally, a caller should
* load the model by instantiating FGModelPlacement with the path
* load the model by instantiating SGModelPlacement with the path
* to the model or its XML wrapper, then assign any relevant
* property node pointers.
*
* @see FGModelPlacement
* @see SGModelPlacement
* @see FGModelMgr#add_instance
*/
struct Instance
{
Instance ();
virtual ~Instance ();
FGModelPlacement * model;
SGModelPlacement * model;
SGPropertyNode * lon_deg_node;
SGPropertyNode * lat_deg_node;
SGPropertyNode * elev_ft_node;

View file

@ -89,7 +89,7 @@ bool fgGenTile( const string& path, SGBucket b,
double *bounding_radius,
ssgBranch* geometry )
{
FGNewMat *newmat;
SGMaterial *newmat;
ssgSimpleState *state = NULL;
@ -283,7 +283,7 @@ class LeafUserData : public ssgBase
public:
bool is_filled_in;
ssgLeaf * leaf;
FGNewMat * mat;
SGMaterial * mat;
ssgBranch * branch;
float sin_lat;
float cos_lat;
@ -306,13 +306,13 @@ public:
float * p3;
sgVec3 center;
double area;
FGNewMat::ObjectGroup * object_group;
SGMaterial::ObjectGroup * object_group;
ssgBranch * branch;
LeafUserData * leafData;
unsigned int seed;
void fill_in_triangle();
void add_object_to_triangle(FGNewMat::Object * object);
void add_object_to_triangle(SGMaterial::Object * object);
void makeWorldMatrix (sgMat4 ROT, double hdg_deg );
};
@ -333,7 +333,7 @@ void TriUserData::fill_in_triangle ()
int nObjects = object_group->get_object_count();
for (int i = 0; i < nObjects; i++) {
FGNewMat::Object * object = object_group->get_object(i);
SGMaterial::Object * object = object_group->get_object(i);
double num = area / object->get_coverage_m2();
// place an object each unit of area
@ -353,11 +353,11 @@ void TriUserData::fill_in_triangle ()
}
}
void TriUserData::add_object_to_triangle (FGNewMat::Object * object)
void TriUserData::add_object_to_triangle (SGMaterial::Object * object)
{
// Set up the random heading if required.
double hdg_deg = 0;
if (object->get_heading_type() == FGNewMat::Object::HEADING_RANDOM)
if (object->get_heading_type() == SGMaterial::Object::HEADING_RANDOM)
hdg_deg = sg_random() * 360;
sgMat4 mat;
@ -539,7 +539,7 @@ void LeafUserData::setup_triangle (int i )
int num_groups = mat->get_object_group_count();
for (int j = 0; j < num_groups; j++) {
// Look up the random object.
FGNewMat::ObjectGroup * group = mat->get_object_group(j);
SGMaterial::ObjectGroup * group = mat->get_object_group(j);
// Set up the range selector for the entire
// triangle; note that we use the object
@ -670,7 +670,7 @@ gen_random_surface_objects (ssgLeaf *leaf,
return;
// Get the material for this surface.
FGNewMat * mat = material_lib.find(material_name);
SGMaterial * mat = material_lib.find(material_name);
if (mat == 0) {
SG_LOG(SG_INPUT, SG_ALERT, "Unknown material " << material_name);
return;
@ -743,7 +743,7 @@ ssgLeaf *gen_leaf( const string& path,
ssgSimpleState *state = NULL;
float coverage = -1;
FGNewMat *newmat = material_lib.find( material );
SGMaterial *newmat = material_lib.find( material );
if ( newmat == NULL ) {
// see if this is an on the fly texture
string file = path;

View file

@ -117,7 +117,7 @@ ssgLeaf *gen_directional_light( sgVec3 pt, sgVec3 dir, sgVec3 up,
ssgLeaf *leaf =
new ssgVtxTable ( GL_TRIANGLES, vl, nl, NULL, cl );
FGNewMat *newmat = material_lib.find( material );
SGMaterial *newmat = material_lib.find( material );
if ( newmat != NULL ) {
leaf->setState( newmat->get_state() );
@ -234,7 +234,7 @@ ssgTransform *gen_dir_light_group( const point_list &nodes,
ssgLeaf *leaf =
new ssgVtxTable ( GL_TRIANGLES, vl, nl, NULL, cl );
FGNewMat *newmat = material_lib.find( material );
SGMaterial *newmat = material_lib.find( material );
if ( newmat != NULL ) {
leaf->setState( newmat->get_state() );
@ -319,7 +319,7 @@ ssgTransform *gen_reil_lights( const point_list &nodes,
ssgLeaf *leaf =
new ssgVtxTable ( GL_TRIANGLES, vl, nl, NULL, cl );
FGNewMat *newmat = material_lib.find( "RWY_WHITE_LIGHTS" );
SGMaterial *newmat = material_lib.find( "RWY_WHITE_LIGHTS" );
if ( newmat != NULL ) {
leaf->setState( newmat->get_state() );
@ -393,7 +393,7 @@ ssgTransform *gen_odals_lights( const point_list &nodes,
new ssgVtxTable ( GL_POINTS, vl, NULL, NULL, cl );
// we don't want directional lights here
FGNewMat *newmat = material_lib.find( "GROUND_LIGHTS" );
SGMaterial *newmat = material_lib.find( "GROUND_LIGHTS" );
if ( newmat != NULL ) {
leaf->setState( newmat->get_state() );
@ -428,7 +428,7 @@ ssgTransform *gen_odals_lights( const point_list &nodes,
new ssgVtxTable ( GL_POINTS, vl, NULL, NULL, cl );
// we don't want directional lights here
FGNewMat *newmat = material_lib.find( "GROUND_LIGHTS" );
SGMaterial *newmat = material_lib.find( "GROUND_LIGHTS" );
if ( newmat != NULL ) {
leaf->setState( newmat->get_state() );
@ -527,7 +527,7 @@ ssgTransform *gen_rabbit_lights( const point_list &nodes,
ssgLeaf *leaf =
new ssgVtxTable ( GL_TRIANGLES, vl, nl, NULL, cl );
FGNewMat *newmat = material_lib.find( "RWY_WHITE_LIGHTS" );
SGMaterial *newmat = material_lib.find( "RWY_WHITE_LIGHTS" );
if ( newmat != NULL ) {
leaf->setState( newmat->get_state() );
@ -584,7 +584,7 @@ ssgLeaf *gen_normal_line( sgVec3 pt, sgVec3 dir, sgVec3 up ) {
ssgLeaf *leaf =
new ssgVtxTable ( GL_LINES, vl, NULL, NULL, cl );
FGNewMat *newmat = material_lib.find( "GROUND_LIGHTS" );
SGMaterial *newmat = material_lib.find( "GROUND_LIGHTS" );
leaf->setState( newmat->get_state() );
return leaf;

View file

@ -155,7 +155,7 @@ private:
* Lock and synchronize access to tile queue.
*/
SGMutex mutex;
SGCondition frame_cond;
SGPthreadCond frame_cond;
/**
* Thread cleanup handler.

View file

@ -525,7 +525,7 @@ ssgLeaf* FGTileEntry::gen_lights( ssgVertexArray *lights, int inc, float bright
new ssgVtxTable ( GL_POINTS, vl, nl, tl, cl );
// assign state
FGNewMat *newmat = material_lib.find( "GROUND_LIGHTS" );
SGMaterial *newmat = material_lib.find( "GROUND_LIGHTS" );
leaf->setState( newmat->get_state() );
leaf->setCallback( SSG_CALLBACK_PREDRAW, fgLightsPredraw );
leaf->setCallback( SSG_CALLBACK_POSTDRAW, fgLightsPostdraw );

View file

@ -354,7 +354,7 @@ void FGTileMgr::update_queues()
// disk.
int FGTileMgr::update( double visibility_meters )
{
FGLocation *location = globals->get_current_view()->getFGLocation();
SGLocation *location = globals->get_current_view()->getSGLocation();
sgdVec3 abs_pos_vector;
sgdCopyVec3( abs_pos_vector,
globals->get_current_view()->get_absolute_view_pos() );
@ -362,7 +362,7 @@ int FGTileMgr::update( double visibility_meters )
}
int FGTileMgr::update( FGLocation *location, double visibility_meters,
int FGTileMgr::update( SGLocation *location, double visibility_meters,
sgdVec3 abs_pos_vector )
{
longitude = location->getLongitude_deg();
@ -470,7 +470,7 @@ int FGTileMgr::updateCurrentElevAtPos(sgdVec3 abs_pos_vector, Point3D center) {
}
void FGTileMgr::prep_ssg_nodes( FGLocation *location, float vis ) {
void FGTileMgr::prep_ssg_nodes( SGLocation *location, float vis ) {
// traverse the potentially viewable tile list and update range
// selector and transform

View file

@ -163,7 +163,7 @@ public:
// local chunks. If the chunk isn't already in the cache, then
// read it from disk.
int update( double visibility_meters );
int update( FGLocation *location, double visibility_meters,
int update( SGLocation *location, double visibility_meters,
sgdVec3 abs_pos_vector );
int updateCurrentElevAtPos(sgdVec3 abs_pos_vector, Point3D center );
@ -183,7 +183,7 @@ public:
// tile, set the ssg transform and update it's range selector
// based on current visibilty void prep_ssg_nodes( float
// visibility_meters );
void prep_ssg_nodes( FGLocation *location, float visibility_meters );
void prep_ssg_nodes( SGLocation *location, float visibility_meters );
// Set flag with event manager so that non-moving view refreshes
// tiles...