gwnavruntime/dynamicnavmesh/tagvolumetrigger.h Source File

tagvolumetrigger.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 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 #pragma once
10 
11 
13 
14 
15 namespace Kaim
16 {
17 
21 template<class ObstacleClass>
23 {
24  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_TagVolume)
26 
27 public:
28  // ------------------------------ Functions -----------------------------
29 
31  : m_obstacleRawPtr(nullptr)
32  {}
33 
34  ~TagVolumeTrigger() {}
35 
36  void Init(ObstacleClass* obstacle);
37  void Clear();
38 
39  void Update(bool doTriggerTagVolume);
40  void CreateTagVolume(TagVolumeInitConfig& tagVolumeInitConfig);
41 
42  void OnRemoveFromWorld();
43 
44  const TagVolume* GetTagVolume() const;
45  TagVolume* GetTagVolume();
46  TagVolume::IntegrationStatus GetIntegrationStatus() const;
47 
48 
49 private:
50  Ptr<TagVolume> m_tagVolume;
51  ObstacleClass* m_obstacleRawPtr;
52 };
53 
54 } // Kaim
55 
56 
58 
59 
TagVolumeInitConfig provides TagVolume initialization parameters.
Definition: tagvolume.h:34
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
This class represents runtime-defined volumes with customized NavTag.
Definition: tagvolume.h:119
TagVolumeTrigger is dedicated to TagVolume creation / removal management.
Definition: tagvolumetrigger.h:22
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17