VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfOccupancyDirectorPSR.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 #pragma once
9 
11 #include "vrfobjcore/simObject.h"
13 #include <readerWriter/rwInt.h>
14 #include <readerWriter/rwString.h>
15 #include "vrfutil/rwStringList.h"
16 #include <vrfutil/rwUUID.h>
17 
18 #include <set>
19 
21 
26 
29 {
30 public:
31 
34  const DtString& rwName = DtString::nullString(),
35  DtReaderWriterRegistry* parentRegistry = 0);
36 
39  const DtString& rwName = DtString::nullString(),
40  DtReaderWriterRegistry* parentRegistry = 0);
41 
43  virtual ~DtVrfOccupancyDirectorPSR();
44 
47 
50  const DtString& rwName = DtString::nullString(),
51  DtReaderWriterRegistry* parentRegistry = 0) const;
52 
55  virtual DtString type() const;
56 
57  DtEmbarkationSlotManager* embarkationSlotManager();
58 
63  virtual DtSimObjectReference disembarkingObject() const;
64 
66  virtual void setDisembarkingObject(const DtUUID&);
68 
73  virtual void addDisembarkingObject(const DtUUID&);
74 
76  virtual void removeDisembarkingObject(const DtUUID&);
77 
79  virtual void clearDisembarkingObjects();
80 
82  virtual bool disembarkingObjectsEmpty() const;
83 
85  virtual const DtRwSimObjectReferenceList& disembarkingObjects() const;
86 
88  virtual bool disembarkedObjectInList(const DtUUID&) const;
90 
91 public:
92 
94  static DtVrfProcessStateRepository* creator (const DtString& rwName,
95  DtLocalObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
96 
97 protected:
98  virtual bool init();
99 
106  virtual void createEmbarkationSlotManager();
107 
109  virtual void copyCurrentlyDisembarkingObjects(const DtRwSimObjectReferenceList& other);
110 
111 protected:
113 
117 
121 
122 };
123 
125 {
126  if (!mySlotManager)
127  {
129  }
130 
131  return mySlotManager;
132 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
DtEmbarkationSlotManager * embarkationSlotManager()
Definition: vrfOccupancyDirectorPSR.h:124
If you use a list of object names to archive which objects are part of a controller (or any object) u...
Definition: simObjectReferenceList.h:122
Definition: embarkationSlotManager.h:92
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
DtRwSimObjectReference myDisembarkingObject
The name of the object currently disembarking, when a disembark-all task is being performed...
Definition: vrfOccupancyDirectorPSR.h:116
DtRwSimObjectReferenceList mySerializableCurrentlyDisembarkingObjects
Readable writeable list of currently objects to be disembarked. Valid only immediately after getSelf(...
Definition: vrfOccupancyDirectorPSR.h:120
Definition: readerWriterRegistry.h:39
Contains the DtUUID class declaration.
Specialized reader/writer version of the shared object reference that will encapsulate the actual sha...
Definition: simObjectReference.h:74
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
class DtVrfOccupancyDirectorPSR:
Definition: vrfOccupancyDirectorPSR.h:28
virtual DtVrfProcessStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const =0
virtual void createEmbarkationSlotManager()
Override to create your own type of slot manager and set it to mySlotManager variable. Called from init() method. Since this is a reader/writer object, make sure to call it with the name &quot;embarkation-slot-manager&quot; and &amp;myRegsitry to have it read correctly from the order of battle file:
virtual bool init()
Used for virtual construction. This base method simply returns true.
Class DtVrfProcessStateRepository: Abstract base class for all process state repositories. Process state repositories represent (potentially) shared, savable information for one or more components functioning together to achieve some process or set of processes; such as aiming and firing a weapon; moving an object; or just waiting a specified amount of time.
Definition: vrfProcessStateRepository.h:45
virtual DtString type() const =0
Returns the string type of the repository, as defined in procSRTypes.h.
DtEmbarkationSlotManager * mySlotManager
Definition: vrfOccupancyDirectorPSR.h:112
const DtVrfProcessStateRepository & operator=(const DtVrfProcessStateRepository &orig)
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)