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 "SphericalGraph.h"
16 #include <list>
17 
18 // *****************************************************************
19 // decleration of CGraphLookupTable
20 // *****************************************************************
22 {
23 public:
24  // construction / destruction
25  CGraphLookupTable(int nMaxZenithBins, int nMaxAzimuthBins);
27 
28  // build table
29  void buildLookupTable(CSphericalGraph* pGraph);
30 
31  // operation
32  int getClosestNode(Eigen::Vector3d position);
33  int getClosestNode(TSphereCoord position);
34  int getClosestNode(Eigen::Vector3d position, bool& bExact);
35  int getClosestNode(TSphereCoord position, bool& bExact);
36 
37 private:
38  void buildMemory();
39  void cleanMemory();
40  void addEntry(TSphereCoord position, int nIndex);
41  void reset();
42 
43  int getNumberZenithBins();
44  int getNumberAzimuthBins(float fZenith);
45  int getAzimuthBinIndex(float fAzimuth, float fZenith);
46  int getZenithBinIndex(float fZenith);
47 
48  void getBinMinMaxValues(int nZenithBinIndex, int nAzimuthBinIndex, float& fMinZenith, float& fMaxZenith, float& fMinAzimuth, float& fMaxAzimuth);
49 
50  int m_nMaxZenithBins;
51  int m_nMaxAzimuthBins;
52 
53  std::list<int>** m_ppTable;
54 
55  CSphericalGraph* m_pGraph;
56 };
57 
58 
CGraphLookupTable
Definition: GraphLookupTable.h:21
SphericalGraph.h
CGraphLookupTable::~CGraphLookupTable
~CGraphLookupTable()
Definition: GraphLookupTable.cpp:29
CGraphLookupTable::CGraphLookupTable
CGraphLookupTable(int nMaxZenithBins, int nMaxAzimuthBins)
Definition: GraphLookupTable.cpp:21
CSphericalGraph
Definition: SphericalGraph.h:93
TSphereCoord
Definition: Structs.h:22
CGraphLookupTable::getClosestNode
int getClosestNode(Eigen::Vector3d position)
Definition: GraphLookupTable.cpp:56
CGraphLookupTable::buildLookupTable
void buildLookupTable(CSphericalGraph *pGraph)
Definition: GraphLookupTable.cpp:34