gwnavgeneration/generator/navdataelementglobalmap.h Source File

navdataelementglobalmap.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 #pragma once
9 
10 
13 
14 
15 namespace Kaim
16 {
17 
18 class GeneratorNavDataElement;
19 class GeneratorNavDataElementMap_Implementation;
20 class GeneratorGuidCompound;
21 
22 // GeneratorNavDataElementMap allows
23 // - to get a GeneratorNavDataElement from a guidCompound in O(log(N))
24 // - to get all the GeneratorNavDataElements in an array
25 // GeneratorNavDataElementMap is used as a member in GeneratorSectorBuilder and in GeneratorSystem
26 // using a Kaim::Hash hidden in GeneratorNavDataElementMap_Implementation in the cpp
27 class GeneratorNavDataElementMap
28 {
29  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_NavDataGen)
30  KY_CLASS_WITHOUT_COPY(GeneratorNavDataElementMap)
31 public:
32  GeneratorNavDataElementMap();
33  ~GeneratorNavDataElementMap();
34 
35  void Clear();
36 
37  void Add(GeneratorNavDataElement& navDataElement);
38 
39  GeneratorNavDataElement* Get(const GeneratorGuidCompound& guidCompound) const;
40 
41  const KyArrayPOD<GeneratorNavDataElement*>& GetArray() const;
42 
43 private:
44  GeneratorNavDataElementMap_Implementation* m_impl;
45 };
46 
47 
48 }
49 
50 
51 
#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
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17