VR-Forces 4.0.4 Class Documentation
include/bhaveSim/spawnSinkManager.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2012 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00006 #pragma once
00007 
00008 #include <bhaveSim/bhaveSimDefines.h>
00009 #include <vrfExtProtocol/objTypeEnums.h>
00010 #include <vrfMsgTransport/vrfMsgIf.h>
00011 #include <vrfmsgs/ifaceMsg.h>
00012 #include <vrfmsgs/rwSpawnDataList.h>
00013 #include <vrfobjcore/vrfObject.h>
00014 #include <vrfobjcore/vrfObjMgr.h>
00015 
00016 class DtCgf;
00017 class DtScenario;
00018 
00019 namespace BHAVE
00020 {
00021 
00022 //****************************************************************************
00023    class DT_DLL_bhaveSim DtSpawnSinkManager
00024    {
00025    public:
00027       DtSpawnSinkManager(DtCgf* cgf);
00028 
00030       virtual ~DtSpawnSinkManager();
00031 
00032       virtual bool initializeSpawnSink();
00033 
00035       static DtSpawnSinkManager * theManager();
00036 
00038       virtual bool loadTemplates(const DtFilename& filename);
00039 
00041       virtual const DtRwSpawnDataList* spawnTemplates() const;
00042 
00043 //****************************************************************************
00045       static const DtObjectType & spawnType();
00046       static const DtObjectType & sinkType();
00047 //****************************************************************************
00049 //****************************************************************************
00050    protected:
00055       static void postScenarioLoadCallback(const DtScenario& scenario,
00056          void* usrData);
00058 
00061       static void postScenarioRewindCallback(void* usrData);
00063 
00069       virtual void resetManagerTemplates();
00070 
00071       static void preScenarioSaveCallback(DtScenario& scenario,
00072          void* usrData);
00073       virtual void processScenarioSave(DtScenario& scenario);
00074 
00075 //****************************************************************************
00077 //****************************************************************************
00081       static void requestSpawnListCallback(DtSimMessage* msg, void* usr);
00082       virtual void processRequestSpawnList(DtSimMessage* msg);
00084 
00088       virtual void sendSpawnListMessage(const DtSimulationAddress& recipient);
00089 
00093       static void addSinkPointCallback(DtSimMessage* msg, void* usr);
00094       virtual void processAddSinkPoint(DtSimMessage* msg);
00096 
00099       static void requestSpawnDataCallback(DtSimMessage* msg, void* usr);
00100       virtual void processRequestSpawnData(DtSimMessage* msg);
00102 
00105       static void updateSpawnTemplateCallback(DtSimMessage* msg, void* usr);
00106       virtual void processUpdateSpawnTemplate(DtSimMessage* msg);
00108 
00111       static void createTemplateCallback(DtSimMessage* msg, void* usr);
00112       virtual void processCreateTemplate(DtSimMessage* msg);
00114 
00117       static void deleteSpawnTemplateCallback(DtSimMessage* msg, void* usr);
00118       virtual void processDeleteSpawnTemplate(DtSimMessage* msg);
00120 
00126       static void objectRemovedCallback(DtVrfObject *object, void *usr);
00127       virtual void processObjectRemoved(DtVrfObject *object);
00129 
00134       static void objectRenamedCallback(
00135          const DtVrfObjectNameChangedCallbackInfo& info, void *usr);
00136       virtual void processObjectRenamed(
00137          const DtVrfObjectNameChangedCallbackInfo& info);
00138 
00139 //****************************************************************************
00145       virtual void renameSpawnPoint(DtVrfObject *spawnObject,
00146          const DtString& oldTemplateName,
00147          const DtString& newTemplateName);
00148 
00152       virtual std::vector<DtVrfObject *> collectSpawnPointsForSpecifedTemplate(const DtString& patternName);
00153 
00154    protected:
00155       DtCgf* myCgf; 
00156       static DtSpawnSinkManager* theSpawnSinkManagerSingleton;
00157 
00158       DtRwSpawnDataList myTemplates;
00159    };
00160 
00161 } //namespace BHAVE
00162 

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)