VR-Forces 4.0.4 Class Documentation
include/vrfcontrol/vrfController.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999-2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vrfController.h,v $ $Revision: 1.137 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef vrfController_H_
00016 #define vrfController_H_
00017 
00018 #include <vrfExtProtocol/objType.h>
00019 #include "vrfcontrol/vrfBeListener.h"
00020 #include "vrfutil/compressedFileTransport.h"
00021 #include "vrfmsgs/ifSaveComplete.h"
00022 #include "vrftasks/setDataReq.h"
00023 #include "vrfutil/scenario.h"
00024 #include "vrftasks/simTask.h"
00025 #include "vrfplan/plan.h"
00026 #include <vrfExtProtocol/objTypeEnums.h>
00027 #include "vrfmsgs/spatialSubdivisionTypes.h"
00028 #include "vrfmsgs/dfltRadMsgFactory.h"
00029 #include "vrftasks/dfltTaskFactory.h"
00030 #include "vrftasks/dfltReportFactory.h"
00031 #include "vrftasks/dfltSetReqFact.h"
00032 #include "vrftasks/dfltAdminContentFactory.h"
00033 #include "vrfutil/dfltCeFactory.h"
00034 #include "vrfplan/dfltStmtFactory.h"
00035 #include "vrfplan/dfltSimCommandFactory.h"
00036 #include "vrfcontrol/vrfcontrolDefines.h"
00037 #include "vrfmsgs/vrfObjectMessageExecutive.h"
00038 #include "vrfmsgs/ifModifyIndirectArtilleryObject.h"
00039 
00041 #include <vl/commentInter.h>
00042 #include <vl/exerciseConn.h>
00043 #include <vl/hostStructs.h>
00044 #include <vlpi/disEnums.h>
00045 #include <vlpi/appearance.h>
00046 #include <vlutil/vlHashlist.h>
00047 
00049 #include <list>
00050 
00051 class DtAdminContent;
00052 class DtBackendMap;
00053 class DtAddressMap;
00054 class DtVrfMessageInterface;
00055 class DtVrfConfigurationFileComposer;
00056 class DtIfServerRequestResponse;
00057 class DtIfLoadScenario;
00058 class DtIfPlan;
00059 class DtRadioMessageListener;
00060 class DtIfMultiplePlanResponse;
00061 class DtVrfIndirectArtilleryObjectModify;
00062 class DtSettingsObject;
00063 class DtReflectedEnvironmentProcessList;
00064 class DtRemoteEnvironmentController;
00065 
00066 typedef void (*DtScenarioCallbackFcn)(void* usr);
00067 class DtVrfOverlayObjectModify;
00068 
00070 typedef bool (*DtBackendRemappingFcn)(DtBackendMap* map, void* usr);
00073 typedef bool (*DtPreserveMappingsFcn)(void* usr);
00074 
00075 typedef bool (*DtLoadBalancingFcn)(DtAddressMap* map, const DtList* backends,
00076    void* usr);
00077 
00078 typedef void (*DtBackendSaveCallbackFcn)
00079    (const DtSimulationAddress& addr, DtSaveResult result, void * usr);
00080 
00081 typedef void (*DtScenarioSavedCallbackFcn)
00082    (DtSaveResult result, void* usr);
00083 
00084 typedef void (*DtVrfObjectCreatedCallbackFcn)
00085    (const DtString& name, const DtEntityIdentifier& id, void* usr);
00086 
00087 typedef void (*DtOverlayCreatedCallbackFcn)
00088    (const DtString& name, const DtEntityIdentifier& id, DtVrfOverlayObjectModify* usr);
00089 
00090 typedef void (*DtIndirectArtilleryCreatedCallbackFcn)
00091    (const DtString& name, const DtEntityIdentifier& id,
00092       void* usr);
00093 
00094 typedef void (*DtObjectConsoleMessageCallbackFcn)
00095    (const DtEntityIdentifier& id, int notifyLevel, const DtString& message,
00096    void* usr);
00097 
00098 typedef void (*DtBackendConsoleMessageCallbackFcn)
00099    (const DtSimulationAddress& id, int notifyLevel, const DtString& message,
00100    void* usr);
00101 
00105 typedef void (*DtServerRequestResponseCallbackFcn)
00106    (const DtIfServerRequestResponse& response, void* usr);
00107 
00108 class PlanCbInfo 
00109 {
00110 public:
00111    PlanCbInfo(const DtString& n, bool global, DtPlanCallbackFcn f, void* usr) : 
00112       name(n), isGlobal(global), fcn(f), data(usr) {}
00113       ~PlanCbInfo() {}
00114    bool operator==(const PlanCbInfo& orig) const
00115    {
00116       return (name == orig.name && fcn == orig.fcn && data == orig.data
00117          && isGlobal == orig.isGlobal);
00118    }
00119 
00120       DtString name;
00121       bool isGlobal;
00122       DtPlanCallbackFcn fcn;
00123       void* data;
00124 };
00125 
00126 class StmtCbInfo 
00127 {
00128 public:
00129    StmtCbInfo(const DtString& n, bool global, 
00130       DtPlanStatementCallbackFcn f, void* usr) : 
00131    name(n), isGlobal(global) , fcn(f), data(usr) {}
00132    ~StmtCbInfo() {}
00133    bool operator==(const StmtCbInfo& orig) const
00134    {
00135       return (name == orig.name && fcn == orig.fcn && data == orig.data &&
00136          isGlobal == orig.isGlobal);
00137    }
00138 
00139    DtPlanStatementCallbackFcn fcn;
00140    DtString name;
00141    bool isGlobal;
00142    void* data;
00143 };
00144 
00145 class PlanCompleteCbInfo 
00146 {
00147 public:
00148    PlanCompleteCbInfo(const DtString& n, bool global,
00149       DtPlanCompleteCallbackFcn f, void* usr) : 
00150    name(n), isGlobal(global), fcn(f), data(usr) {}
00151    ~PlanCompleteCbInfo() {}
00152    bool operator==(const PlanCompleteCbInfo& orig) const
00153    {
00154       return (name == orig.name && fcn == orig.fcn && data == orig.data && isGlobal == orig.isGlobal);
00155    }
00156 
00157    DtPlanCompleteCallbackFcn fcn;
00158    DtString name;
00159    bool isGlobal;
00160    void* data;
00161 };
00162 
00174 class DT_DLL_vrfcontrol DtVrfRemoteController
00175 {
00176 public:
00177    enum ComponentAttachmentRule{
00178       AttachNone=0,
00179       AttachFirst,
00180       AttachEven
00181    };
00182 
00183 public:
00184 
00190    DtVrfRemoteController(int receivePort = 9000);
00191 
00202    virtual void init(DtExerciseConn* exConn,
00203       DtReflectedEnvironmentProcessList* rel = NULL);
00204    virtual void init(DtVrfMessageInterface* msgIf,
00205       DtReflectedEnvironmentProcessList* rel = NULL);
00207 
00208    virtual ~DtVrfRemoteController();
00209 
00211    virtual DtVrfMessageInterface* vrfMessageInterface() const;
00212 
00214    virtual const DtSimulationAddress& simulationAddress() const;
00215    virtual int sessionId() const;
00216 
00219    virtual double simTime(const DtSimulationAddress* a = NULL) const;
00220 
00222    virtual const DtList& backends() const;
00223 
00226    virtual const DtList& pendingBackends() const;
00227 
00229    virtual DtVrfBackendListener* backendListener() const;
00230 
00232    virtual void addBackendDiscoveryCallback(
00233       DtBackendCallbackFcn fcn, void* usr);
00234    virtual void removeBackendDiscoveryCallback(
00235       DtBackendCallbackFcn fcn, void* usr);
00236 
00238    virtual void addBackendRemovalCallback(
00239       DtBackendCallbackFcn fcn, void* usr);
00240    virtual void removeBackendRemovalCallback(
00241       DtBackendCallbackFcn fcn, void* usr);
00242 
00246    virtual int backendsControlState() const;
00247 
00249    virtual int numberBackendsLoaded() const;
00250 
00253    virtual bool allBackendsReady() const;
00254 
00256    virtual bool backendLoaded(const DtSimulationAddress& addr) const;
00257 
00260    virtual void modifyBackEndSetting(const DtSettingsObject* setting, 
00261       const DtSimulationAddress& addr = DtSimSendToAll);
00262 
00273    virtual void requestBackEndSetting(std::string name,
00274       DtBackEndSettingRequestCompleteCallbackFcn fcn, void* usr = 0,
00275       const DtSimulationAddress& addr = DtSimSendToAll);
00276       
00279    virtual void setSpotReportsGloballyEnabled(bool enabled);
00280 
00283    virtual void setDRThresholds(double translation, double rotation);
00284 
00286    virtual void setCommModelSettings(bool useExternalComms);
00287 
00289    virtual void setRoadDrivingSettings(bool driveOnLeft);
00290 
00293    virtual void setAutomaticAggregationDisaggregationEnabled(bool enabled);
00294 
00299    virtual void setPublishAggregateFormationRoutes(bool yesNo);
00300 
00301    //-------------------------------------------------------
00303    //-------------------------------------------------------
00304 
00327    virtual bool loadScenario(const DtFilename& filename, 
00328       DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0, 
00329       DtLoadBalancingFcn = 0, void* usrBalancing = 0,
00330       const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
00331       ComponentAttachmentRule compAttachRule = DtVrfRemoteController::AttachNone); 
00332 
00341    virtual bool loadScenario(const DtScenario& scenario, 
00342       DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
00343       DtLoadBalancingFcn = 0, void* usrBalancing = 0,
00344       const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>()); 
00345 
00349    virtual DtString guiTerrainDatabaseFilename() const;
00350    virtual void setGuiTerrainDatabaseFilename(DtString db);
00351 
00353    virtual const DtRwKeyValueList& scenarioData() const;
00354    virtual void setScenarioData(const DtRwKeyValueList&);
00355 
00360    virtual bool newScenario(
00361       const DtFilename& dbname, 
00362       const DtFilename& guidbname, 
00363       const DtFilename& opdname = DtFilename::nullFilename(),
00364       const DtFilename& physicalWorldName = DtFilename::nullFilename(),
00365       const DtScenario* baseScenario = 0,
00366       int startTimeOfDay = 12 * 3600);
00367 
00369    virtual bool newScenario(
00370       const DtFilename& dbname, 
00371       const DtFilename& guidbname, 
00372       const std::vector<DtString>& simulationModelSetFiles,
00373       const DtScenario* baseScenario = 0,
00374       int startTimeOfDay = 12 * 3600);
00375 
00381    virtual bool sendLoadScenarioMessage(
00382       const DtScenario& scenario, 
00383       const DtSimulationAddress& addr = DtSimSendToAll) const;
00384 
00387    virtual DtIfLoadScenario* createLoadScenarioMessage() const;
00388 
00391    virtual void addBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
00392    virtual void removeBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
00393 
00396    virtual void addScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
00397    virtual void removeScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
00398 
00411    virtual bool saveScenario(const DtFilename& saveName, 
00412       DtPreserveMappingsFcn fcn = 0, void* userData = 0);
00413 
00416    virtual void sendSaveScenarioMessage(const DtSimulationAddress& addr = DtSimSendToAll) const;
00417 
00420    virtual void addBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
00421    virtual void removeBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
00422 
00427    virtual void addScenarioSavedCallback(
00428       DtScenarioCallbackFcn fcn, void* usr);
00429    virtual void removeScenarioSavedCallback(
00430       DtScenarioCallbackFcn fcn, void* usr);
00431 
00435    virtual void addScenarioSavedCallback(
00436       DtScenarioSavedCallbackFcn fcn, void* usr);
00437    virtual void removeScenarioSavedCallback(
00438       DtScenarioSavedCallbackFcn fcn, void* usr);
00439 
00441    virtual void closeScenario(const DtSimulationAddress& addr = DtSimSendToAll);
00442 
00445    virtual void run(const DtSimulationAddress& addr = DtSimSendToAll) const;
00446    virtual void pause(const DtSimulationAddress& addr = DtSimSendToAll) const;
00447    virtual void rewind(const DtSimulationAddress& addr = DtSimSendToAll) const;
00448    virtual void exit(const DtSimulationAddress& addr = DtSimSendToAll) const;
00449    virtual void step(const DtSimulationAddress& addr = DtSimSendToAll) const;
00451 
00460    virtual void setOpdSaveName(const DtFilename& f);
00461    virtual const DtFilename& opdSaveName() const;
00463 
00468    virtual void setMaxWaitSaveTime(DtTime t);
00469    virtual DtTime maxWaitSaveTime() const;
00471 
00476    virtual void setMaxWaitLoadTime(DtTime t);
00477    virtual DtTime maxWaitLoadTime() const;
00479 
00484    virtual void setOverlayFilename(const DtFilename& overlay);
00485    virtual const DtFilename& overlayFilename() const;
00487 
00492    virtual void setHostilityFilename(const DtFilename& hostilty);
00493    virtual const DtFilename& hostilityFilename() const;
00495 
00496    virtual void setScenarioExtrasFilename(const DtFilename& extras);
00497    virtual const DtFilename& scenarioExtrasFilename() const;
00498 
00503    virtual void setSelectionGroupsFilename(const DtFilename& sel);
00504    virtual const DtFilename& selectionGroupsFilename() const;
00506 
00511    virtual void setSymbolMapFilename(const DtFilename& overlay);
00512    virtual const DtFilename& symbolMapFilename() const;
00514 
00519    virtual void setCreateMenuFilename(const DtFilename& overlay);
00520    virtual const DtFilename& createMenuFilename() const;
00522 
00524    virtual void saveParameterDb(const DtFilename& filename);
00525 
00526    //-------------------------------------------------------
00528    //-------------------------------------------------------
00529 
00531    virtual void deleteObject(const DtString& name,
00532       const DtSimulationAddress& addr = DtSimSendToAll) const;
00533 
00535    virtual void deleteObject(const DtEntityIdentifier& id,
00536       const DtSimulationAddress& addr = DtSimSendToAll) const;
00537 
00538    //-------------------------------------------------------
00540    //-------------------------------------------------------
00541 
00543 
00548    virtual void createWaypoint(
00549       const DtVector& geocentricPosition,
00550       const DtString& uniqueName = DtString::nullString(), 
00551       const DtString& label = DtString::nullString(), 
00552       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00553 
00557    virtual void createWaypoint(
00558       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00559       const DtVector& geocentricPosition,
00560       const DtString& uniqueName = DtString::nullString(), 
00561       const DtString& label = DtString::nullString(), 
00562       const DtSimulationAddress& addr = DtSimSendToAll); 
00563 
00565    virtual void modifyWaypoint(
00566       const DtEntityIdentifier& uniqueId,      
00567       DtString* uniqueName = 0, 
00568       DtString* label = 0,
00569       DtVector* geocentricPosition = 0,
00570       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00571 
00573 
00578    virtual void createRoute(
00579       const DtList& vertices,
00580       const DtString& uniqueName = DtString::nullString(),
00581       const DtString& label = DtString::nullString(), 
00582       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00583 
00587    virtual void createRoute(
00588       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00589       const DtList& vertices,
00590       const DtString& uniqueName = DtString::nullString(),
00591       const DtString& label = DtString::nullString(), 
00592       const DtSimulationAddress& addr = DtSimSendToAll) ; 
00593 
00595    virtual void modifyRoute(
00596       const DtEntityIdentifier& uniqueId,
00597       DtString* uniqueName = 0,
00598       DtString* label = 0,
00599       DtList* vertices = 0,
00600       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00601 
00603 
00608    virtual void createPhaseLine(
00609       const DtVector& dbPoint1,
00610       const DtVector& dbPoint2,
00611       const DtString& uniqueName = DtString::nullString(),
00612       const DtString& label = DtString::nullString(), 
00613       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00614 
00618    virtual void createPhaseLine(
00619       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00620       const DtVector& dbPoint1,
00621       const DtVector& dbPoint2,
00622       const DtString& uniqueName = DtString::nullString(),
00623       const DtString& label = DtString::nullString(), 
00624       const DtSimulationAddress& addr = DtSimSendToAll) ; 
00625 
00627    virtual void modifyPhaseLine(
00628       const DtEntityIdentifier& uniqueId,
00629       DtString* uniqueName = 0,
00630       DtString* label = 0,
00631       DtVector* newDbPoint1 = 0,
00632       DtVector* newDbPoint2 = 0,
00633       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00634 
00636 
00642    virtual void createControlArea(
00643       const DtList& vertices,
00644       const DtString& uniqueName = DtString::nullString(),
00645       const DtString& label = DtString::nullString(), 
00646       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00647 
00651    virtual void createControlArea(
00652       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00653       const DtList& vertices,
00654       const DtString& uniqueName = DtString::nullString(),
00655       const DtString& label = DtString::nullString(), 
00656       const DtSimulationAddress& addr = DtSimSendToAll) ; 
00657 
00659    virtual void modifyControlArea(
00660       const DtEntityIdentifier& uniqueId,
00661       DtString* uniqueName = 0,
00662       DtString* label = 0,
00663       DtList* newVertices = 0,
00664       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00665 
00667 
00673    virtual void createObstacle(
00674       const DtList& vertices,
00675       const DtString& uniqueName = DtString::nullString(),
00676       const DtString& label = DtString::nullString(), 
00677       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00678 
00682    virtual void createObstacle(
00683       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00684       const DtList& vertices,
00685       const DtString& uniqueName = DtString::nullString(),
00686       const DtString& label = DtString::nullString(), 
00687       const DtSimulationAddress& addr = DtSimSendToAll) ; 
00688 
00690    virtual void modifyObstacle(
00691       const DtEntityIdentifier& uniqueId,
00692       DtString* uniqueName = 0,
00693       DtString* label = 0,
00694       DtList* newVertices = 0,
00695       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00696 
00698 
00705    virtual void createDisaggregationArea(
00706       const DtList& vertices,
00707       const DtString& uniqueName = DtString::nullString(),
00708       const DtString& label = DtString::nullString(), 
00709       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00710 
00715    virtual void createDisaggregationArea(
00716       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00717       const DtList& vertices,
00718       const DtString& uniqueName = DtString::nullString(),
00719       const DtString& label = DtString::nullString(), 
00720       const DtSimulationAddress& addr = DtSimSendToAll) ; 
00721 
00723    virtual void modifyDisaggregationArea(
00724       const DtEntityIdentifier& uniqueId,
00725       DtString* uniqueName = 0,
00726       DtString* label = 0,
00727       DtList* newVertices = 0,
00728       const DtSimulationAddress& addr = DtSimSendToAll) const; 
00729 
00743    virtual void createOverlayObject(
00744       const DtEntityType& type,
00745       const DtList& vertices,
00746       const DtForceType& force,
00747       const DtString& name,
00748       const DtString& label,
00749       int color,
00750       const DtString& parentName,
00751       bool projection,
00752       bool closedFigure,
00753       const DtAppearance& appearance = DtAppearance::nullAppearance(),
00754       const DtString& attachTo = DtString(),
00755       char* userData = 0,
00756       int dataSize = 0,
00757       DtOverlayCreatedCallbackFcn fcn = 0,
00758       const DtSimulationAddress& addr = DtSimSendToAll,
00759       unsigned int rId = 0);
00760 
00761    virtual void createIndirectArtillery(
00762       const DtVrfIndirectArtilleryObjectModify * params,
00763       const DtSimulationAddress& addr);
00764    //-------------------------------------------------------
00766    //-------------------------------------------------------
00767 
00769    virtual void createObject(
00770       const DtEntityType& type,
00771       DtForceType force,
00772       DtList* vertices,
00773       const DtString& name,
00774       const DtSimulationAddress& addr);
00775 
00777    virtual void createEntity(
00778       const DtEntityType& type,
00779       const DtVector& geocentricPosition,
00780       DtForceType force,
00781       DtReal heading,
00782       const DtString& uniqueName = DtString::nullString(),
00783       const DtString& label = DtString::nullString(), 
00784       const DtSimulationAddress& addr = DtSimSendToAll,
00785       bool groundClamp = true) const;
00786 
00790    virtual void createEntity(
00791       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00792       const DtEntityType& type,
00793       const DtVector& geocentricPosition,
00794       DtForceType force,
00795       DtReal heading,
00796       const DtString& uniqueName = DtString::nullString(),
00797       const DtString& label = DtString::nullString(), 
00798       const DtSimulationAddress& addr = DtSimSendToAll,
00799       bool groundClamp = true);
00800 
00801    virtual void createAggregate(
00802       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00803       const DtEntityType& type,
00804       const DtVector& geocentricPosition,
00805       DtForceType force,
00806       DtReal heading,
00807       const DtString& uniqueName,
00808       const DtString& label = DtString::nullString(), 
00809       const DtSimulationAddress& addr = DtSimSendToAll,
00810       DtAggregateState initialAggregateState = DtDisaggregated);
00811 
00813    virtual void createAggregate(
00814       const DtEntityType& type, 
00815       const DtVector& geocentricPosition,
00816       DtForceType force,
00817       DtReal heading,
00818       DtList* entityNames = 0,
00819       const DtSimulationAddress& addr = DtSimSendToAll,
00820       DtAggregateState initialAggregateState = DtDisaggregated,
00821       unsigned int requestId = 0) const;
00822 
00826    virtual void createAggregate(
00827       DtVrfObjectCreatedCallbackFcn fcn, void* usr,
00828       const DtEntityType& type, 
00829       const DtVector& geocentricPosition,
00830       DtForceType force,
00831       DtReal heading,
00832       DtList* entityNames = 0,
00833       const DtSimulationAddress& addr = DtSimSendToAll,
00834       DtAggregateState initialAggregateState = DtDisaggregated) ;
00835 
00838    virtual void addToOrganization(
00839       const DtEntityIdentifier& objectId,
00840       const DtEntityIdentifier& newSuperiorId,
00841       const DtSimulationAddress& addr = DtSimSendToAll);
00842 
00846    virtual void addToForceLevelOrganization(
00847       const DtEntityIdentifier& orjectId,
00848       const DtSimulationAddress& addr = DtSimSendToAll);
00849 
00852    virtual void removeFromOrganization(
00853       const DtEntityIdentifier& objectId,
00854       const DtSimulationAddress& addr = DtSimSendToAll);
00855 
00861 
00863    virtual void setLabel(
00864       const DtEntityIdentifier& id, const DtString& label,
00865       const DtSimulationAddress& addr = DtSimSendToAll) const;
00866 
00868    virtual void setOverlayParent(
00869       const DtEntityIdentifier& id, const DtString& label,
00870       const DtSimulationAddress& addr = DtSimSendToAll) const;
00871 
00873    virtual void setAltitude(
00874       const DtString& name, double altitude,
00875       const DtSimulationAddress& addr = DtSimSendToAll) const;
00876 
00878    virtual void setLocation(
00879       const DtString& name, DtVector coord,
00880       const DtSimulationAddress& addr = DtSimSendToAll) const;
00881 
00883    virtual void setAppearance(
00884       const DtString& name, int appearance,
00885       const DtSimulationAddress& addr = DtSimSendToAll) const;
00886 
00888    virtual void setCapabilities(
00889       const DtString& name, int capabilities,
00890       const DtSimulationAddress& addr = DtSimSendToAll) const;
00891 
00893    virtual void setHeading(
00894       const DtString& name, double degrees,
00895       const DtSimulationAddress& addr = DtSimSendToAll) const;
00896 
00898    virtual void setForce(
00899       const DtString& name, DtForceType force,
00900       const DtSimulationAddress& addr = DtSimSendToAll) const;
00901 
00905    virtual void requestSpotReports(const DtString& name, bool onOff,
00906       const DtSimulationAddress& addr = DtSimSendToAll) const;
00907 
00911    virtual void setResource(const DtString& name, 
00912       const char* resourceType, double value,
00913       const DtSimulationAddress& addr = DtSimSendToAll) const;
00914 
00918    virtual void setRulesOfEngagement( 
00919       const DtString& name, const char* rulesType,
00920       const DtSimulationAddress& addr = DtSimSendToAll) const;
00921 
00923    virtual void setSectorOfResponsibility( 
00924       const DtString& name, double center, double size,
00925       const DtSimulationAddress& addr = DtSimSendToAll) const;
00926 
00928    virtual void setSpeed(
00929       const DtString& name, double speed,
00930       const DtSimulationAddress& addr = DtSimSendToAll) const;
00931 
00933    virtual void setTarget(
00934       const DtString& name, const DtString& target,
00935       const DtSimulationAddress& addr = DtSimSendToAll) const;
00936 
00938    virtual void setTaskedBySuperior(const DtString& name,
00939       const DtSimulationAddress& addr = DtSimSendToAll) const;
00940 
00942    virtual void setConcealed(const DtString& name,
00943       bool yes, const DtSimulationAddress& addr = DtSimSendToAll) const;
00944 
00946    virtual void setEmitter(const DtString& name,
00947       int emitterId, bool on,
00948       const DtSimulationAddress& addr = DtSimSendToAll) const;
00949 
00951    virtual void setIff(const DtString& name,
00952       bool mode1on, int mode1code,
00953       bool mode2on, int mode2code,
00954       bool mode3on, int mode3code,
00955       bool mode4on, int mode4code,
00956       DtIffAtcNavaidsAltParm4 altParm4,
00957       bool mode5on, bool useAltMode5,
00958       bool modeSon, bool emergency,
00959       bool flash, bool sti, bool modeSTcasI,
00960       const DtSimulationAddress& addr = DtSimSendToAll) const;
00961 
00963    virtual void restore(const DtString& name,
00964       const DtSimulationAddress& addr = DtSimSendToAll) const;
00965 
00968    virtual void setDestroyed(const DtString& name,
00969       const DtSimulationAddress& addr = DtSimSendToAll) const;
00970 
00974    virtual void setLifeformWeaponState(
00975       const DtString& name, DtWeaponState weapon,
00976       const DtSimulationAddress& addr) const;
00977 
00981    virtual void setLifeformPosture(
00982       const DtString& name, DtLifeformState posture,
00983       const DtSimulationAddress& addr) const;
00984 
00987    virtual void setAggregateFormation(
00988       const DtString& leader, const DtString& formationName,
00989       const DtSimulationAddress& addr = DtSimSendToAll) const;
00990 
00994    virtual void reorganizeAggregate(const DtString& leader,
00995       const DtSimulationAddress& addr = DtSimSendToAll) const;
00996 
01000    virtual void disaggregateEntity(const DtString& entity,
01001       const DtSimulationAddress& addr = DtSimSendToAll) const;
01002 
01006    virtual void aggregateEntity(const DtString& entity,
01007       const DtSimulationAddress& addr = DtSimSendToAll) const;
01008 
01011    virtual void sendSetDataMsg(
01012       const DtString& recipient, DtSetDataRequest* msg, 
01013       const DtSimulationAddress& addr) const;
01014 
01016 
01017 
01018    //-------------------------------------------------------
01020    //-------------------------------------------------------
01021 
01025    virtual void sendVrfObjectCreateMsg(
01026       const DtSimulationAddress& addr,
01027       unsigned int requestId,
01028       const DtString& name,
01029       const DtObjectType& type,
01030       const DtList& vertices,
01031       const DtString& label,
01032       const DtAppearance& appearance,
01033       DtForceType force,
01034       bool projection,
01035       bool closedFigure,
01036       DtReal heading,
01037       bool createSubObjects,
01038       bool clampToGroundFlag = true,
01039       const DtString& initialFormation = DtString::nullString(),
01040       DtAggregateState initialAggregateState = DtDisaggregated,
01041       const DtString& userData = DtString::nullString(),
01042       std::list<DtAdminContent*>* initialAdminContent = 0,
01043       std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0) const;
01044 
01051    virtual void sendVrfObjectModifyMsg(
01052       const DtSimulationAddress& addr,
01053       const DtEntityIdentifier& id,
01054       DtString* name = 0,
01055       DtList* vertices = 0,
01056       DtForceType* force = 0,
01057       DtReal* heading = 0,
01058       DtString* label = 0,
01059       DtAppearance* appearance = 0,
01060       DtString* overlayParent = 0,
01061       DtString* userData = 0) const;
01062 
01066    virtual void sendVrfOverlayObjectModifyMsg(
01067       const DtSimulationAddress& addr,
01068       const DtEntityIdentifier& id,
01069       int color,
01070       DtString parentName,
01071       DtString attachTo,
01072       bool keepExistingAttachment = true,
01073       char* userData = 0,
01074       int len = 0) const;
01075 
01076    virtual void sendVrfIndirectArtilleryObjectModifyMsg(
01077       const DtSimulationAddress& addr,
01078       const DtEntityIdentifier& id,
01079       const DtVrfIndirectArtilleryObjectModify * mod) const;
01080 
01081    //-------------------------------------------------------
01083    //-------------------------------------------------------
01084 
01087    virtual void moveAlongRoute(
01088       const DtString& entityName, const DtString& routeName,
01089       const DtSimulationAddress& addr = DtSimSendToAll) const;
01090 
01093    virtual void moveToWaypoint(
01094       const DtString& entityName, const DtString& waypoint,
01095       bool planPath = false,
01096       const DtSimulationAddress& addr = DtSimSendToAll) const;
01097 
01101    virtual void moveToLocation(
01102       const DtString& entityName, const DtVector& destinationLocation,
01103       bool planPath = false,
01104       const DtSimulationAddress& addr = DtSimSendToAll) const;
01105 
01108    virtual void patrolBetweenWaypoints(
01109       const DtString& name, 
01110       const DtString& waypoint1, const DtString& waypoint2, 
01111       const DtSimulationAddress& addr = DtSimSendToAll) const;
01112 
01115    virtual void patrolAlongRoute(
01116       const DtString& name, const DtString& route,
01117       const DtSimulationAddress& addr = DtSimSendToAll) const;
01118 
01124    virtual void followEntity(
01125       const DtString& name, 
01126       const DtString& leader, const DtVector& offset,
01127       const DtSimulationAddress& addr = DtSimSendToAll) const;
01128 
01131    virtual void wait(
01132       const DtString& name, 
01133       const DtSimulationAddress& addr = DtSimSendToAll) const;
01134 
01137    virtual void waitDuration(
01138       const DtString& name, DtTime duration, 
01139       const DtSimulationAddress& addr = DtSimSendToAll) const;
01140 
01143    virtual void waitElapsed(
01144       const DtString& name, DtTime elapsed, 
01145       const DtSimulationAddress& addr = DtSimSendToAll) const;
01146 
01150    virtual void sendTaskMsg(
01151       const DtString& recipient, DtSimTask* task, 
01152       const DtSimulationAddress& addr = DtSimSendToAll) const;
01153 
01156    virtual void abandonPlan(const DtString& name,
01157       const DtSimulationAddress& addr = DtSimSendToAll) const;
01158 
01160    virtual void skipTask(const DtString& name,
01161       const DtSimulationAddress& addr = DtSimSendToAll) const;
01162 
01165    virtual void restartPlan(const DtString& name,
01166       const DtSimulationAddress& addr = DtSimSendToAll) const;
01167 
01175    virtual void assignPlanByName(
01176       const DtString& name, const DtPlan& plan,
01177       const DtSimulationAddress& addr = DtSimSendToAll,
01178       int *retiStatus = NULL, DtString* retsStmt = NULL) const;
01179 
01181    virtual void assignMultiplePlanByName(
01182       const std::vector<DtString>& entities, const DtPlan& plan,
01183       const DtSimulationAddress& addr = DtSimSendToAll,
01184       int *retiStatus = NULL, DtString* retsStmt = NULL) const;
01185 
01190    virtual void requestPlan(
01191       const DtString& name,
01192       bool addStmtCallback = true,
01193       const DtSimulationAddress& addr = DtSimSendToAll) const;
01194 
01199    virtual void subscribePlan(const DtString& name,
01200       DtPlanCallbackFcn fn, void* usr, 
01201       const DtSimulationAddress& addr = DtSimSendToAll);
01202 
01208    virtual void requestMultiplePlan(const std::vector<DtString>& entities,
01209       DtMultiplePlanRequestCallbackFcn fcn, void *usr,
01210       const DtSimulationAddress& addr = DtSimSendToAll);
01211 
01212    virtual void requestMultiplePlan(const std::vector<DtString>& entities,
01213       const DtSimulationAddress& addr = DtSimSendToAll);
01214 
01217    virtual void unsubscribePlan(const DtString& name,
01218       DtPlanCallbackFcn fn, void* usr);
01219 
01222    virtual void unsubscribeAllPlans();
01223    
01228    virtual void addPlanStatementCallback(const DtString& name,
01229       DtPlanStatementCallbackFcn callback, void* usrData);
01230 
01233    virtual void removePlanStatementCallback(const DtString& name,
01234       DtPlanStatementCallbackFcn callback, void* usrData);
01235 
01238    virtual void removeAllPlanStatementCallbacks();
01239    
01244    virtual void addPlanCompleteCallback(const DtString& name,
01245       DtPlanCompleteCallbackFcn callback, void* usrData);
01246 
01249    virtual void removePlanCompleteCallback(const DtString& name,
01250       DtPlanCompleteCallbackFcn callback, void* usrData);
01251 
01254    virtual void removeAllPlanCompleteCallbacks();   
01255 
01257 
01259    virtual void requestGlobalPlansList(const DtSimulationAddress& addr);
01260 
01268    virtual void assignGlobalPlan(
01269       const DtString& name, const DtPlan& plan,
01270       const DtSimulationAddress& addr = DtSimSendToAll,
01271       int *retiStatus = NULL, DtString* retsStmt = NULL) const;
01272 
01274    virtual void deleteGlobalPlan(const DtString& name, 
01275       const DtSimulationAddress& addr = DtSimSendToAll) const;
01276 
01280    virtual void requestGlobalPlan(
01281       const DtString& name, 
01282       const DtSimulationAddress& addr = DtSimSendToAll) const;
01283 
01288    virtual void subscribeGlobalPlan(const DtString& name,
01289       DtPlanCallbackFcn fn, void* usr, 
01290       const DtSimulationAddress& addr = DtSimSendToAll);
01291 
01294    virtual void unsubscribeGlobalPlan(const DtString& name,
01295       DtPlanCallbackFcn fn, void* usr);
01296 
01300    virtual void addGlobalPlanStatementCallback(const DtString& name,
01301       DtPlanStatementCallbackFcn callback, void* usrData);
01302 
01304    virtual void removeGlobalPlanStatementCallback(const DtString& name,
01305       DtPlanStatementCallbackFcn callback, void* usrData);
01306 
01310    virtual void addGlobalPlanCompleteCallback(const DtString& name,
01311       DtPlanCompleteCallbackFcn callback, void* usrData);
01312 
01314    virtual void removeGlobalPlanCompleteCallback(const DtString& name,
01315       DtPlanCompleteCallbackFcn callback, void* usrData);
01316 
01322    virtual DtVrfObjectMessageExecutive* objectMessageExecutive();
01323 
01329    virtual void sendMessageToObject(DtVrfObjectMessage* objectMessage, 
01330       const DtSimulationAddress& addr = DtSimSendToAll) const;
01331    
01332    //-------------------------------------------------------
01333 
01337    virtual void loadedScenario(
01338       const DtSimulationAddress& addr, unsigned int requestId);
01339 
01343    virtual void processSaveMessages();
01344 
01348    virtual DtTime scenarioSimTimeForSave();
01349 
01353    virtual void setTerrainDatabaseFilename(DtScenario* scen);
01354 
01358    virtual void setParameterDatabaseFilename(DtScenario* scen);
01359 
01363    virtual void setPhysicalWorldFilename(DtScenario* scen);
01364 
01368    virtual void setTimeMultiplier(DtScenario* scen);
01369 
01373    virtual void setAutoReorganize(DtScenario* scen);
01374 
01378    virtual void setRandomNumberSeed(DtScenario* scen);
01379 
01383    virtual void setFrameRateMode(DtScenario* scen);
01384 
01388    virtual void setFrameDeltaTime(DtScenario* scen);
01389 
01393    virtual void setExerciseStartTime(DtScenario* scen);
01394 
01400    virtual bool save();
01401 
01406    virtual void save(const DtSimulationAddress& addr, DtIfSaveComplete* s);
01407 
01411    virtual void savedScenario(const DtSimulationAddress& addr, 
01412       DtSaveResult result, unsigned int requestId);
01413 
01416    virtual void doPendingSaveWork();
01417 
01420    virtual void doPendingLoadWork();
01421 
01424    virtual void objectCreated(unsigned int requestId,
01425       const DtString& name, const DtEntityIdentifier& id);
01426 
01428    virtual unsigned int generateRequestId() const;
01429 
01432    virtual void receivedPlan(const DtString& name, bool isGlobal,
01433       const DtList& statements);
01434 
01440    virtual void receivedPlanStmt(const DtString& name, bool isGlobal,
01441       DtPlanStatus planStatus);
01442 
01449    virtual void embarkObject(const DtSimulationAddress& addr, const DtString& entity, const DtString& ontoEntity,
01450       bool loadOverride = false, const DtVector& loadOverridePosition = DtVector::zero());
01451 
01452    virtual void disembarkObject(const DtSimulationAddress& addr, const DtString& entity);
01453    virtual void disembarkAllObjects(const DtSimulationAddress& addr, const DtString& entity);
01454 
01457    virtual void requestTasksAndSetsFor(const DtSimulationAddress& addr,
01458       const DtString& entityName);
01459 
01461    virtual void requestTasksAndSetsFor(const std::vector<DtString>& names);
01462 
01465    virtual void requestDIGuyAppearancesAndAnimations(const DtSimulationAddress& addr,
01466       const DtString& entityName);
01467 
01469    virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtString>& names);
01470 
01471    //-------------------------------------------------------
01473    //-------------------------------------------------------
01474 
01478    virtual DtDefaultRadioMessageFactory* radioMsgFactory();
01479    virtual DtDefaultCondExprFactory* condExprFactory();
01480    virtual DtDefaultStatementFactory* stmtFactory();
01481    virtual DtDefaultSimReportFactory* reportFactory();
01482    virtual DtDefaultSimTaskFactory* taskFactory();
01483    virtual DtDefaultSetDataRequestFactory* setDataFactory();
01484    virtual DtDefaultSimCommandFactory* simCommandFactory();
01485    virtual DtDefaultAdminContentFactory* adminContentFactory();
01486 
01487    //-------------------------------------------------------
01489    //-------------------------------------------------------
01490 
01492    virtual void setRotationThreshold(DtReal thresh);
01493    
01495    virtual void setTranslationThreshold(DtReal thresh);
01496    
01501    virtual void setAggDimensionThreshold(DtReal thresh);
01502 
01504    virtual void setHostInetAddr(DtInetAddr);
01505    virtual DtInetAddr hostInetAddr() const;
01506 
01509    virtual void querySpatialSubdivisionConfiguration(
01510       const DtSimulationAddress& backendAddress,
01511       DtSpatialSubdivisionType spatialSubdivisionType,
01512       DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
01513 
01515    virtual void setSpatialSubdivsionConfiguration(
01516       const DtSimulationAddress& backendAddress,
01517       DtSpatialSubdivisionType spatialSubdivisionType,
01518       const int spatialSubdivisionXResolution,
01519       const int spatialSubdivisionYResolution,
01520       const int spatialSubdivisionZResolution);
01521 
01523    virtual void requestIndirectArtilleryInformation(const DtString&);
01524 
01525    //-------------------------------------------------------
01527    //-------------------------------------------------------
01528 
01536    virtual void requestResources(const DtString& name = DtString::nullString(),
01537       const std::list<DtString>* list = 0,
01538       DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
01539 
01540    //-------------------------------------------------------
01542    //-------------------------------------------------------
01546    virtual void addObjectConsoleMessageCallback(
01547       DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
01548 
01549    virtual void removeObjectConsoleMessageCallback(
01550       DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
01552 
01555    virtual void setObjectNotifyLevel(const DtString& objectName,
01556       DtNotifyLevelType notifyLevel, const DtSimulationAddress& addr = DtSimSendToAll);
01557 
01561    virtual void logObjectConsoleToFile(const DtString& objectName,
01562       const DtFilename filename);
01563 
01566    virtual void stopLoggingObjectConsoleToFile(const DtString& objectName);
01567 
01568    //-------------------------------------------------------
01570    //-------------------------------------------------------
01574    virtual void addBackendConsoleMessageCallback(
01575       DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
01576 
01577    virtual void removeBackendConsoleMessageCallback(
01578       DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
01580 
01585    virtual void requestResourceNames(const std::list<DtString>& list,
01586       DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
01587 
01593    virtual DtRadioMessageListener* radioMessageListener();
01594 
01595    //-------------------------------------------------------
01597    //-------------------------------------------------------
01598    
01600    DtRemoteEnvironmentController* remoteEnvironmentController();
01601 
01607    virtual void initializeGlobalEnvironment(
01608       const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
01609    
01612    DtRemoteEnvironmentController* createRemoteEnvironmentController();
01613    
01614 public:
01615 
01618    static void doPendingSaveWorkCb(void* usr);
01619 
01622    static void doPendingLoadWorkCb(void* usr);
01623 
01626    static void savedScenarioCb(DtSimMessage* msg, void* usr);
01627 
01630    static void loadedScenarioCb(DtSimMessage* msg, void* usr);     
01631 
01634    static void receiveFileCb(const DtFilename& filename, void* usr);
01635 
01637    static void receivedMultiPlanCb(DtSimMessage* msg, void* usr);
01638 
01640    virtual void processReceivedMultiPlan(DtIfMultiplePlanResponse* msg);
01641 
01643    static void objectCreatedCb(DtSimMessage* msg, void* usr);
01644 
01646    static void receivedPlanCb(DtSimMessage* msg, void* usr);
01647 
01649    static void receivedPlanStmtCb(DtSimMessage* msg, void* usr);
01650 
01653    static void overlayObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
01654       void* usr);
01655    virtual void processOverlayObjectCreated(const DtString& name, const DtEntityIdentifier& id,
01656       DtVrfOverlayObjectModify* modifications);
01657 
01660    static void indirectArtilleryObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
01661       void* usr);
01662    virtual void processIndirectArtilleryObjectCreated(const DtString& name, const DtEntityIdentifier& id,
01663       DtVrfIndirectArtilleryObjectModify* modifications);
01664 
01666    static void resourcesProcessedCb(DtSimMessage* msg, void* usr);
01667 
01669    virtual void processResourcesProcessedCb(const DtIfServerRequestResponse& rsp);
01670 
01673    static void spatialSubdivisionConfigurationCb(DtSimMessage* msg, void* usr);
01674 
01677    virtual void processSpatialSubdivisionConfigurationCb(
01678       const DtIfServerRequestResponse& rsp);
01679 
01682    static void commentInteractionCallback(DtCommentInteraction *inter, void* usr);
01683 
01686    virtual void processCommentInteraction(DtCommentInteraction* inter);
01687 
01688 protected:
01689 
01693    virtual void onInit();
01694    virtual void resetStateData();
01695    virtual void emptyLists();
01696 
01698    virtual void sendAggregateAsMsg(
01699       const DtSimulationAddress& addr,
01700       unsigned int requestId,
01701       const DtObjectType& objectType,
01702       DtForceType force,
01703       const DtVector& position,
01704       DtReal heading,
01705       DtList* entityNames,
01706       DtAggregateState initialAggregateState) const;
01707 
01709    virtual DtVrfConfigurationFileComposer* createComposer();
01710 
01713    virtual void sendQuerySpatialSubdivisionConfigurationRequest(
01714       const DtSimulationAddress& backendAddress,
01715       DtSpatialSubdivisionType spatialSubdivisionType ,
01716       DtServerRequestResponseCallbackFcn fcn, void* usr);
01717 
01724    virtual bool arbitrarySimAddress(DtSimulationAddress& address) const;
01725 
01733    virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg, 
01734       const DtSimulationAddress& addr = DtSimSendToAll, 
01735       int *retiStatus = 0, DtString* retsStmt = 0) const;
01736 
01739    static void deliverRadioMessageCallback(DtSimMessage* msg, void* usr);   
01740    static void vrfObjectMessageCallback(const DtVrfObjectMessage* objMsg, void* usr);
01743    virtual void processVrfObjectMessage(const DtVrfObjectMessage* objectMsg);
01744 
01747    static void globalEnvironmentCreatedCb(const DtString& name, const DtEntityIdentifier& id, void* usr);
01748    virtual void processGlobalEnvironmentCreated(const DtString& name, const DtEntityIdentifier& id);
01749 
01750 public:
01752 
01756    virtual bool newScenario(
01757       const DtFilename& dbname, 
01758       const DtFilename& guidbname, 
01759       const DtFilename& opdname,
01760       const DtFilename& physicalWorldName,
01761       const std::vector<DtString>& simulationModelSetFiles,
01762       const DtScenario* baseScenario = 0,
01763       int startTimeOfDay = 12 * 3600);
01764 
01765 protected:
01766    DtExerciseConn* myExConn;
01767    DtReflectedEnvironmentProcessList* myReflectedEnvironmentProcessList;
01768    bool myCreatedReflectedEnvironmentProcessList;
01769    DtVrfMessageInterface* myMsgIf;
01770    DtVrfBackendListener* myListener;
01771    DtCompressedFileTransporter* myTransporter;
01772    DtList myReceivedFiles;
01773    DtList myReceivedSaves;
01774    DtU32 myCurrentRequestId;
01775    DtTime myLastCommandTime;
01776    DtTime myMaxWaitLoadTime;
01777    DtTime myMaxWaitSaveTime;
01778    DtList myBeList;
01779 
01780    DtList myScenLoadedCbs;
01781    DtList myBeLoadedCbs;
01782    DtList myScenSavedOldCbs; 
01783    DtList myScenSavedCbs;    
01784    DtList myBeSavedCbs;
01785 
01786    typedef std::list<PlanCbInfo> DtPlanCallbackListType;
01787    DtPlanCallbackListType myPlanCbs;
01788    typedef std::list<StmtCbInfo> DtStatementCallbackListType;
01789    DtStatementCallbackListType myStmtCbs;
01790    typedef std::list<PlanCompleteCbInfo> DtPlanCompleteCallbaclListType;
01791    DtPlanCompleteCallbaclListType myPlanCompleteCbs; 
01792 
01793    DtHashlist myObjectCbs;  
01794 
01795    typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
01796       DtObjectConsoleMessageCallbackListType;
01797    DtObjectConsoleMessageCallbackListType myObjectConsoleMessageCallbackList;
01798 
01799    typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
01800       DtBackendConsoleMessageCallbackListType;
01801    DtBackendConsoleMessageCallbackListType myBackendConsoleMessageCallbackList;
01802 
01803    bool myCreatedMsgIf;
01804    DtFilename mySaveName;
01805    DtFilename myOverlayFilename;
01806    DtFilename mySelectionGroupsFilename;
01807    DtFilename mySymbolMapFilename;
01808    DtFilename myCreateMenuFilename;
01809    DtFilename myOpdName;
01810    DtFilename myHostilityFilename;
01811    DtFilename myScenarioExtrasFilename;
01812    DtScenario* mySaveScen;
01813    DtScenario* myLoadScen;
01814    DtVrfConfigurationFileComposer* myComposer;
01816    bool myRemapped;
01818    bool myPreserveMappings;
01822    bool myDidRemap;
01823 
01825    bool myNeedsGlobalEnvironment;
01826 
01828    DtDefaultRadioMessageFactory myRadioMsgFact;
01829    DtDefaultCondExprFactory myCondExprFact;
01830    DtDefaultStatementFactory myStmtFact;
01831    DtDefaultSimReportFactory myReportFact;
01832    DtDefaultSimTaskFactory myTaskFact;
01833    DtDefaultSetDataRequestFactory mySetDataFact;
01834    DtDefaultSimCommandFactory mySimCommandFact;
01835    DtDefaultAdminContentFactory myAdminContentFact;
01836 
01840    DtString myGuiTerrainDatabaseFilename;
01841    
01843    DtRwKeyValueList myScenarioData;
01844 
01847    DtFilename myTempDirectory;
01848 
01852    DtInetAddr myInetAddr;
01853    
01858    mutable unsigned int myRequestIdCounter;
01859 
01861    DtVrfObjectMessageExecutive myObjectMessageExecutive;
01862 
01864    DtRadioMessageListener* myRadioMessageListener;
01865    
01867    DtRemoteEnvironmentController* myRemoteEnvironmentController;
01868 
01870    int myStartTimeOfDay;
01871 };
01872 
01880 class DT_DLL_vrfcontrol DtVrfOverlayObjectModify
01881 {
01882 public:
01883    DtVrfOverlayObjectModify(int color,
01884       const DtString& parentName, const DtString& attachTo,
01885       char* userData,
01886       int iUserDataSize, DtOverlayCreatedCallbackFcn fcn,
01887       DtVrfRemoteController* control);
01888 
01889    virtual ~DtVrfOverlayObjectModify();
01890 
01891    virtual int color() const;
01892    virtual const DtString& parentName() const;
01893    virtual const DtString& attachTo() const;
01894    virtual void userData(char** data, int* userDataSize);
01895    virtual DtVrfRemoteController* remoteController();
01896    virtual DtOverlayCreatedCallbackFcn userCallback();
01897 
01898 protected:
01899    int myColor;
01900    DtString myParentName;
01901    DtString myAttachTo;
01902    DtVrfRemoteController* myController;
01903    char* myUserData;
01904    int myUserDataSize;
01905    DtOverlayCreatedCallbackFcn myUserCallback;
01906 };
01907 
01910 class DT_DLL_vrfcontrol DtVrfIndirectArtilleryObjectModify
01911 {
01912 public:
01913    DtVrfIndirectArtilleryObjectModify(DtVrfRemoteController* control);
01914    virtual ~DtVrfIndirectArtilleryObjectModify();
01915 
01917    virtual DtVrfRemoteController* remoteController() const;
01918    virtual void setRemoteController(DtVrfRemoteController*);
01919 
01921    virtual const DtIfIndirectArtilleryData & data() const;
01922    virtual DtIfIndirectArtilleryData & data();
01923    virtual void setData(const DtIfIndirectArtilleryData & data);
01924 
01925 protected:
01926    DtVrfRemoteController* myController;
01927    DtIfIndirectArtilleryData myData;
01928 };
01929 
01930 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)