- Timestamp:
- Nov 8, 2013, 5:58:40 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/nanovis/Grid.cpp
r4038 r4039 67 67 glPushMatrix(); 68 68 69 glTranslatef(xAxis.min(), yAxis.min(), zAxis.min()); 70 glScalef(xAxis.range(), yAxis.range(), zAxis.range()); 69 double xLen = xAxis.range(); 70 double yLen = yAxis.range(); 71 double zLen = zAxis.range(); 72 double avgLen = 0.; 73 double denom = 0.; 74 if (xLen > 0.0) { 75 avgLen += xLen; 76 denom += 1.0; 77 } 78 if (yLen > 0.0) { 79 avgLen += yLen; 80 denom += 1.0; 81 } 82 if (zLen > 0.0) { 83 avgLen += zLen; 84 denom += 1.0; 85 } 86 if (denom > 0.0) { 87 avgLen /= denom; 88 } else { 89 avgLen = 1.0; 90 } 91 float xTickLen = (TICK_LENGTH * avgLen) / xLen; 92 float yTickLen = (TICK_LENGTH * avgLen) / yLen; 93 float zTickLen = (TICK_LENGTH * avgLen) / zLen; 94 float xLabelOfs = (LABEL_OFFSET * avgLen) / xLen; 95 //float yLabelOfs = (LABEL_OFFSET * avgLen) / yLen; 96 float zLabelOfs = (LABEL_OFFSET * avgLen) / zLen; 97 float xTitleOfs = (TITLE_OFFSET * avgLen) / xLen; 98 float yTitleOfs = (TITLE_OFFSET * avgLen) / yLen; 99 float zTitleOfs = (TITLE_OFFSET * avgLen) / zLen; 100 101 glTranslated(xAxis.min(), yAxis.min(), zAxis.min()); 102 glScaled(xLen, yLen, zLen); 71 103 72 104 glLineWidth(2.0f); … … 77 109 { 78 110 glVertex3f(0.0f, 0.0f, 0.0f); 79 glVertex3f(1.0f + TICK_LENGTH/xAxis.range(), 0.0f, 0.0f);111 glVertex3f(1.0f + xTickLen, 0.0f, 0.0f); 80 112 glVertex3f(0.0f, 0.0f, 0.0f); 81 glVertex3f(0.0f, 1.0f + TICK_LENGTH/yAxis.range(), 0.0f);113 glVertex3f(0.0f, 1.0f + yTickLen, 0.0f); 82 114 glVertex3f(0.0f, 0.0f, 0.0f); 83 glVertex3f(0.0f, 0.0f, 1.0f + TICK_LENGTH/zAxis.range());115 glVertex3f(0.0f, 0.0f, 1.0f + zTickLen); 84 116 } 85 117 glEnd(); … … 100 132 glVertex3f(x, 1.0f, 0.0f); 101 133 glVertex3f(x, 0.0f, 0.0f); 102 glVertex3f(x, 0.0f, 1.0f + TICK_LENGTH/zAxis.range());134 glVertex3f(x, 0.0f, 1.0f + zTickLen); 103 135 } 104 136 for (result = yAxis.firstMajor(iter); result; result = iter.next()) { … … 106 138 y = yAxis.map(iter.getValue()); 107 139 glVertex3f(0.0f, y, 0.0f); 108 glVertex3f(1.0f + TICK_LENGTH/xAxis.range(), y, 0.0f);140 glVertex3f(1.0f + xTickLen, y, 0.0f); 109 141 glVertex3f(0.0f, y, 0.0f); 110 142 glVertex3f(0.0f, y, 1.0f); … … 116 148 glVertex3f(0.0f, 1.0f, z); 117 149 glVertex3f(0.0f, 0.0f, z); 118 glVertex3f(1.0f + TICK_LENGTH/xAxis.range(), 0.0f, z);150 glVertex3f(1.0f + xTickLen, 0.0f, z); 119 151 } 120 152 } … … 169 201 170 202 _font->begin(); 171 if (gluProject(1.0 + TITLE_OFFSET/xAxis.range(), 0.0, 0.0, mv, prjm, viewport, &wx, &wy, &wz) &&203 if (gluProject(1.0 + xTitleOfs, 0.0, 0.0, mv, prjm, viewport, &wx, &wy, &wz) && 172 204 wz >= 0.0 && wz <= 1.0) { 173 205 glLoadIdentity(); … … 180 212 } 181 213 182 if (gluProject(0.0, 1.0 + TITLE_OFFSET/yAxis.range(), 0.0, mv, prjm, viewport, &wx, &wy, &wz) &&214 if (gluProject(0.0, 1.0 + yTitleOfs, 0.0, mv, prjm, viewport, &wx, &wy, &wz) && 183 215 wz >= 0.0 && wz <= 1.0) { 184 216 glLoadIdentity(); … … 191 223 } 192 224 193 if (gluProject(0.0, 0.0, 1.0 + TITLE_OFFSET/zAxis.range(), mv, prjm, viewport, &wx, &wy, &wz) &&225 if (gluProject(0.0, 0.0, 1.0 + zTitleOfs, mv, prjm, viewport, &wx, &wy, &wz) && 194 226 wz >= 0.0 && wz <= 1.0) { 195 227 glLoadIdentity(); … … 207 239 float x; 208 240 x = xAxis.map(iter.getValue()); 209 if (gluProject(x, 0.0f, 1.0 + LABEL_OFFSET/zAxis.range(), mv, prjm, viewport, &wx, &wy, &wz) &&241 if (gluProject(x, 0.0f, 1.0 + zLabelOfs, mv, prjm, viewport, &wx, &wy, &wz) && 210 242 wz >= 0.0 && wz <= 1.0) { 211 243 char buff[20]; … … 219 251 float y; 220 252 y = yAxis.map(iter.getValue()); 221 if (gluProject(1.0 + LABEL_OFFSET/xAxis.range(), y, 0.0f, mv, prjm, viewport, &wx, &wy, &wz) &&253 if (gluProject(1.0 + xLabelOfs, y, 0.0f, mv, prjm, viewport, &wx, &wy, &wz) && 222 254 wz >= 0.0 && wz <= 1.0) { 223 255 char buff[20]; … … 231 263 float z; 232 264 z = zAxis.map(iter.getValue()); 233 if (gluProject(1.0 + LABEL_OFFSET/xAxis.range(), 0.0f, z, mv, prjm, viewport, &wx, &wy, &wz) &&265 if (gluProject(1.0 + xLabelOfs, 0.0f, z, mv, prjm, viewport, &wx, &wy, &wz) && 234 266 wz >= 0.0 && wz <= 1.0) { 235 267 char buff[20];
Note: See TracChangeset
for help on using the changeset viewer.