Emergency 20 Dokumentation  4.2.0
VisualVitalSigns.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
13 #include "em5/Export.h"
14 
15 #include <qsf/math/BitFlagSet.h>
20 
21 
22 //[-------------------------------------------------------]
23 //[ Namespace ]
24 //[-------------------------------------------------------]
25 namespace em5
26 {
27 
28 
29  //[-------------------------------------------------------]
30  //[ Classes ]
31  //[-------------------------------------------------------]
37  {
38 
39 
40  //[-------------------------------------------------------]
41  //[ Public definitions ]
42  //[-------------------------------------------------------]
43  public:
45  {
46  // Showing texture layers
47  VISUAL_VITAL_SIGN_GUNSHOT_WOUND = 1<<0,
48  VISUAL_VITAL_SIGN_BLOOD_COVERED = 1<<1,
49  VISUAL_VITAL_SIGN_BURNED_SKIN = 1<<2,
50 
51  // TODO(tl): Adding a new object
52  VISUAL_VITAL_SIGN_BLOOD_PUDDLE = 1<<3,
53 
54  // TODO(tl): Altering animation
55  VISUAL_VITAL_SIGN_BROKEN_LEG = 1<<4,
56  VISUAL_VITAL_SIGN_BROKEN_ARM = 1<<5,
57  VISUAL_VITAL_SIGN_COUGHING = 1<<6,
58  VISUAL_VITAL_SIGN_VOMITING = 1<<7,
59 
60  // TODO(tl): Altering mesh
61  VISUAL_VITAL_SIGN_AMPUTATED_LEG = 1<<8,
62  VISUAL_VITAL_SIGN_AMPUTATED_ARM = 1<<9,
63 
64  VISUAL_VITAL_SIGN_BANDAGED_LEG = 1<<10,
65  VISUAL_VITAL_SIGN_BANDAGED_ARM = 1<<11,
66  VISUAL_VITAL_SIGN_BANDAGED_BODY = 1<<12,
67  };
69 
70 
71  //[-------------------------------------------------------]
72  //[ Public methods ]
73  //[-------------------------------------------------------]
74  public:
80 
86 
87  // Getter and Setter Functions for CAMP Export
88  bool getVisualVitalSignGunshotWound() const;
89  bool getVisualVitalSignBloodCovered() const;
90  bool getVisualVitalSignBurnedSkin() const;
91  bool getVisualVitalSignBloodPuddle() const;
92  bool getVisualVitalSignBrokenLeg() const;
93  bool getVisualVitalSignBrokenArm() const;
94  bool getVisualVitalSignCoughing() const;
95  bool getVisualVitalSignVomitting() const;
96  bool getVisualVitalSignAmputatedLeg() const;
97  bool getVisualVitalSignAmputatedArm() const;
98  bool getVisualVitalSignBandagedLeg() const;
99  bool getVisualVitalSignBandagedArm() const;
100  bool getVisualVitalSignBandagedBody() const;
101 
102  void setVisualVitalSignGunshotWound(bool set);
103  void setVisualVitalSignBloodCovered(bool set);
104  void setVisualVitalSignBurnedSkin(bool set);
105  void setVisualVitalSignBloodPuddle(bool set);
106  void setVisualVitalSignBrokenLeg(bool set);
107  void setVisualVitalSignBrokenArm(bool set);
108  void setVisualVitalSignCoughing(bool set);
109  void setVisualVitalSignVomitting(bool set);
110  void setVisualVitalSignAmputatedLeg(bool set);
111  void setVisualVitalSignAmputatedArm(bool set);
112  void setVisualVitalSignBandagedLeg(bool set);
113  void setVisualVitalSignBandagedArm(bool set);
114  void setVisualVitalSignBandagedBody(bool set);
115 
116  void serialize(qsf::BinarySerializer& serializer);
117 
118  // Operator
120  {
121  mVisualVitalSignBitmask = other.mVisualVitalSignBitmask;
122  return *this;
123  }
124 
125 
126  //[-------------------------------------------------------]
127  //[ Private data ]
128  //[-------------------------------------------------------]
129  private:
130  VisualVitalSignBitmask mVisualVitalSignBitmask;
131 
132 
133  //[-------------------------------------------------------]
134  //[ CAMP reflection system ]
135  //[-------------------------------------------------------]
136  QSF_CAMP_RTTI() // Only adds the virtual method "campClassId()", nothing more
137 
138 
139  };
140 
141 
142 //[-------------------------------------------------------]
143 //[ Namespace ]
144 //[-------------------------------------------------------]
145 } // em5
146 
147 
148 //[-------------------------------------------------------]
149 //[ CAMP reflection system ]
150 //[-------------------------------------------------------]
Definition: ActionPriority.h:13
Object base class.
Definition: Object.h:68
#define EM5_API_EXPORT
Definition: Export.h:28
EMERGENCY 5 visual vital sign class.
Definition: VisualVitalSigns.h:36
void serialize(BinarySerializer &serializer, BitFlagSet< STORAGE, ENUM > &bitFlagSet)
Definition: BitFlagSet.h:359
#define QSF_CAMP_RTTI()
Only adds the virtual method "campClassId()", nothing more.
Definition: CampClass.h:75
VisualVitalSignFlags
Definition: VisualVitalSigns.h:44
#define QSF_CAMP_TYPE_NONCOPYABLE(type)
See "CAMP_TYPE_NONCOPYABLE" for details.
Definition: CampClass.h:112
VisualVitalSigns & operator=(const VisualVitalSigns &other)
Definition: VisualVitalSigns.h:119
Binary serializer class.
Definition: BinarySerializer.h:35
qsf::BitFlagSet< uint16, VisualVitalSignFlags > VisualVitalSignBitmask
Definition: VisualVitalSigns.h:68