[Gcblue-commits] gcb_wx/include/scriptinterface tcPlatformInterface.h,1.14,1.15 tcSimPythonInterface
Status: Alpha
Brought to you by:
ddcforge
From: <ddc...@us...> - 2004-02-15 19:54:51
|
Update of /cvsroot/gcblue/gcb_wx/include/scriptinterface In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8158/include/scriptinterface Modified Files: tcPlatformInterface.h tcSimPythonInterface.h Log Message: Index: tcPlatformInterface.h =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/include/scriptinterface/tcPlatformInterface.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** tcPlatformInterface.h 2 Feb 2004 01:21:37 -0000 1.14 --- tcPlatformInterface.h 15 Feb 2004 19:47:21 -0000 1.15 *************** *** 87,113 **** // basic nav commands: heading, speed, altitude ! float GetAltitude() {return mpPlatformObj->mcKin.mfAlt_m;} float GetFuel() const; float GetMaxAltitude(); float GetSpeed(); ! float GetMaxSpeed(); float GetHeading(); ! float GetHeadingRad(); float GetTerrainElevation(); bool HasThrottle(); ! void SetAltitude(float alt_m) {mpPlatformObj->mcGS.mfGoalAltitude_m = alt_m;} void SetPitchLimitDeg(float lim_deg); void SetSpeed(float speed_kts) {mpPlatformObj->SetSpeed(speed_kts);} ! void SetSpeedToMax(void); void SetThrottle(float throttleFraction); void SetHeading(float heading_deg) {mpPlatformObj->SetHeading(C_PIOVER180*heading_deg);} void SetHeadingRad(float heading_rad) {mpPlatformObj->SetHeading(heading_rad);} float GetHeadingToDatum(float afLon_rad, float afLat_rad); float GetRangeToDatum(float afLon_rad, float afLat_rad); // platform info std::string GetPlatformName(void); std::string GetPlatformClass(void); bool IsSurface() {return (mpPlatformObj->mnModelType == MTYPE_SURFACE);} bool IsAir() { UINT32 nModelType = mpPlatformObj->mnModelType; --- 87,143 ---- // basic nav commands: heading, speed, altitude ! /// gets platform altitude in meters ! float GetAltitude() {return mpPlatformObj->mcKin.mfAlt_m;} ! /// gets fraction of fuel remaining from 0 - 1 float GetFuel() const; + /// gets max altitude in meters indicated in database entry. float GetMaxAltitude(); + /// gets current platform speed in kts float GetSpeed(); ! /// gets max platform speed indicated in database (only a nominal max for aerodynamic air platforms) ! float GetMaxSpeed(); ! /// gets current heading in degrees float GetHeading(); ! /// gets current heading in radians ! float GetHeadingRad(); ! /// gets height of terrain under platform in meters float GetTerrainElevation(); + /// true if platform has a throttle control (aero air models) bool HasThrottle(); ! /// set goal altitude for platform in meters ! /** ! * For air objects ! * @param alt_m goal altitude of platform in meters ! */ ! void SetAltitude(float alt_m) {mpPlatformObj->mcGS.mfGoalAltitude_m = alt_m;} ! /// sets maximum +/- pitch for air objects in degrees, workaround to slow descent for cv landing void SetPitchLimitDeg(float lim_deg); + /// sets speed of platform void SetSpeed(float speed_kts) {mpPlatformObj->SetSpeed(speed_kts);} ! /// set speed of platform to maximum speed (use SetThrottle for aero air objects) ! void SetSpeedToMax(void); ! /// set throttle for air objects ! /** ! * for air objects, sets throttle ! * @param throttleFraction 0 - 1.1, use 0 - 1 for non afterburning throttle, 1.1 for afterburners ! */ void SetThrottle(float throttleFraction); + /// sets heading in degrees void SetHeading(float heading_deg) {mpPlatformObj->SetHeading(C_PIOVER180*heading_deg);} + /// sets heading in radians void SetHeadingRad(float heading_rad) {mpPlatformObj->SetHeading(heading_rad);} + /// get heading to (lon,lat) datum in degrees float GetHeadingToDatum(float afLon_rad, float afLat_rad); + /// get range to (lon,lat) datum in km float GetRangeToDatum(float afLon_rad, float afLat_rad); // platform info + /// get unit name of platform std::string GetPlatformName(void); + /// get database class name of platform std::string GetPlatformClass(void); + /// returns true if platform is a surface platform bool IsSurface() {return (mpPlatformObj->mnModelType == MTYPE_SURFACE);} + /// returns true if platform is an air platform bool IsAir() { UINT32 nModelType = mpPlatformObj->mnModelType; *************** *** 117,176 **** // script variables UINT32 GetVar(int n) {return mpPlatformObj->mcAI.GetVar(n);} void SetVar(int n, UINT32 val) {mpPlatformObj->mcAI.SetVar(n,val);} // target commands void SetTarget(long anID) {mpPlatformObj->DesignateTarget(anID);} long GetTarget(void) {return mpPlatformObj->mcAI.GetTarget();} float GetRangeToTarget(void); tcTrack GetTargetTrackInfo(void); tcGameObject* GetTargetObj(void); bool GetTargetTrack(tcTrack& track); ! bool IsLauncherEffective(int anLauncher); ///< is launcher effective vs. target float SetHeadingToInterceptTarget(void); // weapon related commands ! tcLauncherInfo GetBestLauncher(void); ///< best launcher for target int GetLauncherCount(void); void SendDatumToLauncher(float afLon_rad, float afLat_rad, int anLauncher); bool HandoffTargetToLauncher(int anLauncher); void Launch(int anLauncher, int quantity); std::string GetLauncherWeaponName(int anLauncher); int GetLauncherQuantity(int anLauncher); bool IsDatumLaunch(int anLauncher) {return mpPlatformObj->mcLauncherState.IsDatumLaunch(anLauncher);} bool GetLauncherInfo(tcLauncherInfo& info, int anLauncher); // order related commands bool HasOrders(void); tcOrder GetCurrentOrder(void); void CompletedOrder(void); void AddOrder(std::string order_text, long data = -1); void AddNavOrder(float afLon_rad, float afLat_rad); void ClearOrders(void); void DeleteOrder(int n); int GetOrderCount(); tcOrder GetOrder(int n); // sensor map and sensor commands tcTrackIterator GetFirstTrack(void); int GetTrackCount(void); tcTrackIterator GetNextTrack(long nPos); int GetSensorCount(); tcSensorInfo GetSensorInfo(int n); void SetSensorState(int n, int state); ! void SetAllSensorState(int anState); ///< 0 - off, 1 - on tcTrack GetClosestTrack(float afMaxRange_km, UINT16 anClassMask, UINT8 anAffiliation); tcTrack GetClosestAirTrack(float afMaxRange_km, UINT8 anAffiliation); tcTrack GetClosestSurfaceTrack(float afMaxRange_km, UINT8 anAffiliation); tcTrack GetClosestMissileTrack(float afMaxRange_km, UINT8 anAffiliation); tcTrackList GetTrackList(int anClassMask, float afMaxRange_km, UINT8 anAffiliation); float GetInterceptHeadingToTrack(const tcTrack& track); float GetRangeToTrack(const tcTrack& track); float SetHeadingToInterceptTrack(tcTrack track); tcTrack GetTrackById(long id); // flightport (airstrip, cv flight deck, helo pad) bool HasFlightPort(void); tcFlightPortInterface GetFlightPortInfo(void); --- 147,248 ---- // script variables + /// returns user variable n UINT32 GetVar(int n) {return mpPlatformObj->mcAI.GetVar(n);} + /// sets user variable n void SetVar(int n, UINT32 val) {mpPlatformObj->mcAI.SetVar(n,val);} // target commands + /// set target for platform void SetTarget(long anID) {mpPlatformObj->DesignateTarget(anID);} + /// get platform target, -1 for no target long GetTarget(void) {return mpPlatformObj->mcAI.GetTarget();} + /// get range to target in km float GetRangeToTarget(void); + /// get track info object for target tcTrack GetTargetTrackInfo(void); tcGameObject* GetTargetObj(void); bool GetTargetTrack(tcTrack& track); ! /// returns true if launcher is effective vs. current target ! bool IsLauncherEffective(int anLauncher); ! /// if target is valid, sets heading to intercept target. float SetHeadingToInterceptTarget(void); // weapon related commands ! /// gets launcher info object for best launcher for target ! tcLauncherInfo GetBestLauncher(void); ! /// gets number of launchers available on platform int GetLauncherCount(void); + /// sets datum for launcher void SendDatumToLauncher(float afLon_rad, float afLat_rad, int anLauncher); + /// hands off platform target to launcher bool HandoffTargetToLauncher(int anLauncher); + /// orders launch void Launch(int anLauncher, int quantity); + /// get class name of launcher weapon std::string GetLauncherWeaponName(int anLauncher); + /// get quantity available for launch in launcher int GetLauncherQuantity(int anLauncher); + /// true if launcher can launch using datum only (i.e. no track just a set of coordinates) bool IsDatumLaunch(int anLauncher) {return mpPlatformObj->mcLauncherState.IsDatumLaunch(anLauncher);} bool GetLauncherInfo(tcLauncherInfo& info, int anLauncher); // order related commands + /// true if platform has any orders bool HasOrders(void); + /// gets order info object for current platform order tcOrder GetCurrentOrder(void); + /// called to indicate current order is complete and to move to next order void CompletedOrder(void); + /// adds generic order void AddOrder(std::string order_text, long data = -1); + /// adds navigation order void AddNavOrder(float afLon_rad, float afLat_rad); + /// clear all orders void ClearOrders(void); + /// delete order void DeleteOrder(int n); + /// get total number of orders int GetOrderCount(); + /// get order info object for order n tcOrder GetOrder(int n); // sensor map and sensor commands + /// get first track in alliance sensor map, track iterator object is returned tcTrackIterator GetFirstTrack(void); + /// gets total number of tracks in alliance sensor map int GetTrackCount(void); + /// gets next track in sensor map, nPos is obtained from track iterator from last call tcTrackIterator GetNextTrack(long nPos); + /// gets number of sensors on platform int GetSensorCount(); + /// gets sensor info object for sensor n tcSensorInfo GetSensorInfo(int n); + /// sets state of sensor n, 0 - off, 1 - on void SetSensorState(int n, int state); ! /// sets state of all sensors on platform, 0 - off, 1 - on ! void SetAllSensorState(int anState); ! /// gets track info object for closest track within range that matches classification and affiliation parameters tcTrack GetClosestTrack(float afMaxRange_km, UINT16 anClassMask, UINT8 anAffiliation); + /// gets track info object for closest air track within range matching affiliation tcTrack GetClosestAirTrack(float afMaxRange_km, UINT8 anAffiliation); + /// gets track info object for closest surface track within range matching affiliation tcTrack GetClosestSurfaceTrack(float afMaxRange_km, UINT8 anAffiliation); + /// gets track info object for closest missile track within range matching affiliation tcTrack GetClosestMissileTrack(float afMaxRange_km, UINT8 anAffiliation); + /// gets track list object that has all tracks within range matching affiliation tcTrackList GetTrackList(int anClassMask, float afMaxRange_km, UINT8 anAffiliation); + /// get intercept heading to track in radians float GetInterceptHeadingToTrack(const tcTrack& track); + // get range to track in km float GetRangeToTrack(const tcTrack& track); + /// set heading to intercept track float SetHeadingToInterceptTrack(tcTrack track); + /// get track info object corresponding to track id tcTrack GetTrackById(long id); // flightport (airstrip, cv flight deck, helo pad) + /// true if platform has a flight port (e.g. carrier) bool HasFlightPort(void); tcFlightPortInterface GetFlightPortInfo(void); *************** *** 181,188 **** --- 253,265 ---- void GetUserInput(std::string callback, std::string uitype); void SendCommand(std::string command); + /// display text message in user console void DisplayMessage(std::string text); + /// play sound effect void PlaySound(int n); + /// sets text displayed in platform info panel void SetActionText(std::string text) {mpPlatformObj->mcAI.mzActionText = text;} + /// sets update interval for AI script revisits void SetUpdateInterval(float afInterval) {mpPlatformObj->mcAI.mfUpdateInterval = (afInterval >= 0.25) ? afInterval : 0.25f;} + /// returns a random number between 0 and 1 float GetRand() {return randf();} static void SetObj(tcPlatformObject *apObj) {mpStaticPlatformObj = apObj;} Index: tcSimPythonInterface.h =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/include/scriptinterface/tcSimPythonInterface.h,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** tcSimPythonInterface.h 29 Jan 2004 00:05:05 -0000 1.9 --- tcSimPythonInterface.h 15 Feb 2004 19:47:21 -0000 1.10 *************** *** 44,48 **** namespace ScriptInterface { ! class tcMenuInterface { public: void AddItem(std::string caption, std::string command); --- 44,52 ---- namespace ScriptInterface { ! /** ! * Interface class for creating popup mouse menus. ! */ ! class tcMenuInterface ! { public: void AddItem(std::string caption, std::string command); |