VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
occupancyDirectorController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
16 
17 #include <list>
18 
21 class DtSimMessage;
24 
43 {
44 public:
45 
49  DtVrfObject* owner,
50  DtSimManager* simManager,
51  DtComponentDescriptor* desc = 0,
52  DtReaderWriterRegistry* parentRegistry = 0);
53 
56 
58  virtual bool init();
59 
62  virtual DtString type() const;
63 
67  static DtSimComponent * creator(const DtString& name,
68  DtVrfObject* owner,
69  DtSimManager* simManager,
70  DtComponentDescriptor* desc = 0,
71  DtReaderWriterRegistry* parentRegistry = 0);
72 
73 public:
74  static void requestEmbarkationInformationCallback(DtSimMessage* msg, void* usr);
75  virtual void processRequestEmbarkationInformation(DtSimMessage* msg);
76 
77 protected:
79  virtual void registerTaskMsgCallbacks();
80 
83  virtual void preFirstTickInit();
84 
86  virtual void tick();
87 
93  virtual bool createPSR();
94 
96  virtual void giveUpSlot(int iSlot, const DtString& name);
97 
99  virtual DtEmbarkationSlotInformation embarkationSlotEntryFor(const DtString&) const;
100 
103  virtual DtEmbarkationSlotInformation disembarkationInformationFor(const DtString&, int& iResult) const;
104 
106  virtual int disembarkationResult(const DtEmbarkationSlotInformation&) const;
107 
110  virtual bool reserveSlot(const DtEmbarkationSlotInformation& entry, const DtString& name);
111 
114  virtual void sendSlotInformationTo(const DtString& name,
115  const DtEmbarkationSlotInformation& entry, int, int reqId = 0xFFFFFFFF);
116 
118  static void deleteVrfObjectCallback(DtVrfObject * msg, void * usr);
119  virtual void processDeleteVrfObjectCallback(DtVrfObject* obj);
120 
125  virtual void processDisembarkAllTask(DtSimMessage* msg);
126  static void disembarkAllTaskCallback(DtSimMessage* msg, void* usr);
127 
129  virtual bool objectDisembarked(const DtString& objectName);
133  virtual void disembarkNextObject();
134 
136  virtual void sendTask(const DtSimTask& task, const DtString& objectName);
137 
139  static void disembarkObjectCallback(DtSimMessage* msg, void* usr);
142  virtual void processDisembarkObjectCallback(DtSimMessage* msg);
143 
155  virtual DtVector disembarkedPositionFor(const DtString& entityName, const DtEmbarkationSlotInformation&) const;
156 
159  virtual bool nextEntityCanDisembark(const DtVrfObject* curEntity) const;
160 
162  virtual bool isValidForDisembarkLayout(const DtVrfObject*) const;
163 
165  virtual bool createCollisionDetector();
166 
168  virtual void setObstructionIDsInCollisionDetector();
169 
170 protected:
174  virtual void setupSlots();
175 
178  virtual void initializeSlotManager();
179 
182  virtual void calculateDisembarkPositions(const std::list<DtString>&);
183 
186  virtual void generateListForDisembarkation(std::list<DtString>& list);
187 
189  virtual void removeAllSubordinates(DtVrfObject* obj);
190 
191 private:
192 
195 
198  orig);
199 
203 
204 protected:
205 
209 
213 
216  std::set<DtString> myObjectsToDisembark;
217 };

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)