[Gcblue-commits] gcb_wx/src/database tcMissileDBObject.cpp,1.16,1.17
Status: Alpha
Brought to you by:
ddcforge
|
From: Dewitt C. <ddc...@us...> - 2005-03-31 03:51:21
|
Update of /cvsroot/gcblue/gcb_wx/src/database In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27747/src/database Modified Files: tcMissileDBObject.cpp Log Message: Added map overlay, fixed smoke trail roll bug, improved FOV calc for autopoint launchers, database tweaks Index: tcMissileDBObject.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/database/tcMissileDBObject.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** tcMissileDBObject.cpp 29 Mar 2005 00:12:26 -0000 1.16 --- tcMissileDBObject.cpp 31 Mar 2005 03:51:12 -0000 1.17 *************** *** 35,38 **** --- 35,39 ---- #include "common/tinyxml.h" #include "database/tcSqlReader.h" + #include "tcSensorDBObject.h" #include <sstream> *************** *** 65,69 **** } ! tnPoolIndex tcMissileDBObject::GetPrimarySeekerKey() { wxASSERT(database); --- 66,70 ---- } ! long tcMissileDBObject::GetPrimarySeekerKey() { wxASSERT(database); *************** *** 81,84 **** --- 82,107 ---- /** + * @return seeker field of view in radians + */ + float tcMissileDBObject::GetSeekerFOV() + { + if (seekerFOV_rad >= 0) return seekerFOV_rad; + + long seekerKey = GetPrimarySeekerKey(); + tcDatabaseObject* obj = database->GetObject(seekerKey); + if (tcSensorDBObject* sensor = dynamic_cast<tcSensorDBObject*>(obj)) + { + seekerFOV_rad = C_PIOVER180 * sensor->mfFieldOfView_deg; + } + else + { + wxASSERT(false); + seekerFOV_rad = C_TWOPI; + } + + return seekerFOV_rad; + } + + /** * This checks that the database object has all of the emitters in the * emitters vector. Somewhat expensive, nEmitters * nSensors *************** *** 539,543 **** tcMissileDBObject::tcMissileDBObject(tcMissileDBObject& obj) ! : tcWeaponDBObject(obj) { mnClassID = DTYPE_MISSILE; --- 562,567 ---- tcMissileDBObject::tcMissileDBObject(tcMissileDBObject& obj) ! : tcWeaponDBObject(obj), ! seekerFOV_rad(obj.seekerFOV_rad) { mnClassID = DTYPE_MISSILE; *************** *** 574,578 **** } ! tcMissileDBObject::tcMissileDBObject() : tcWeaponDBObject() { mnClassID = DTYPE_MISSILE; --- 598,603 ---- } ! tcMissileDBObject::tcMissileDBObject() : tcWeaponDBObject(), ! seekerFOV_rad(-1.0f) { mnClassID = DTYPE_MISSILE; |