GraphLookupTable.h
Go to the documentation of this file.
1 // *****************************************************************
2 // Filename: GraphLookupTable.h
3 // Copyright: Kai Welke, Chair Prof. Dillmann (IAIM),
4 // Institute for Computer Science and Engineering (CSE),
5 // University of Karlsruhe. All rights reserved.
6 // Author: Kai Welke
7 // Date: 10.10.2008
8 // *****************************************************************
9 
10 #pragma once
11 
12 // *****************************************************************
13 // includes
14 // *****************************************************************
15 #include <list>
16 
17 #include "SphericalGraph.h"
18 
19 // *****************************************************************
20 // decleration of CGraphLookupTable
21 // *****************************************************************
23 {
24 public:
25  // construction / destruction
26  CGraphLookupTable(int nMaxZenithBins, int nMaxAzimuthBins);
28 
29  // build table
30  void buildLookupTable(CSphericalGraph* pGraph);
31 
32  // operation
33  int getClosestNode(Eigen::Vector3d position);
34  int getClosestNode(TSphereCoord position);
35  int getClosestNode(Eigen::Vector3d position, bool& bExact);
36  int getClosestNode(TSphereCoord position, bool& bExact);
37 
38 private:
39  void buildMemory();
40  void cleanMemory();
41  void addEntry(TSphereCoord position, int nIndex);
42  void reset();
43 
44  int getNumberZenithBins();
45  int getNumberAzimuthBins(float fZenith);
46  int getAzimuthBinIndex(float fAzimuth, float fZenith);
47  int getZenithBinIndex(float fZenith);
48 
49  void getBinMinMaxValues(int nZenithBinIndex,
50  int nAzimuthBinIndex,
51  float& fMinZenith,
52  float& fMaxZenith,
53  float& fMinAzimuth,
54  float& fMaxAzimuth);
55 
56  int m_nMaxZenithBins;
57  int m_nMaxAzimuthBins;
58 
59  std::list<int>** m_ppTable;
60 
61  CSphericalGraph* m_pGraph;
62 };
CGraphLookupTable
Definition: GraphLookupTable.h:22
SphericalGraph.h
CGraphLookupTable::~CGraphLookupTable
~CGraphLookupTable()
Definition: GraphLookupTable.cpp:31
CGraphLookupTable::CGraphLookupTable
CGraphLookupTable(int nMaxZenithBins, int nMaxAzimuthBins)
Definition: GraphLookupTable.cpp:23
CSphericalGraph
Definition: SphericalGraph.h:105
TSphereCoord
Definition: Structs.h:23
CGraphLookupTable::getClosestNode
int getClosestNode(Eigen::Vector3d position)
Definition: GraphLookupTable.cpp:61
CGraphLookupTable::buildLookupTable
void buildLookupTable(CSphericalGraph *pGraph)
Definition: GraphLookupTable.cpp:37