Emergency 20 Dokumentation  4.2.0
RoadVehiclePlacementComponent.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 
16 
17 
18 //[-------------------------------------------------------]
19 //[ Namespace ]
20 //[-------------------------------------------------------]
21 namespace em5
22 {
23 
24 
25  //[-------------------------------------------------------]
26  //[ Classes ]
27  //[-------------------------------------------------------]
36  {
37 
38 
39  //[-------------------------------------------------------]
40  //[ Public definitions ]
41  //[-------------------------------------------------------]
42  public:
43  static const uint32 COMPONENT_ID;
44 
45 
46  //[-------------------------------------------------------]
47  //[ Public methods ]
48  //[-------------------------------------------------------]
49  public:
57  explicit RoadVehiclePlacementComponent(qsf::Prototype* prototype);
58 
64 
65 
66  //[-------------------------------------------------------]
67  //[ Public virtual qsf::PlacementComponent methods ]
68  //[-------------------------------------------------------]
69  public:
70  virtual bool applyPlacement(glm::vec3& position, glm::quat& rotation) override;
71  virtual bool applyPlacement(glm::vec3& position, const glm::quat& rotation) override;
72 
73 
74  //[-------------------------------------------------------]
75  //[ Private methods ]
76  //[-------------------------------------------------------]
77  private:
78  bool initialize();
79 
80 
81  //[-------------------------------------------------------]
82  //[ Private data ]
83  //[-------------------------------------------------------]
84  private:
85  glm::vec3 mLocalWheelPosition[3];
86  bool mLocalWheelPositionInitialized;
87 
88 
89  //[-------------------------------------------------------]
90  //[ CAMP reflection system ]
91  //[-------------------------------------------------------]
92  QSF_CAMP_RTTI() // Only adds the virtual method "campClassId()", nothing more
93 
94 
95  };
96 
97 
98 //[-------------------------------------------------------]
99 //[ Namespace ]
100 //[-------------------------------------------------------]
101 } // em5
102 
103 
104 //[-------------------------------------------------------]
105 //[ CAMP reflection system ]
106 //[-------------------------------------------------------]
Definition: ActionPriority.h:13
unsigned int uint32
Definition: PlatformTypes.h:181
#define EM5_API_EXPORT
Definition: Export.h:28
static const uint32 COMPONENT_ID
"qsf::PivotOnGroundPlacementComponent" unique component ID
Definition: RoadVehiclePlacementComponent.h:43
#define QSF_CAMP_RTTI()
Only adds the virtual method "campClassId()", nothing more.
Definition: CampClass.h:75
#define QSF_CAMP_TYPE_NONCOPYABLE(type)
See "CAMP_TYPE_NONCOPYABLE" for details.
Definition: CampClass.h:112
Placement component base class.
Definition: PlacementComponent.h:44
Prototype class.
Definition: Prototype.h:100
Road vehicle placement component class.
Definition: RoadVehiclePlacementComponent.h:35