gwnavruntime/queries/utils/cellfilter.h Source File

cellfilter.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 #pragma once
8 
17 
18 namespace Kaim
19 {
20 
21 
22 class CellFilter : public RefCountBaseNTS<CellFilter, Stat_Default_Mem>
23 {
24  KY_CLASS_WITHOUT_COPY(CellFilter)
25 
26 public:
27  CellFilter();
28  ~CellFilter();
29 
30  void Clear();
31 
32  void ExpandCellBox(CellBox cellBox);
33 
34  void AddCellPos(const CellPos& cellPos);
35 
36  void AddAllPosInCellBox(CellBox cellBox);
37 
38  bool IsInFilter(const CellPos& cellPos) const;
39 
40  Ptr<CellFilter> Clone() const;
41 
42  void Display(DisplayList& displayList, const DatabaseGenMetrics& genMetrics) const;
43 
44 public: //internal
45  template <class BitFieldClass>
46  void AddCellFilter(const CellBox& cellBox, const BitFieldClass& bitField);
47 
48  template <class BitFieldClass>
49  static void Display(DisplayList& displayList, const DatabaseGenMetrics& genMetrics, const CellBox& cellBox, const BitFieldClass& cellBoxCoverage);
50 
51 public:
52  CellBox m_cellBox;
53  BitField* m_cellBoxCoverage;
54 };
55 
56 }
57 
58 #include "gwnavruntime/queries/utils/cellfilter.inl"
59 
Box2i CellBox
A type that represents a bounding box around cells in a 2D grid.
Definition: navmeshtypes.h:31
Vec2i CellPos
A type that represents the position of a cell within a 2D grid.
Definition: navmeshtypes.h:30
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17