VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
customIffState.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
6 #pragma once
7 
10 
11 #include <string>
12 #include <matrix/vlVector.h>
13 
14 #ifndef IFF_MODE_CODE_SIZE
15 #define IFF_MODE_CODE_SIZE 3
16 #endif
17 
19 {
20 public:
21  enum DtModeOrParameterKind { Enabled = 0, IsDamaged = 1, IsMalfunctioning = 2, IsOn = 3 };
22 
24  virtual ~CustomIffStateMessage();
25 
26  virtual void setModeOrParameterVal(char type, int status, bool onOff);
27  virtual void setModeOrParameterVal(int type, int status, bool onOff);
28  virtual bool getModeOrParameterVal(char type, int status) const;
29  virtual bool getModeOrParameterVal(int type, int status) const;
30 
31  virtual void setModeEnabled(int modeType, bool onOff);
32  virtual bool modeEnabled(int modeType) const;
33  virtual void setModeEnabled(char modeType, bool onOff);
34  virtual bool modeEnabled(char modeType) const;
35 
36  virtual void setModeIsMalfunctioning(int modeType, bool onOff);
37  virtual bool modeIsMalfunctioning(int modeType) const;
38  virtual void setModeIsMalfunctioning(char modeType, bool onOff);
39  virtual bool modeIsMalfunctioning(char modeType) const;
40 
41  virtual void setModeIsDamaged(int modeType, bool onOff);
42  virtual bool modeIsDamaged(int modeType) const;
43  virtual void setModeIsDamaged(char modeType, bool onOff);
44  virtual bool modeIsDamaged(char modeType) const;
45 
46  virtual void setModeIsOn(int modeType, bool onOff);
47  virtual bool modeIsOn(int modeType) const;
48  virtual void setModeIsOn(char modeType, bool onOff);
49  virtual bool modeIsOn(char modeType) const;
50 
51  virtual unsigned short modeCode(int modeCodeNum);
52  virtual void setModeCode(int modeCodeNum, unsigned short val);
53 
54  virtual int messageSize();
55 
56  static DtMessage* decode(unsigned char* buffer, int length);
57  static std::string theMessageName();
58 
59 protected:
60  static std::string theFullName;
61 
63  bool myModeParameterStatusValues[6][4];
64 
65  unsigned short myModeCode[IFF_MODE_CODE_SIZE];
66 
67  virtual void serialize(DtStreamWriter& writer);
68  virtual void deserialize(DtStreamReader& reader);
69 };
DtModeOrParameterKind
Definition: customIffState.h:21
Definition: customIffState.h:18
virtual void deserialize(DtStreamReader &reader)
#define MANAGEDINTERFACE_DLL
Definition: plugin.h:15
Defines the base class for all messages that are sent to and from C#.
static DtMessage * decode(unsigned char *buffer, int length)
This is the DtMessage class.
Definition: message.h:20
#define IFF_MODE_CODE_SIZE
Definition: customIffState.h:15
This file declares DtVector and DtVector32.
virtual int messageSize()
this function needs to be in each derived class for decoding
static std::string theFullName
Definition: customIffState.h:60
Instances of DtStreamWriter encode values into a byte array.
Definition: byteStream.h:74
static std::string theMessageName()
virtual void serialize(DtStreamWriter &writer)
Instances of DtStreamReader decode values from a byte array.
Definition: byteStream.h:31
Definition: iffState.h:18

Document ID: Generated on Mon Apr 25 03:39:01 EDT 2022 from SVN revision 242502
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)