gwnavruntime/dynamicnavmesh/tagvolumetrigger.h Source File

tagvolumetrigger.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 
9 // primary contact: LAPA - secondary contact: NOBODY
10 #ifndef Navigation_TagVolumeTrigger_H
11 #define Navigation_TagVolumeTrigger_H
12 
13 
15 
16 
17 namespace Kaim
18 {
19 
23 template<class ObstacleClass>
24 class TagVolumeTrigger
25 {
26  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_TagVolume)
28 
29 public:
30  // ---------------------------------- Public Member Functions ----------------------------------
31 
33  : m_obstacleRawPtr(KY_NULL)
34  {}
35 
36  ~TagVolumeTrigger() {}
37 
38  void Init(ObstacleClass* obstacle);
39  void Clear();
40 
41  void Update(bool doTriggerTagVolume);
42  void CreateTagVolume(TagVolumeInitConfig& tagVolumeInitConfig);
43 
44  void OnRemoveFromWorld();
45 
46  const TagVolume* GetTagVolume() const;
47  TagVolume* GetTagVolume();
48  TagVolume::IntegrationStatus GetIntegrationStatus() const;
49 
50 
51 private:
52  Ptr<TagVolume> m_tagVolume;
53  ObstacleClass* m_obstacleRawPtr;
54 };
55 
56 } // Kaim
57 
58 
60 
61 
62 #endif // Navigation_TagVolumeTrigger_H
Class used to provide TagVolume initialization parameters.
Definition: tagvolume.h:36
#define KY_NULL
Null value.
Definition: types.h:247
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
This class represents runtime-defined volumes with customized NavTag.
Definition: tagvolume.h:108
TagVolumeTrigger is dedicated to TagVolume creation / removal management.
Definition: tagvolumetrigger.h:25
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137