VR-Forces 4.0.4 Class Documentation
include/vrfGuiCore/DtGuiThreadVrfRemoteController.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtGuiThreadVrfRemoteController.h,v $ $Revision: 1.8 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00013 
00014 
00015 #pragma once
00016 
00017 #include <vrfGuiCore/vrfGuiCore.h>
00018 #include <vrfGuiCore/DtQueuedManager.h>
00019 #include <vrfGuiCore/DtEnvironmentalCreationData.h>
00020 #include <vrfGuiCore/DtEntityCreationData.h>
00021 #include <vrfGuiCore/DtVrfSimBackEndManager.h>
00022 #include <vrfGuiCore/DtVrfBackendSettingsManager.h>
00023 #include <vrfGuiCore/DtVrfSpotReportManager.h>
00024 #include <vrfGuiCore/DtVrfResourceManager.h>
00025 #include <vrfGuiCore/DtSharedNetworkSignaler.h>
00026 
00027 #include <vrvUtil/DtVirtualBaseClass.h>
00028 #include <vrvCore/DtSelectionManager.h>
00029 #include <vrvCore/DtEntityState.h>
00030 #include <vrvUtil/signalslib.h>
00031 #include <vrvCore/DtDe.h>
00032 
00033 #include <vlpi/entityType.h>
00034 #include <matrix/vlVector.h>
00035 
00036 #include <vrfmsgs/msgExec.h>
00037 #include <vrfmsgs/vrfObjectMessageExecutive.h>
00038 #include <vrfplan/plan.h>
00039 #include <vrfutil/scenario.h>
00040 
00041 #include <boost/function.hpp>
00042 
00043 class DtScenarioLoadInformation;
00044 class DtSetDataRequest;
00045 class DtIfVrfObjectCreated;
00046 class DtSimTask;
00047 class DtAdminMessage;
00048 class DtSimInterfaceContent;
00049 class DtVrfOverlayObjectModify;
00050 class DtIfPlan;
00051 class DtIfIndirectArtilleryData;
00052 class DtIfCreateVrfObject;
00053 class DtIfModifyVrfObject;
00054 
00055 
00056 typedef boost::function<void (DtString, const DtEntityIdentifier&)> DtVrfObjectCreatedCallbackFunction;
00057 
00058 namespace makVrf
00059 {
00060    class DtNetworkMessageCallbackManager;
00061 
00077    class DT_DLL_VRFGUICORE DtGuiThreadVrfRemoteController : public DtQueuedManager
00078    {
00079    public:
00080 
00081       DtGuiThreadVrfRemoteController(makVrv::DtDe&);
00082       virtual ~DtGuiThreadVrfRemoteController();
00083 
00085       static DtGuiThreadVrfRemoteController& instance(makVrv::DtDe& de);
00086 
00087    public:
00090       DtVrfBackendSettingsManager& backendSettingsManager();
00091 
00094       DtVrfSimBackendManager& backendManager();
00095 
00097       DtVrfSpotReportManager& spotReportManager();
00098 
00100       DtVrfResourceManager& resourceManager();
00101 
00103       DtNetworkMessageCallbackManager& messageHandler();
00104 
00105    public:
00108 
00114       virtual void newScenario(const DtScenario*, int startTimeOfDay = 12 * 3600);
00116       virtual void newScenario(const DtFilename& terrainDatabase, int startTimeOfDay = 12 * 3600);
00117 
00133       virtual void loadScenario(const DtScenarioLoadInformation&);
00135       virtual bool loadScenario(const DtFilename&);
00136 
00149       virtual void saveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0);
00150 
00152       virtual void closeScenario();
00154 
00157 
00159       virtual void runScenario(DtSimulationAddress addr = DtSimSendToAll);
00161       virtual void pauseScenario(DtSimulationAddress addr = DtSimSendToAll);
00163       virtual void rewindScenario(DtSimulationAddress addr = DtSimSendToAll);
00165       virtual void exitServer(DtSimulationAddress addr = DtSimSendToAll);
00167       virtual void stepScenario(DtSimulationAddress addr = DtSimSendToAll);
00169 
00173       virtual void deleteObject(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00174 
00177 
00182       virtual void createWaypoint(
00183          const DtVector& geocentricPosition,
00184          const std::string& uniqueName = "", 
00185          const std::string& label = "", 
00186          const DtSimulationAddress& addr = DtSimSendToAll,
00187          unsigned int requestId = 0);
00188 
00192       virtual void createWaypoint(
00193          DtVrfObjectCreatedCallbackFunction fcn,
00194          const DtVector& geocentricPosition,
00195          const std::string& uniqueName = "", 
00196          const std::string& label = "", 
00197          const DtSimulationAddress& addr = DtSimSendToAll); 
00198 
00200       virtual void modifyWaypoint(
00201          const std::string& uniqueId,      
00202          std::string* uniqueName = 0, 
00203          std::string* label = 0,
00204          DtVector* geocentricPosition = 0,
00205          const DtSimulationAddress& addr = DtSimSendToAll); 
00206 
00211       virtual void createRoute(
00212          const std::vector<DtVector>& vertices,
00213          const std::string& uniqueName = "",
00214          const std::string& label = "", 
00215          const DtSimulationAddress& addr = DtSimSendToAll,
00216          unsigned int rId = 0); 
00217 
00221       virtual void createRoute(
00222          DtVrfObjectCreatedCallbackFunction fcn,
00223          const std::vector<DtVector>& vertices,
00224          const std::string& uniqueName = "",
00225          const std::string& label = "", 
00226          const DtSimulationAddress& addr = DtSimSendToAll) ; 
00227 
00229       virtual void modifyRoute(
00230          const std::string& uniqueId,
00231          std::string* uniqueName = 0,
00232          std::string* label = 0,
00233          std::vector<DtVector>* vertices = 0,
00234          const DtSimulationAddress& addr = DtSimSendToAll); 
00235 
00240       virtual void createPhaseLine(
00241          const DtVector& dbPoint1,
00242          const DtVector& dbPoint2,
00243          const std::string& uniqueName = "",
00244          const std::string& label = "", 
00245          const DtSimulationAddress& addr = DtSimSendToAll,
00246          unsigned int rId = 0); 
00247 
00251       virtual void createPhaseLine(
00252          DtVrfObjectCreatedCallbackFunction fcn,
00253          const DtVector& dbPoint1,
00254          const DtVector& dbPoint2,
00255          const std::string& uniqueName = "",
00256          const std::string& label = "", 
00257          const DtSimulationAddress& addr = DtSimSendToAll);
00258 
00260       virtual void modifyPhaseLine(
00261          const std::string& uniqueId,
00262          std::string* uniqueName = 0,
00263          std::string* label = 0,
00264          DtVector* newDbPoint1 = 0,
00265          DtVector* newDbPoint2 = 0,
00266          const DtSimulationAddress& addr = DtSimSendToAll); 
00267 
00273       virtual void createControlArea(
00274          const std::vector<DtVector>& vertices,
00275          const std::string& uniqueName = "",
00276          const std::string& label = "", 
00277          const DtSimulationAddress& addr = DtSimSendToAll,
00278          unsigned int rId = 0); 
00279 
00283       virtual void createControlArea(
00284          DtVrfObjectCreatedCallbackFunction fcn,
00285          const std::vector<DtVector>& vertices,
00286          const std::string& uniqueName = "",
00287          const std::string& label = "", 
00288          const DtSimulationAddress& addr = DtSimSendToAll) ; 
00289 
00291       virtual void modifyControlArea(
00292          const std::string& uniqueId,
00293          std::string* uniqueName = 0,
00294          std::string* label = 0,
00295          std::vector<DtVector>* newVertices = 0,
00296          const DtSimulationAddress& addr = DtSimSendToAll); 
00297 
00303       virtual void createObstacle(
00304          const std::vector<DtVector>& vertices,
00305          const std::string& uniqueName = "",
00306          const std::string& label = "", 
00307          const DtSimulationAddress& addr = DtSimSendToAll,
00308          unsigned int rId = 0); 
00309 
00313       virtual void createObstacle(
00314          DtVrfObjectCreatedCallbackFunction fcn,
00315          const std::vector<DtVector>& vertices,
00316          const std::string& uniqueName = "",
00317          const std::string& label = "", 
00318          const DtSimulationAddress& addr = DtSimSendToAll) ; 
00319 
00321       virtual void modifyObstacle(
00322          const std::string& uniqueId,
00323          std::string* uniqueName = 0,
00324          std::string* label = 0,
00325          std::vector<DtVector>* newVertices = 0,
00326          const DtSimulationAddress& addr = DtSimSendToAll); 
00327 
00334       virtual void createDisaggregationArea(
00335          const std::vector<DtVector>& vertices,
00336          const std::string& uniqueName = "",
00337          const std::string& label = "", 
00338          const DtSimulationAddress& addr = DtSimSendToAll,
00339          unsigned int rId = 0); 
00340 
00345       virtual void createDisaggregationArea(
00346          DtVrfObjectCreatedCallbackFunction fcn,
00347          const std::vector<DtVector>& vertices,
00348          const std::string& uniqueName = "",
00349          const std::string& label = "", 
00350          const DtSimulationAddress& addr = DtSimSendToAll) ; 
00351 
00353       virtual void modifyDisaggregationArea(
00354          const std::string& uniqueId,
00355          std::string* uniqueName = 0,
00356          std::string* label = 0,
00357          std::vector<DtVector>* newVertices = 0,
00358          const DtSimulationAddress& addr = DtSimSendToAll); 
00359 
00370       virtual void createOverlayObject(
00371          const DtEntityType& type,
00372          const std::vector<DtVector>& vertices,
00373          const DtForceType& force,
00374          const std::string& name,
00375          const std::string& label,
00376          int color,
00377          const std::string& parentName,
00378          bool projection,
00379          bool closedFigure,
00380          const DtAppearance& appearance = DtAppearance::nullAppearance(),
00381          const std::string& attachTo = "",
00382          char* userData = 0,
00383          int dataSize = 0,
00384          DtVrfObjectCreatedCallbackFunction fcn = 0,
00385          const DtSimulationAddress& addr = DtSimSendToAll);
00386 
00389       virtual void createIndirectFire(
00390          const DtIfIndirectArtilleryData& params,
00391          const DtSimulationAddress& addr);
00393 
00396 
00399       virtual void createEntity(DtVrfObjectCreatedCallbackFunction fcn, DtSimulationAddress addr, DtEntityCreationData,
00400          const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
00401          const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
00402 
00403       virtual void createEntity(DtSimulationAddress addr, DtEntityCreationData,
00404          const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
00405          const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
00406 
00408       virtual void createEntity(
00409          const DtEntityType& type,
00410          const DtVector& geocentricPosition,
00411          DtForceType force,
00412          DtReal heading,
00413          const std::string& uniqueName = "",
00414          const std::string& label = "", 
00415          const DtSimulationAddress& addr = DtSimSendToAll,
00416          bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
00417          const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
00418 
00422       virtual void createEntity(
00423          DtVrfObjectCreatedCallbackFunction fcn,
00424          const DtEntityType& type,
00425          const DtVector& geocentricPosition,
00426          DtForceType force,
00427          DtReal heading,
00428          const std::string& uniqueName = "",
00429          const std::string& label = "", 
00430          const DtSimulationAddress& addr = DtSimSendToAll,
00431          bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
00432          const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
00433 
00435       virtual void createAggregate(
00436          DtVrfObjectCreatedCallbackFunction fcn,
00437          const DtEntityType& type,
00438          const DtVector& geocentricPosition,
00439          DtForceType force,
00440          DtReal heading,
00441          const std::string& uniqueName,
00442          const std::string& label = "", 
00443          const DtSimulationAddress& addr = DtSimSendToAll,
00444          DtAggregateState initialAggregateState = DtDisaggregated,
00445          const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
00446          const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
00447 
00449       virtual void aggregateAs(const std::vector<makVrv::DtVrlinkSimulatedEntityState>& names, const DtEntityType& type,
00450          int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
00451 
00455       virtual void aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
00456          const std::vector<makVrv::DtVrlinkSimulatedEntityState>& names, const DtEntityType& type,
00457          int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
00458 
00461       virtual void addToOrganization(const std::string& childId, const std::string& superiorId,
00462          DtSimulationAddress addr = DtSimSendToAll);
00463 
00467       virtual void addToForceLevelOrganization(const std::string& entityId, DtSimulationAddress addr = DtSimSendToAll);
00468 
00471       virtual void removeFromOrganization(
00472          const std::string& objectId,
00473          const DtSimulationAddress& addr = DtSimSendToAll);
00475 
00481 
00483       virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
00484          const DtEnvironmentalCreationData& data = DtEnvironmentalCreationData());
00485 
00492       virtual void sendVrfObjectModifyMsg(
00493          const DtSimulationAddress& addr,
00494          const std::string& entityId,
00495          const std::string* name = 0,
00496          const std::vector<DtVector>& = std::vector<DtVector>(),
00497          int* force = 0,
00498          double* heading = 0,
00499          const std::string* label = 0,
00500          DtAppearance* appearance = 0,
00501          const std::string* overlayParent = 0,
00502          const std::string* userData = 0);
00503 
00507       virtual void sendVrfObjectCreateMsg(
00508          const DtSimulationAddress& addr,
00509          unsigned int requestId,
00510          const std::string& name,
00511          const DtObjectType& type,
00512          const std::vector<DtVector>& vertices,
00513          const std::string& label,
00514          const DtAppearance& appearance,
00515          DtForceType force,
00516          bool projection,
00517          bool closedFigure,
00518          DtReal heading,
00519          bool createSubObjects,
00520          bool clampToGroundFlag = true,
00521          const std::string& initialFormation = "",
00522          DtAggregateState initialAggregateState = DtDisaggregated,
00523          const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
00524          const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
00525 
00528       virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
00529 
00533       virtual void sendVrfOverlayObjectModifyMsg(
00534          const DtSimulationAddress& addr,
00535          const std::string& id,
00536          int* color = 0,
00537          const std::string* parentName = 0,
00538          const std::string* attachTo = 0,
00539          const std::string* userData = 0);
00540 
00542       virtual void sendVrfIndirectFireObjectModifyMsg(
00543          const DtSimulationAddress& addr,
00544          const DtEntityIdentifier& id,
00545          const DtIfIndirectArtilleryData& mod);
00547 
00553 
00555       virtual void setLabel(
00556          const std::string& id, const std::string& label,
00557          const DtSimulationAddress& addr = DtSimSendToAll);
00558 
00560       virtual void setOverlayParent(
00561          const std::string& id, const std::string& label,
00562          const DtSimulationAddress& addr = DtSimSendToAll);
00563 
00565       virtual void setAltitude(
00566          const std::string& name, double altitude,
00567          const DtSimulationAddress& addr = DtSimSendToAll);
00568 
00570       virtual void setLocation(
00571          const std::string& name, DtVector coord,
00572          const DtSimulationAddress& addr = DtSimSendToAll);
00573 
00577       virtual void setAppearance(
00578          const std::string& name, int appearance,
00579          const DtSimulationAddress& addr = DtSimSendToAll);
00580 
00584       virtual void setCapabilities(
00585          const std::string& name, int capabilities,
00586          const DtSimulationAddress& addr = DtSimSendToAll);
00587 
00589       virtual void setHeading(
00590          const std::string& name, double degrees,
00591          const DtSimulationAddress& addr = DtSimSendToAll);
00592 
00594       virtual void setForce(
00595          const std::string& name, DtForceType force,
00596          const DtSimulationAddress& addr = DtSimSendToAll);
00597 
00601       virtual void setResource(const std::string& name, 
00602          const char* resourceType, double value,
00603          const DtSimulationAddress& addr = DtSimSendToAll);
00604 
00608       virtual void setRulesOfEngagement( 
00609          const std::string& name, const char* rulesType,
00610          const DtSimulationAddress& addr = DtSimSendToAll);
00611 
00613       virtual void setSectorOfResponsibility( 
00614          const std::string& name, double center, double size,
00615          const DtSimulationAddress& addr = DtSimSendToAll);
00616 
00620       virtual void setSpeed(
00621          const std::string& name, double speed,
00622          const DtSimulationAddress& addr = DtSimSendToAll);
00623 
00625       virtual void setTarget(
00626          const std::string& name, const std::string& target,
00627          const DtSimulationAddress& addr = DtSimSendToAll);
00628 
00632       virtual void setTaskedBySuperior(const std::string& name,
00633          const DtSimulationAddress& addr = DtSimSendToAll);
00634 
00636       virtual void setConcealed(const std::string& name,
00637          bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
00638 
00640       virtual void setEmitter(const std::string& name,
00641          int emitterId, bool on,
00642          const DtSimulationAddress& addr = DtSimSendToAll);
00643 
00645       virtual void setIff(const std::string& name,
00646          bool mode1on, int mode1code,
00647          bool mode2on, int mode2code,
00648          bool mode3on, int mode3code,
00649          bool mode4on, int mode4code,
00650          DtIffAtcNavaidsAltParm4 altParm4,
00651          bool mode5on, bool useAltMode5,
00652          bool modeSon, bool emergency,
00653          bool flash, bool sti, bool modeSTcasI,
00654          const DtSimulationAddress& addr = DtSimSendToAll);
00655 
00659       virtual void restore(const std::string& name,
00660          const DtSimulationAddress& addr = DtSimSendToAll);
00661 
00664       virtual void setDestroyed(const std::string& name,
00665          const DtSimulationAddress& addr = DtSimSendToAll);
00666 
00668       virtual void setLifeformWeaponState(
00669          const std::string& name, DtWeaponState weapon,
00670          const DtSimulationAddress& addr = DtSimSendToAll);
00671 
00673       virtual void setLifeformPosture(
00674          const std::string& name, DtLifeformState posture,
00675          const DtSimulationAddress& addr = DtSimSendToAll);
00676 
00678       virtual void setAggregateFormation(
00679          const std::string& leader, const std::string& formationName,
00680          const DtSimulationAddress& addr = DtSimSendToAll);
00681 
00685       virtual void reorganizeAggregate(const std::string& leader,
00686          const DtSimulationAddress& addr = DtSimSendToAll);
00687 
00691       virtual void disaggregate(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00692 
00696       virtual void aggregate(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00697 
00699       virtual void setJoystickEnabled(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00700 
00702       virtual void setJoystickDisabled(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00703 
00706       virtual void sendSetDataMsg(
00707          const std::string& recipient, DtSetDataRequest* msg, 
00708          const DtSimulationAddress& addr = DtSimSendToAll,
00709          bool updateScenario = true);
00710       
00713       virtual void sendSetRequest(const DtSetDataRequest& s, const std::string& name,
00714          const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
00715 
00717       virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<std::string>& names,
00718          const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
00719 
00725       virtual void requestIndirectFireInformation(const DtString&);
00727 
00731 
00734       virtual void moveAlongRoute(
00735          const std::string& entityName, const std::string& routeName,
00736          const DtSimulationAddress& addr = DtSimSendToAll);
00737 
00740       virtual void moveToWaypoint(
00741          const std::string& entityName, const std::string& waypoint,
00742          bool planPath = false,
00743          const DtSimulationAddress& addr = DtSimSendToAll);
00744 
00748       virtual void moveToLocation(
00749          const std::string& entityName, const DtVector& destinationLocation,
00750          bool planPath = false,
00751          const DtSimulationAddress& addr = DtSimSendToAll);
00752 
00755       virtual void patrolBetweenWaypoints(
00756          const std::string& name, 
00757          const std::string& waypoint1, const std::string& waypoint2, 
00758          const DtSimulationAddress& addr = DtSimSendToAll);
00759 
00762       virtual void patrolAlongRoute(
00763          const std::string& name, const std::string& route,
00764          const DtSimulationAddress& addr = DtSimSendToAll);
00765 
00771       virtual void followEntity(
00772          const std::string& name, 
00773          const std::string& leader, const DtVector& offset,
00774          const DtSimulationAddress& addr = DtSimSendToAll);
00775 
00778       virtual void wait(
00779          const std::string& name, 
00780          const DtSimulationAddress& addr = DtSimSendToAll);
00781 
00784       virtual void waitDuration(
00785          const std::string& name, DtTime duration,
00786          const DtSimulationAddress& addr = DtSimSendToAll);
00787 
00791       virtual void waitElapsed(
00792          const std::string& name, DtTime elapsed, 
00793          const DtSimulationAddress& addr = DtSimSendToAll);
00794 
00799       virtual void requestCurrentTasks(const std::string& entityName);
00800 
00804       virtual void subscribeForTaskInformation(const std::string& entityName);
00805 
00808       virtual void unsubscribeForTaskInformation(const std::string& entityName);
00809 
00813       virtual void sendTaskMsg(
00814          const std::string& recipient, DtSimTask* task, 
00815          const DtSimulationAddress& addr = DtSimSendToAll);
00816 
00818       virtual void sendTaskRequest(const DtSimTask& s, const std::vector<std::string>& names, const DtSimulationAddress& addr = DtSimSendToAll);
00820       virtual void sendTaskRequest(const DtSimTask& s, const std::string& name, const DtSimulationAddress& addr = DtSimSendToAll);
00821 
00826       virtual void requestTasksAndSetsFor(std::vector<DtString> name);
00828 
00835 
00838       virtual void abandonPlan(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00839 
00842       virtual void skipTask(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00843 
00846       virtual void restartPlan(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00847 
00849       virtual void assignPlanByName(std::string name, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
00850 
00852       virtual void assignMultiplePlanByName(std::vector<std::string> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
00853 
00859       virtual void requestPlan(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00860 
00866       virtual void subscribePlan(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00867 
00874       virtual void requestMultiplePlans(std::vector<std::string> names, DtSimulationAddress addr = DtSimSendToAll);
00875 
00880       virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
00881 
00886       virtual void requestGlobalPlan(std::string name, DtSimulationAddress addr = DtSimSendToAll);
00887       
00890       virtual void assignGlobalPlanByName(std::string name, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
00891 
00893       virtual void deleteGlobalPlan(std::string, DtSimulationAddress addr = DtSimSendToAll);
00895 
00897       virtual void setTimeoutInterval(int);
00898 
00904       virtual void requestDIGuyAppearancesAndAnimations(std::vector<DtString> name);
00905    
00912       virtual void requestResourcesFor(std::vector<std::string> names, DtSimulationAddress addr = DtSimSendToAll);
00913 
00915       virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
00916 
00918       virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
00919 
00921       virtual int generateRequestId();
00922 
00923    public:
00924 
00926       virtual void addSetCreatorFcn(std::string, int, DtSetDataRequestCreatorFcn);
00927 
00929       virtual void addTaskCreatorFcn(std::string, int, DtSimTaskCreatorFcn);
00930 
00932       virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
00933 
00935       virtual void addAdminContentCreatorFcn(std::string, int, DtAdminContentCreatorFcn);
00936 
00938       virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
00939 
00941       virtual void addReportCreatorFcn(std::string, int, DtSimReportCreatorFcn);
00942 
00944       virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
00945 
00947       virtual void addSimulationCommandCreatorFcn(std::string, int, DtSimCommandCreatorFcn);
00948 
00951       virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
00952       virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
00953 
00960       virtual void embarkOn(const std::vector<std::string>& children, const std::string& parentName, 
00961          bool useSlot = true, const DtVector& overridePosition = DtVector::zero(), DtSimulationAddress addr = DtSimSendToAll);
00962 
00964       virtual void disembark(const std::vector<std::string>& children, DtSimulationAddress addr = DtSimSendToAll); 
00965 
00967       virtual void disembarkAll(const std::vector<std::string>& parents, DtSimulationAddress addr = DtSimSendToAll); 
00968 
00970       virtual void attachTo(const std::vector<std::string>& ids, const std::string& parentName);
00971 
00973       virtual void detachAll(const std::vector<std::string>& ids);
00974 
00977       virtual void logObjectConsoleToFile(const std::string& name, const std::string& filename);
00978 
00981       virtual void stopLoggingObjectConsoleToFile(const std::string& objectName);
00982 
00984       virtual void setObjectNotifyLevel(const std::string& name, int);
00985 
00987       virtual void setTimeOfDay(int seconds);
00988 
00990       virtual void setAggregateOnCreate(bool);
00991       bool aggregateOnCreate() const;
00992 
00995       virtual void requestScenarioDescription(DtSimulationAddress);
00996 
00998       virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
00999 
01000    public:
01002       virtual void sendLoggerSetFilename(std::string filename);
01003 
01004       virtual void sendLoggerRecordMessage();
01005 
01006       virtual void sendLoggerStopMessage();
01007 
01008    protected:
01010       virtual void processObjectCreated(DtSimMessage*);
01011 
01013       virtual void setActivated(bool);
01014 
01022       virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg, 
01023          const DtSimulationAddress& addr = DtSimSendToAll, 
01024          int *retiStatus = 0, DtString* retsStmt = 0);
01025 
01027       virtual void indirectArtilleryCreated(DtString, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
01028 
01029    public:
01033 
01035       boost::signal<void (const DtScenario*)> signal_loadedScenario;
01036 
01038       boost::signal<void ()> signal_scenarioModified;
01039 
01041       boost::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
01042 
01044       boost::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData)> signal_saveScenario;
01045       
01048       boost::signal<void (std::string, bool& shouldDelete)> signal_shouldDeleteObject;
01049 
01051       boost::signal<void ()> signal_closeScenario;
01052 
01055       boost::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
01056 
01058       boost::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
01059 
01061 
01062    protected:
01064       virtual void slot_deActivated(makVrv::DtDe* de);
01065      virtual void slot_preTick(makVrv::DtDe* de);
01066 
01067    protected:
01068       bool myAggregateOnCreate;
01069 
01070       typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
01071 
01072       CreateCallbacks myCreateCallbacks;
01073    };
01074 }

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)