VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aggregateOrganizationController.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2015 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
11 
12 #pragma once
13 
16 
18 class DtSimMessage;
19 class DtUUID;
20 
28 {
29 
30 private:
31 
40 
41 public:
42 
46  DtVrfObject* owner,
47  DtSimManager* simManager,
48  DtComponentDescriptor* desc = 0,
49  DtReaderWriterRegistry* parentRegistry = 0);
50 
53 
56  virtual const char* type() const;
57 
62  virtual void tick();
63 
66  virtual void setRadio(DtSimRadio * radio);
67 
71  virtual void onSetReorganize(DtSimMessage * msg);
72 
73 public:
74 
75  virtual void registerWithOrgManager();
76  virtual void unregisterWithOrgManager();
77 
78  static void subordinatesChangedCallback(const DtUUID& superior, const DtUUID& subordinate,
79  void *usr);
80 
82  static void reorganizeCallback(DtSimMessage * msg,
83  void * usrData);
84 
88  static DtSimComponent * creator(const DtString& name,
89  DtVrfObject* owner,
90  DtSimManager* simManager,
91  DtComponentDescriptor* desc = 0,
92  DtReaderWriterRegistry* parentRegistry = 0);
93 
94 protected:
95 
96  virtual void processSubordinatesChangedCallback(const DtUUID& superior, const DtUUID& subordinate);
97 
100  //virtual bool checkSubordinates();
101 
103  virtual void initiateAllSubordinates();
104 
108  virtual void initiateNewSubordinate(const DtVrfObject* subordinate, int designator);
109 
112  virtual void setCommandNetRadioChannel();
113 
115  virtual int nextAvaliableDesignator();
116 
120  virtual void reorganize();
121 
124  virtual void sendSetDesignator(int designator, const DtUUID& object);
125 
128  virtual bool reorganizeNeeded();
129 
130 protected:
131 
136 };
137 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual void setRadio(DtSimRadio *radio)
Overrides this so it can register its interest in the set commands.
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
bool myRegisteredWithOrgManager
Working list of subordinates (const DtVrfObject*'s).
Definition: aggregateOrganizationController.h:134
class DtSimRadio:
Definition: simRadio.h:25
virtual void tick()
Checks for superior echelon id change, and changes this entity's echelon id if necessary.
virtual const char * type() const
Returns a string identifies the class type of component.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
DtOrganizationController is intended for any entity which will be a leaf node on the organization hie...
Definition: organizationController.h:29
DtPseudoAggregateOrganizationController is the controller component in pseudo-aggregates responsible ...
Definition: aggregateOrganizationController.h:27
File: simMsg.h.
Definition: simMessage.h:35
DtCompatibilityRadio * myCommandRadio
Definition: aggregateOrganizationController.h:135
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
const DtOrganizationController & operator=(const DtOrganizationController &orig)
assignment operator
DtCompatibilityRadio.
Definition: compatibilityRadio.h:30
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)