VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
iffControllerComponent.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 
15 class DtString;
16 class DtSimManager;
17 class DtSimMessage;
18 class DtIffPublisher;
19 class DtSetIffRequest;
20 class DtIffStateRepository;
21 class DtVrfIffPSR;
22 
29 {
30 public:
31 
35  DtVrfObject* owner,
36  DtSimManager* simManager,
37  DtComponentDescriptor* desc = 0,
38  DtReaderWriterRegistry* parentRegistry = 0);
39 
41  virtual ~DtIffControllerComponent();
42 
43  virtual bool init();
44 
47  virtual void preFirstTickInit();
48 
51  virtual void tick();
52 
55  virtual const char* type() const;
56 
60  static DtSimComponent * creator(const DtString& name,
61  DtVrfObject* owner,
62  DtSimManager* simManager,
63  DtComponentDescriptor* desc = 0,
64  DtReaderWriterRegistry* parentRegistry = 0);
65 
67  virtual void registerSetIffRequestMsgCallbacks();
68 
69  static void setIffRequestCallback(DtSimMessage *msg, void * usrData);
70 
71  virtual void processSetIffRequestMessage(DtSimMessage *msg);
72 
76  virtual DtVrfIffPSR* getPsr();
78 
82  virtual void registerAttributeFunctions();
83 
87  static DtReaderWriter* provideSystemOn(void* controller);
88  static DtReaderWriter* provideMode1On(void* controller);
89  static DtReaderWriter* provideMode1Code(void* controller);
90  static DtReaderWriter* provideMode2On(void* controller);
91  static DtReaderWriter* provideMode2Code(void* controller);
92  static DtReaderWriter* provideMode3On(void* controller);
93  static DtReaderWriter* provideMode3Code(void* controller);
94  static DtReaderWriter* provideMode4On(void* controller);
95  static DtReaderWriter* provideMode4Code(void* controller);
96  static DtReaderWriter* provideAltMode4Value(void* controller);
97  static DtReaderWriter* provideModeCOn(void* controller);
98  static DtReaderWriter* provideAltModeCOn(void* controller);
99  static DtReaderWriter* provideModeSOn(void* controller);
100  static DtReaderWriter* provideModeSTcasI(void* controller);
101  static DtReaderWriter* provideEmergency(void* controller);
102  static DtReaderWriter* provideFlash(void* controller);
103  static DtReaderWriter* provideSTI(void* controller);
104 
107 
108 protected:
109 
113 
116  orig);
117 
119  const DtIffControllerComponent & operator=(const
120  DtIffControllerComponent & orig);
121 
123  virtual void setRadio(DtSimRadio * radio);
124 
125  virtual bool createPublisher();
127  virtual void updateFromDescriptor();
129  virtual void updateFromSetRequest(DtSetIffRequest *setReq, bool updateInPSR = true);
132  virtual void updateDynamicData();
133 
138  virtual bool needsToTick();
139 
145  virtual bool createPSR();
146 
147 protected:
148  DtIffPublisher *myIffPublisher;
150 
153 
157 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtIffControllerComponent is a controller that manages a IFF publisher for an entity.
Definition: iffControllerComponent.h:28
bool myHasBeenTicked
Definition: iffControllerComponent.h:149
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
class DtSimRadio:
Definition: simRadio.h:25
virtual void setRadio(DtSimRadio *radio)
bool myUseAltModeC
set to true once the IFF is used for the first time.
Definition: iffControllerComponent.h:152
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
virtual const char * type() const =0
This returns a string from compTypes.h, and identifies the type of component.
Definition: readerWriter.h:85
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
virtual bool init()
Calls setRadio()
Definition: setIffRequest.h:51
DtIffPublisher * myIffPublisher
Definition: iffControllerComponent.h:148
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
DtVrfIffPSR * myProcessState
Container for state data associated with this component.
Definition: iffControllerComponent.h:156
*array controller(no time code)*/template< class Instance
//!//!//!//!//!//!//!//!//!//!//!//
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:29
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
virtual void registerAttributeFunctions()
Called to register functions that provide system attribute values.
Definition: simComponent.h:149
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
class DtVrfIffPSR:
Definition: vrfIffPSR.h:24

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)