MCPcopy Create free account
hub / github.com/OctoMap/octomap / heightMapColor

Method heightMapColor

octovis/src/SceneObject.cpp:38–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36 }
37
38 void SceneObject::heightMapColor(double h, GLfloat* glArrayPos) const {
39 if (m_zMin >= m_zMax)
40 h = 0.5;
41 else{
42 h = (1.0 - std::min(std::max((h-m_zMin)/ (m_zMax - m_zMin), 0.0), 1.0)) *0.8;
43 }
44
45 // blend over HSV-values (more colors)
46 double r, g, b;
47 double s = 1.0;
48 double v = 1.0;
49
50 h -= floor(h);
51 h *= 6;
52 int i;
53 double m, n, f;
54
55 i = floor(h);
56 f = h - i;
57 if (!(i & 1))
58 f = 1 - f; // if i is even
59 m = v * (1 - s);
60 n = v * (1 - s * f);
61
62 switch (i) {
63 case 6:
64 case 0:
65 r = v; g = n; b = m;
66 break;
67 case 1:
68 r = n; g = v; b = m;
69 break;
70 case 2:
71 r = m; g = v; b = n;
72 break;
73 case 3:
74 r = m; g = n; b = v;
75 break;
76 case 4:
77 r = n; g = m; b = v;
78 break;
79 case 5:
80 r = v; g = m; b = n;
81 break;
82 default:
83 r = 1; g = 0.5; b = 0.5;
84 break;
85 }
86
87 glArrayPos[0] = r;
88 glArrayPos[1] = g;
89 glArrayPos[2] = b;
90 }
91
92 void SceneObject::heightMapGray(double h, GLfloat* glArrayPos) const {
93 if (m_zMin >= m_zMax)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected