Emergency 20 Dokumentation  4.2.0
HydrantTargetPointProvider.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  //[-------------------------------------------------------]
33  {
34 
35 
36  //[-------------------------------------------------------]
37  //[ Public definitions ]
38  //[-------------------------------------------------------]
39  public:
40  static const uint32 TARGET_POINT_ID;
41 
42  static const glm::vec3 HYDRANT_GROUND_OFFSET;
43 
44 
45  //[-------------------------------------------------------]
46  //[ Public methods ]
47  //[-------------------------------------------------------]
48  public:
54 
55 
56  //[-------------------------------------------------------]
57  //[ Public virtual qsf::logic::TargetPointProvider methods ]
58  //[-------------------------------------------------------]
59  public:
60  virtual void calculateTargetPoints(qsf::Entity& caller, const qsf::Transform& callerTransform, qsf::Entity& target, const qsf::Transform& targetTransform, std::vector<qsf::logic::TargetPoint>& targetPoints) const override;
61 
62 
63  //[-------------------------------------------------------]
64  //[ CAMP reflection system ]
65  //[-------------------------------------------------------]
66  QSF_CAMP_RTTI() // Only adds the virtual method "campClassId()", nothing more
67 
68 
69  };
70 
71 
72 //[-------------------------------------------------------]
73 //[ Namespace ]
74 //[-------------------------------------------------------]
75 } // em5
76 
77 
78 //[-------------------------------------------------------]
79 //[ CAMP reflection system ]
80 //[-------------------------------------------------------]
Definition: ActionPriority.h:13
Target point manager class.
Definition: TargetPointManager.h:45
Entity class.
Definition: Entity.h:46
Target point provider for going to a hydrant.
Definition: HydrantTargetPointProvider.h:32
unsigned int uint32
Definition: PlatformTypes.h:181
#define EM5_API_EXPORT
Definition: Export.h:28
3D transform class
Definition: Transform.h:45
#define QSF_CAMP_RTTI()
Only adds the virtual method "campClassId()", nothing more.
Definition: CampClass.h:75
A target point provider manages constraints for a type of interaction between entities. It returns actual target points that are spatial configurations which allow the interaction given the entities current setup. Since a target point is relative to the interacting as well as the interacted on entity it may be dynamic and is often invalidated as soon as one of the entities moves.
Definition: TargetPointProvider.h:53
#define QSF_CAMP_TYPE_NONCOPYABLE(type)
See "CAMP_TYPE_NONCOPYABLE" for details.
Definition: CampClass.h:112
static const glm::vec3 HYDRANT_GROUND_OFFSET
Definition: HydrantTargetPointProvider.h:42
static const uint32 TARGET_POINT_ID
"HydrantTargetPointProvider" unique identifier
Definition: HydrantTargetPointProvider.h:40