- Timestamp:
- Jan 2, 2008 11:00:15 AM (17 years ago)
- Location:
- trunk/vizservers/nanovis
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/vizservers/nanovis/Command.cpp
r835 r837 1052 1052 x = - 10 + i%20; 1053 1053 data[i] = exp(- (x * x)/(2 * sigma * sigma)) / 1054 (sigma * sqrt(2.0)) / mean; 1055 } 1054 (sigma * sqrt(2.0)) / mean * 2; 1055 } 1056 1056 1057 HeightMap* heightMap = new HeightMap(); 1057 heightMap->setHeight(0.0f, 0.0f, 1.0f, 1.0f, 20, 20, data); 1058 float minx = 0.0f; 1059 float maxx = 1.0f; 1060 float miny = 0.5f; 1061 float maxy = 3.5f; 1062 heightMap->setHeight(minx, miny, maxx, maxy, 20, 20, data); 1058 1063 heightMap->setColorMap(NanoVis::get_transfunc("default")); 1059 1064 heightMap->setVisible(true); 1060 1065 heightMap->setLineContourVisible(true); 1061 1066 NanoVis::g_heightMap.push_back(heightMap); 1067 1068 1069 Vector3 min(minx, (float) heightMap->range_min(), miny); 1070 Vector3 max(maxx, (float) heightMap->range_max(), maxy); 1071 1072 g_grid->setMinMax(min, max); 1073 g_grid->setVisible(true); 1074 1062 1075 return TCL_OK; 1063 1076 } … … 1251 1264 } 1252 1265 if (g_grid) { 1253 g_grid->setAxisColor(r, g, b );1266 g_grid->setAxisColor(r, g, b, 1.0f); 1254 1267 } 1255 1268 } else if ((c == 'l') && (strcmp(argv[1],"linecolor") == 0)) { … … 1261 1274 } 1262 1275 if (g_grid) { 1263 g_grid->setGridLineColor(r, g, b );1276 g_grid->setGridLineColor(r, g, b, 1.0f); 1264 1277 } 1265 1278 } else if ((c == 'm') && (strcmp(argv[1],"minmax") == 0)) { -
trunk/vizservers/nanovis/Grid.cpp
r776 r837 4 4 5 5 Grid::Grid() 6 : _axisColor(1.0f, 1.0f, 1.0f ), _font(0), _axisGridLineCount(5.0f, 5.0f, 5.0f),7 _axisMin(0.0f, 0.0f, 0.0f), _axisMax(1.0f, 1.0f, 1.0f), _gridLineColor(1.0f, 1.0f, 1.0f ), _visible(false)6 : _axisColor(1.0f, 1.0f, 1.0f, 1.0f), _font(0), _axisGridLineCount(5.0f, 5.0f, 5.0f), 7 _axisMin(0.0f, 0.0f, 0.0f), _axisMax(1.0f, 1.0f, 1.0f), _gridLineColor(1.0f, 1.0f, 1.0f, 1.0f), _visible(false) 8 8 { 9 9 __axisScale = _axisMax - _axisMin; … … 18 18 glEnable(GL_DEPTH_TEST); 19 19 20 //glTranslatef(0.5f, 0.5f, 0.5f);21 glScalef(1.0f, __axisScale.y / __axisScale.x, __axisScale.z / __axisScale.x); 20 glScalef(1.0 / __axisScale.x, __axisScale.y / __axisScale.x, __axisScale.z / __axisScale.x); 21 22 22 glTranslatef(-0.5f, -0.5f, -0.5f); 23 23 glLineWidth(2.0f); … … 121 121 glLoadIdentity(); 122 122 glTranslatef((int) winx, (int) viewport[3] - (int)winy, 0.0f); 123 sprintf(buff, "%0.2f", __axisScale.y / _axisGridLineCount.y * i );123 sprintf(buff, "%0.2f", __axisScale.y / _axisGridLineCount.y * i + _axisMin.y); 124 124 _font->draw(buff); 125 125 } … … 132 132 glLoadIdentity(); 133 133 glTranslatef((int) winx, (int) viewport[3] - (int)winy, 0.0f); 134 sprintf(buff, "%0.2f", __axisScale.z / _axisGridLineCount.z * i );134 sprintf(buff, "%0.2f", __axisScale.z / _axisGridLineCount.z * i + _axisMin.z); 135 135 _font->draw(buff); 136 136 } … … 143 143 glLoadIdentity(); 144 144 glTranslatef((int) winx, (int) viewport[3] - (int)winy, 0.0f); 145 sprintf(buff, "%0.2f", __axisScale.x / _axisGridLineCount.x * i );145 sprintf(buff, "%0.2f", __axisScale.x / _axisGridLineCount.x * i + _axisMin.x); 146 146 _font->draw(buff); 147 147 } -
trunk/vizservers/nanovis/Grid.h
r776 r837 4 4 #include <R2/R2Fonts.h> 5 5 #include "Vector3.h" 6 #include "Vector4.h" 6 7 7 8 class Grid { 8 9 Vector3 __axisScale; 9 10 10 Vector 3_axisColor;11 Vector 3_gridLineColor;11 Vector4 _axisColor; 12 Vector4 _gridLineColor; 12 13 Vector3 _axisMax; 13 14 Vector3 _axisMin; … … 32 33 33 34 void setGridLineCount(int x, int y, int z); 34 void setAxisColor(float r, float g, float b );35 void setGridLineColor(float r, float g, float b );35 void setAxisColor(float r, float g, float b, float a); 36 void setGridLineColor(float r, float g, float b, float a); 36 37 void setMinMax(const Vector3& min, const Vector3& max); 37 38 void setAxisName(int axisID, const char* name); … … 67 68 } 68 69 69 inline void Grid::setAxisColor(float r, float g, float b )70 inline void Grid::setAxisColor(float r, float g, float b, float a) 70 71 { 71 72 _axisColor.x = r; 72 73 _axisColor.y = g; 73 74 _axisColor.z = b; 75 _axisColor.w = a; 74 76 } 75 77 76 inline void Grid::setGridLineColor(float r, float g, float b )78 inline void Grid::setGridLineColor(float r, float g, float b, float a) 77 79 { 78 80 _gridLineColor.x = r; 79 81 _gridLineColor.y = g; 80 82 _gridLineColor.z = b; 83 _gridLineColor.w = a; 81 84 } 82 85 … … 85 88 _axisMin = min; 86 89 _axisMax = max; 87 __axisScale = _axisMax - _axisMin; 90 __axisScale.x = _axisMax.x - _axisMin.x; 91 __axisScale.y = _axisMax.y - _axisMin.y; 92 __axisScale.z = _axisMax.z - _axisMin.z; 88 93 } 89 94 -
trunk/vizservers/nanovis/HeightMap.cpp
r835 r837 15 15 16 16 HeightMap::HeightMap() 17 : _contour(0), _colorMap(0), _indexBuffer(0), _vertexBufferObjectID(0), _vertexCount(0), _textureBufferObjectID(0), 18 _contourVisible(true), _scale(1.0f, 1.0f, 1.0f), _contourColor(1.0f, 0.0f, 0.0f) 17 : _contour(0), _colorMap(0), _indexBuffer(0), _indexCount(0), _vertexBufferObjectID(0), _vertexCount(0), 18 _textureBufferObjectID(0), _contourVisible(true), _scale(1.0f, 1.0f, 1.0f), _contourColor(1.0f, 0.0f, 0.0f), _visible(false), 19 _vmin(0.0f), _vmax(0.0f), _centerPoint(0.0f, 0.0f, 0.0f) 19 20 { 20 21 _shader = new NvShader(); … … 42 43 { 43 44 glPushMatrix(); 44 glScalef(_scale.x, _scale.y, _scale.z); 45 glTranslatef(-0.5f, -0.5f, -0.5f); 45 46 if (_scale.x != 0) 47 { 48 glScalef(1 / _scale.x, 1 / _scale.x , 1 / _scale.x); 49 } 50 51 glTranslatef(-_centerPoint.x, - _centerPoint.y, - _centerPoint.z); 52 46 53 if (_contour) 47 54 { … … 208 215 if (_vmin > heights[i].y) { 209 216 _vmin = heights[i].y; 210 } else if (_vmax < heights[i].y) { 217 } 218 if (_vmax < heights[i].y) { 211 219 _vmax = heights[i].y; 212 220 } 213 221 } 222 223 _scale.x = 1.0f; 224 _scale.z = _vmax - _vmin; 225 _scale.y = 1.0f; 226 227 _centerPoint.set(_scale.x * 0.5, _scale.z * 0.5 + _vmin, _scale.y * 0.5); 214 228 215 229 Vector3* texcoord = (Vector3*) malloc(count * sizeof(Vector3)); … … 259 273 { 260 274 _vertexCount = xCount * yCount; 275 261 276 reset(); 262 277 … … 266 281 if (_vmin > heights[i]) { 267 282 _vmin = heights[i]; 268 } else if (_vmax < heights[i]) { 283 } 284 285 if (_vmax < heights[i]) { 269 286 _vmax = heights[i]; 270 287 } 271 288 } 272 //_scale.x = endX - startX; 273 //_scale.y = (endY - startY) / _scale.x; 274 //_scale.z = max / _scale.z; 289 290 _scale.x = endX - startX; 291 _scale.y = _vmax - _vmin; 292 _scale.z = endY - startY; 293 294 _centerPoint.set(_scale.x * 0.5 + startX, _scale.y * 0.5 + _vmin, _scale.z * 0.5 + startY); 275 295 276 296 Vector3* texcoord = (Vector3*) malloc(count * sizeof(Vector3)); 277 for (int i = 0; i < count; ++i) { 297 for (int i = 0; i < count; ++i) 298 { 278 299 texcoord[i].set(0, 0, heights[i]); 279 300 } -
trunk/vizservers/nanovis/HeightMap.h
r835 r837 30 30 31 31 Vector3 _scale; 32 Vector3 _centerPoint; 32 33 33 34 double _vmin; // minimum (unscaled) value in data
Note: See TracChangeset
for help on using the changeset viewer.