------------------------------------------------------------------------------
| 466 | |
| 467 | //------------------------------------------------------------------------------ |
| 468 | void vtkRenderWindowInteractor::FlyToImage(vtkRenderer* ren, double x, double y) |
| 469 | { |
| 470 | double flyFrom[3], flyTo[3]; |
| 471 | double d[3], focalPt[3], position[3], positionFrom[3]; |
| 472 | int i, j; |
| 473 | |
| 474 | flyTo[0] = x; |
| 475 | flyTo[1] = y; |
| 476 | ren->GetActiveCamera()->GetFocalPoint(flyFrom); |
| 477 | flyTo[2] = flyFrom[2]; |
| 478 | ren->GetActiveCamera()->GetPosition(positionFrom); |
| 479 | for (i = 0; i < 2; i++) |
| 480 | { |
| 481 | d[i] = flyTo[i] - flyFrom[i]; |
| 482 | } |
| 483 | d[2] = 0.0; |
| 484 | double distance = vtkMath::Normalize(d); |
| 485 | double delta = distance / this->NumberOfFlyFrames; |
| 486 | |
| 487 | for (i = 1; i <= NumberOfFlyFrames; i++) |
| 488 | { |
| 489 | for (j = 0; j < 3; j++) |
| 490 | { |
| 491 | focalPt[j] = flyFrom[j] + d[j] * i * delta; |
| 492 | position[j] = positionFrom[j] + d[j] * i * delta; |
| 493 | } |
| 494 | ren->GetActiveCamera()->SetFocalPoint(focalPt); |
| 495 | ren->GetActiveCamera()->SetPosition(position); |
| 496 | ren->GetActiveCamera()->Dolly(this->Dolly / this->NumberOfFlyFrames + 1.0); |
| 497 | ren->ResetCameraClippingRange(); |
| 498 | this->Render(); |
| 499 | } |
| 500 | } |
| 501 | |
| 502 | //------------------------------------------------------------------------------ |
| 503 | vtkRenderer* vtkRenderWindowInteractor::FindPokedRenderer(int x, int y) |
no test coverage detected