Emergency 20 Dokumentation  4.2.0
LeadPersonTargetPointProvider.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 
43  //[-------------------------------------------------------]
44  //[ Public static methods ]
45  //[-------------------------------------------------------]
46  public:
47  // Offset between player and target
48  static glm::vec3 getOffset(qsf::Entity& target);
49 
50 
51  //[-------------------------------------------------------]
52  //[ Public methods ]
53  //[-------------------------------------------------------]
54  public:
60 
61 
62  //[-------------------------------------------------------]
63  //[ Public virtual qsf::logic::TargetPointProvider methods ]
64  //[-------------------------------------------------------]
65  public:
66  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;
67 
68 
69  //[-------------------------------------------------------]
70  //[ CAMP reflection system ]
71  //[-------------------------------------------------------]
72  QSF_CAMP_RTTI() // Only adds the virtual method "campClassId()", nothing more
73 
74 
75  };
76 
77 
78 //[-------------------------------------------------------]
79 //[ Namespace ]
80 //[-------------------------------------------------------]
81 } // em5
82 
83 
84 //[-------------------------------------------------------]
85 //[ CAMP reflection system ]
86 //[-------------------------------------------------------]
Definition: ActionPriority.h:13
Target point manager class.
Definition: TargetPointManager.h:45
Entity class.
Definition: Entity.h:46
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
static const uint32 TARGET_POINT_ID
"LeadPersonTargetPointProvider" unique identifier
Definition: LeadPersonTargetPointProvider.h:40
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
Target point provider to lead a (contaminated) person.
Definition: LeadPersonTargetPointProvider.h:32