GraphMap.h
Go to the documentation of this file.
1// *****************************************************************
2// Filename: GraphMap.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: 12.06.2007
8// *****************************************************************
9
10#pragma once
11
12// *****************************************************************
13// includes
14// *****************************************************************
15#include "Base/DataStructures/Graph/GraphPyramidLookupTable.h"
16#include "Base/DataStructures/Graph/IntensityGraph.h"
17#include "Math/FloatMatrix.h"
18
19// *****************************************************************
20// enums
21// *****************************************************************
29
30// *****************************************************************
31// decleration of CGraphMap
32// *****************************************************************
34{
35public:
36 // construction / destruction
37 CGraphMap(CIntensityGraph* pGraph, bool bUseLookup = false);
38 ~CGraphMap();
39
40 // getter / setter
41 void setMap(CFloatMatrix* pMap, bool bUpdateGraph = true);
42 CFloatMatrix* getMap();
43 int getWidth();
44 int getHeight();
45
46 // manipulation
47 void applyGaussian(EOperation nOperation, Vec3d position, float fAmplitude, float fVariance);
48 void
49 applyGaussian(EOperation nOperation, TSphereCoord coord, float fAmplitude, float fVariance);
50 void applyGaussian(EOperation nOperation, int nNodeID, float fAmplitude, float fVariance);
51
52 // update
53 void updateGraph();
54 void updateMap();
55
56private:
57 float evaluateGaussian(float fDist, float fAmplitude, float fVariance);
58 void toGraph(); // update intensitygraph
59 void toMap(); // update intensitymap
60
61 CSphericalGraph* m_pGraph;
62 int m_nNumberNodes;
63 CFloatMatrix* m_pMap;
64 bool m_bOwnMemory;
65
66 int m_nWidth;
67 int m_nHeight;
68
69 bool m_bUseLookup;
70 CGraphPyramidLookupTable* m_pLookupTable;
71};
EOperation
Definition GraphMap.h:23
@ eMultiply
Definition GraphMap.h:26
@ eSet
Definition GraphMap.h:24
@ eAdd
Definition GraphMap.h:25
@ eMax
Definition GraphMap.h:27
void applyGaussian(EOperation nOperation, Vec3d position, float fAmplitude, float fVariance)
Definition GraphMap.cpp:103
CFloatMatrix * getMap()
Definition GraphMap.cpp:84
int getHeight()
Definition GraphMap.cpp:96
void setMap(CFloatMatrix *pMap, bool bUpdateGraph=true)
Definition GraphMap.cpp:64
CGraphMap(CIntensityGraph *pGraph, bool bUseLookup=false)
Definition GraphMap.cpp:27
int getWidth()
Definition GraphMap.cpp:90
void updateGraph()
Definition GraphMap.cpp:238
void updateMap()
Definition GraphMap.cpp:244