Changeset 2230
- Timestamp:
- Apr 26, 2011 10:12:48 PM (13 years ago)
- Location:
- trunk/packages/vizservers/vtkvis
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/vtkvis/RpVtkRenderer.cpp
r2222 r2230 374 374 } 375 375 double bounds[6]; 376 collectBounds(bounds, true);376 collectBounds(bounds, false); 377 377 _cubeAxesActor->SetBounds(bounds); 378 378 } … … 449 449 450 450 /** 451 * \brief Set Fly mode of axes 452 */ 453 void Renderer::setAxesFlyMode(AxesFlyMode mode) 454 { 455 if (_cubeAxesActor == NULL) 456 initAxes(); 457 switch (mode) { 458 case FLY_STATIC_EDGES: 459 _cubeAxesActor->SetFlyModeToStaticEdges(); 460 break; 461 case FLY_STATIC_TRIAD: 462 _cubeAxesActor->SetFlyModeToStaticTriad(); 463 break; 464 case FLY_OUTER_EDGES: 465 _cubeAxesActor->SetFlyModeToOuterEdges(); 466 break; 467 case FLY_FURTHEST_TRIAD: 468 _cubeAxesActor->SetFlyModeToFurthestTriad(); 469 break; 470 case FLY_CLOSEST_TRIAD: 471 default: 472 _cubeAxesActor->SetFlyModeToClosestTriad(); 473 break; 474 } 475 _needsRedraw = true; 476 } 477 478 /** 451 479 * \brief Set color of axes, ticks, labels, titles 452 480 */ … … 1654 1682 camera->SetViewUp(0, 1, 0); 1655 1683 camera->SetViewAngle(30); 1656 _renderer->ResetCamera(); 1684 double bounds[6]; 1685 collectBounds(bounds, false); 1686 _renderer->ResetCamera(bounds); 1657 1687 camera->GetFocalPoint(_cameraFocalPoint); 1658 1688 trans->Translate(+_cameraFocalPoint[0], +_cameraFocalPoint[1], +_cameraFocalPoint[2]); … … 1742 1772 } 1743 1773 camera->SetViewAngle(30); 1744 _renderer->ResetCamera(); 1774 double bounds[6]; 1775 collectBounds(bounds, false); 1776 _renderer->ResetCamera(bounds); 1745 1777 _renderer->ResetCameraClippingRange(); 1746 1778 computeScreenWorldCoords(); … … 2235 2267 { 2236 2268 double bounds[6]; 2237 collectBounds(bounds, true);2269 collectBounds(bounds, false); 2238 2270 _imgWorldOrigin[0] = bounds[0]; 2239 2271 _imgWorldOrigin[1] = bounds[2]; … … 2245 2277 2246 2278 if (_cameraMode == IMAGE) { 2247 _renderer->ResetCamera( );2279 _renderer->ResetCamera(bounds); 2248 2280 setCameraZoomRegion(_imgWorldOrigin[0], _imgWorldOrigin[1], 2249 2281 _imgWorldDims[0], _imgWorldDims[1]); … … 2252 2284 _renderer->GetActiveCamera()->ParallelProjectionOn(); 2253 2285 resetAxes(); 2254 _renderer->ResetCamera( );2286 _renderer->ResetCamera(bounds); 2255 2287 computeScreenWorldCoords(); 2256 2288 } else if (_cameraMode == PERSPECTIVE) { 2257 2289 _renderer->GetActiveCamera()->ParallelProjectionOff(); 2258 2290 resetAxes(); 2259 _renderer->ResetCamera( );2291 _renderer->ResetCamera(bounds); 2260 2292 computeScreenWorldCoords(); 2261 2293 } -
trunk/packages/vizservers/vtkvis/RpVtkRenderer.h
r2222 r2230 50 50 }; 51 51 52 enum AxesFlyMode { 53 FLY_OUTER_EDGES = 0, 54 FLY_CLOSEST_TRIAD, 55 FLY_FURTHEST_TRIAD, 56 FLY_STATIC_EDGES, 57 FLY_STATIC_TRIAD 58 }; 59 52 60 enum CameraMode { 53 61 PERSPECTIVE, … … 133 141 134 142 // Axes 143 144 void setAxesFlyMode(AxesFlyMode mode); 135 145 136 146 void setAxesGridVisibility(bool state); -
trunk/packages/vizservers/vtkvis/RpVtkRendererCmd.cpp
r2222 r2230 70 70 } 71 71 g_renderer->setAxesColor(color); 72 return TCL_OK; 73 } 74 75 static int 76 AxisFlyModeOp(ClientData clientData, Tcl_Interp *interp, int objc, 77 Tcl_Obj *const *objv) 78 { 79 const char *string = Tcl_GetString(objv[2]); 80 char c = string[0]; 81 Renderer::AxesFlyMode mode; 82 if ((c == 's') && (strcmp(string, "static_edges") == 0)) { 83 mode = Renderer::FLY_STATIC_EDGES; 84 } else if ((c == 's') && (strcmp(string, "static_triad") == 0)) { 85 mode = Renderer::FLY_STATIC_TRIAD; 86 } else if ((c == 'o') && (strcmp(string, "outer_edges") == 0)) { 87 mode = Renderer::FLY_OUTER_EDGES; 88 } else if ((c == 'f') && (strcmp(string, "furthest_triad") == 0)) { 89 mode = Renderer::FLY_FURTHEST_TRIAD; 90 } else if ((c == 'c') && (strcmp(string, "closest_triad") == 0)) { 91 mode = Renderer::FLY_CLOSEST_TRIAD; 92 } else { 93 Tcl_AppendResult(interp, "bad axis flymode option \"", string, 94 "\": should be static_edges, static_triad, outer_edges, furthest_triad, or closest_triad", (char*)NULL); 95 return TCL_ERROR; 96 } 97 g_renderer->setAxesFlyMode(mode); 72 98 return TCL_OK; 73 99 } … … 169 195 static Rappture::CmdSpec axisOps[] = { 170 196 {"color", 1, AxisColorOp, 5, 5, "r g b"}, 197 {"flymode", 1, AxisFlyModeOp, 3, 3, "mode"}, 171 198 {"grid", 1, AxisGridOp, 4, 4, "axis bool"}, 172 199 {"name", 1, AxisNameOp, 4, 4, "axis title"}, … … 204 231 } else { 205 232 Tcl_AppendResult(interp, "bad camera mode option \"", string, 206 "\": should be persp ective, ortho or image", (char*)NULL);233 "\": should be persp, ortho or image", (char*)NULL); 207 234 return TCL_ERROR; 208 235 } -
trunk/packages/vizservers/vtkvis/protocol.txt
r2218 r2230 10 10 axis color <r> <g> <b> 11 11 Set color of axis lines, labels, titles, ticks 12 axis flymode <mode> 13 <mode> = static_edges|static_triad|outer_edges|furthest_triad|closest_triad 12 14 axis grid <bool> 13 15 axis name <axis> <title>
Note: See TracChangeset
for help on using the changeset viewer.