All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LabelViewIntersectionPredicate.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Labels.h"
6 #include "Types.h"
7 #include "LabelView.h" // todo split enums to own header
8 #include "IOcclusionResolver.h"
9 
10 
11 namespace Eegeo
12 {
13  namespace Labels
14  {
16  {
17  public:
19  const std::vector<LabelView*>& labelViews,
20  const IOcclusionResolver::InputListType& inputList)
21  : m_labelViews(labelViews)
22  {
23  }
24 
25  bool operator()(const OcclusionInputLod& a, const OcclusionInputLod& b) const;
26 
27  private:
28  bool IntersectsOBB_OBB(const LabelView& labelViewA, int lodA, const LabelView& labelViewB, int lodB) const;
29  bool IntersectsOBB_AABB(const LabelView& labelViewA, int lodA, const LabelView& labelViewB, int lodB) const;
30  bool IntersectsAABB_AABB(const LabelView& labelViewA, int lodA, const LabelView& labelViewB, int lodB) const;
31 
32  const std::vector<LabelView*>& m_labelViews;
33  };
34  }
35 }