[Gcblue-commits] gcb_wx/src/scriptinterface tcPlatformInterface.cpp,1.23,1.24 tcPlatformInterfaceExt
Status: Alpha
Brought to you by:
ddcforge
Update of /cvsroot/gcblue/gcb_wx/src/scriptinterface In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11624/src/scriptinterface Modified Files: tcPlatformInterface.cpp tcPlatformInterfaceExtension.cpp tcPlatformInterfaceExtensionB.cpp tcScenarioInterface.cpp tcSimPythonInterface.cpp Log Message: Index: tcPlatformInterfaceExtensionB.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/scriptinterface/tcPlatformInterfaceExtensionB.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** tcPlatformInterfaceExtensionB.cpp 27 Apr 2004 22:18:52 -0000 1.10 --- tcPlatformInterfaceExtensionB.cpp 18 Jul 2004 03:18:01 -0000 1.11 *************** *** 124,127 **** --- 124,128 ---- .def("SetLandingState",&tcPlatformInterface::SetLandingState) .def("HasFlightPort",&tcPlatformInterface::HasFlightPort) + .def("GetLandingData", &tcPlatformInterface::GetLandingData) .def("GetUserInput",&tcPlatformInterface::GetUserInput) .def("SendCommand",&tcPlatformInterface::SendCommand) Index: tcSimPythonInterface.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/scriptinterface/tcSimPythonInterface.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** tcSimPythonInterface.cpp 27 Apr 2004 22:18:52 -0000 1.13 --- tcSimPythonInterface.cpp 18 Jul 2004 03:18:01 -0000 1.14 *************** *** 156,164 **** } ! tcFlightPort* tcSimPythonInterface::GetHookedObjFlightPort(void) { ! tcCarrierObject *carrier = dynamic_cast<tcCarrierObject*>(mpHookedObj); ! if (carrier == NULL) return NULL; ! return &carrier->flight_deck; } --- 156,164 ---- } ! tcFlightPort* tcSimPythonInterface::GetHookedObjFlightPort() { ! tcFlightOpsObject* flightOps = dynamic_cast<tcFlightOpsObject*>(mpHookedObj); ! if (flightOps == 0) return 0; ! return flightOps->GetFlightPort(); } Index: tcPlatformInterfaceExtension.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/scriptinterface/tcPlatformInterfaceExtension.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** tcPlatformInterfaceExtension.cpp 27 Apr 2004 22:18:52 -0000 1.8 --- tcPlatformInterfaceExtension.cpp 18 Jul 2004 03:18:01 -0000 1.9 *************** *** 44,50 **** void tcPlatformInterface::InitPythonClassesA(void) { object class_track = class_<tcTrack>("tcTrack") ! .def_readonly("Alt",&tcTrack::mfAlt_m) ! .def_readonly("Lat",&tcTrack::mfLat_rad) ! .def_readonly("Lon",&tcTrack::mfLon_rad) .def_readonly("Speed",&tcTrack::mfSpeed_kts) .def_readonly("Heading_rad",&tcTrack::mfHeading_rad) --- 44,50 ---- void tcPlatformInterface::InitPythonClassesA(void) { object class_track = class_<tcTrack>("tcTrack") ! .def_readwrite("Alt",&tcTrack::mfAlt_m) ! .def_readwrite("Lat",&tcTrack::mfLat_rad) ! .def_readwrite("Lon",&tcTrack::mfLon_rad) .def_readonly("Speed",&tcTrack::mfSpeed_kts) .def_readonly("Heading_rad",&tcTrack::mfHeading_rad) *************** *** 60,66 **** object class_smtrack = class_<tcSensorMapTrack>("tcSMTrack") ! .def_readonly("Alt",&tcSensorMapTrack::mfAlt_m) ! .def_readonly("Lat",&tcSensorMapTrack::mfLat_rad) ! .def_readonly("Lon",&tcSensorMapTrack::mfLon_rad) .def_readonly("Speed",&tcSensorMapTrack::mfSpeed_kts) .def_readonly("Heading_rad",&tcSensorMapTrack::mfHeading_rad) --- 60,66 ---- object class_smtrack = class_<tcSensorMapTrack>("tcSMTrack") ! .def_readwrite("Alt",&tcSensorMapTrack::mfAlt_m) ! .def_readwrite("Lat",&tcSensorMapTrack::mfLat_rad) ! .def_readwrite("Lon",&tcSensorMapTrack::mfLon_rad) .def_readonly("Speed",&tcSensorMapTrack::mfSpeed_kts) .def_readonly("Heading_rad",&tcSensorMapTrack::mfHeading_rad) Index: tcScenarioInterface.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/scriptinterface/tcScenarioInterface.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** tcScenarioInterface.cpp 24 Jun 2004 21:35:40 -0000 1.11 --- tcScenarioInterface.cpp 18 Jul 2004 03:18:01 -0000 1.12 *************** *** 41,46 **** --- 41,48 ---- #include "tcCarrierObject.h" #include "tcAeroAirObject.h" + #include "tcAirfieldObject.h" #include "tcGenericDBObject.h" + using namespace std; using namespace boost::python; *************** *** 193,196 **** --- 195,199 ---- gameObj->mcKin.mfLat_rad = C_PIOVER180*unit.lat; gameObj->mcKin.mfAlt_m = unit.alt; + gameObj->mcKin.mfHeading_rad = C_PIOVER180*unit.heading; gameObj->SetHeading(gameObj->mcKin.mfHeading_rad); *************** *** 228,231 **** --- 231,242 ---- } + // place ground objects relative to terrain height + if (tcAirfieldObject* fieldObj = dynamic_cast<tcAirfieldObject*>(gameObj)) + { + fieldObj->mcKin.mfAlt_m += + mapData->GetTerrainHeight(unit.lon, unit.lat, 0); + } + + simState->AddPlatform(gameObj); return true; *************** *** 245,249 **** wxASSERT(simState); tcGameObject* parentObj = simState->GetObjectByName(parentName); ! if (tcCarrierObject* carrierObj = dynamic_cast<tcCarrierObject*>(parentObj)) { teLocation loc; --- 256,260 ---- wxASSERT(simState); tcGameObject* parentObj = simState->GetObjectByName(parentName); ! if (tcFlightOpsObject* flightOps = dynamic_cast<tcFlightOpsObject*>(parentObj)) { teLocation loc; *************** *** 256,260 **** return false; } ! return carrierObj->AddChildToFlightDeck(className, unitName, loc); } else --- 267,271 ---- return false; } ! return flightOps->AddChildToFlightDeck(className, unitName, loc); } else Index: tcPlatformInterface.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/scriptinterface/tcPlatformInterface.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** tcPlatformInterface.cpp 29 May 2004 00:11:53 -0000 1.23 --- tcPlatformInterface.cpp 18 Jul 2004 03:18:01 -0000 1.24 *************** *** 835,850 **** bool tcPlatformInterface::HasFlightPort(void) { ! tcCarrierObject *carrier = dynamic_cast<tcCarrierObject*>(mpPlatformObj); ! if (carrier != NULL) return true; ! return false; } tcFlightPortInterface tcPlatformInterface::GetFlightPortInfo(void) { tcFlightPortInterface fpi; ! tcCarrierObject *carrier = dynamic_cast<tcCarrierObject*>(mpPlatformObj); ! if (carrier != NULL) { ! fpi.flightport = &carrier->flight_deck; } return fpi; --- 835,884 ---- bool tcPlatformInterface::HasFlightPort(void) { ! if (dynamic_cast<tcFlightOpsObject*>(mpPlatformObj)) ! { ! return true; ! } ! else ! { ! return false; ! } } + + /** + * Id is set to -1 if no landing data available + * Heading_rad has runway orientation + * + * @returns track with landing data for platform id + */ + tcTrack tcPlatformInterface::GetLandingData(long id) + { + tcGameObject* obj = mpSimState->GetObject(id); + if ((obj == 0) || !mpSimState->mpUserInfo->IsOwnAlliance(obj->mnAlliance)) + { + tcTrack data; + data.mnID = -1; + return data; + } + + if (tcFlightOpsObject* flightOps = dynamic_cast<tcFlightOpsObject*>(obj)) + { + return flightOps->GetLandingData(); + } + else + { + tcTrack data; + data.mnID = -1; + return data; + } + } + tcFlightPortInterface tcPlatformInterface::GetFlightPortInfo(void) { tcFlightPortInterface fpi; ! tcFlightOpsObject* flightOps = dynamic_cast<tcFlightOpsObject*>(mpPlatformObj); ! if (flightOps != NULL) { ! fpi.flightport = flightOps->GetFlightPort(); } return fpi; |