Changeset 3549
- Timestamp:
- Mar 22, 2013, 11:16:51 AM (12 years ago)
- Location:
- trunk/packages/vizservers/vtkvis
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/vtkvis/vtkRpAxisActor.cpp
r3479 r3549 176 176 this->CalculateTitleOffset = 1; 177 177 this->CalculateLabelOffset = 1; 178 179 this->ScreenSize = 10.; 178 180 179 181 // Instance variables specific to 2D mode … … 658 660 } 659 661 662 // If label positions changed, need to rescale 663 this->AutoScale(viewport); 664 660 665 this->LastAxisPosition = this->AxisPosition; 661 666 … … 778 783 this->LabelActors[i]->SetPosition(pos[0], pos[1], pos[2]); 779 784 } 785 } 786 787 void 788 vtkRpAxisActor::AutoScale(vtkViewport *viewport) 789 { 790 double newTitleScale 791 = this->AutoScale(viewport, 792 this->ScreenSize, 793 this->GetTitleActor()->GetPosition()); 794 795 this->SetTitleScale(newTitleScale); 796 797 // Now labels. 798 vtkRpAxisFollower** labelActors = this->GetLabelActors(); 799 800 for(int j = 0; j < this->GetNumberOfLabelsBuilt(); ++j) 801 { 802 double newLabelScale 803 = this->AutoScale(viewport, 804 this->ScreenSize, 805 labelActors[j]->GetPosition()); 806 807 labelActors[j]->SetScale(newLabelScale); 808 } 809 } 810 811 double 812 vtkRpAxisActor::AutoScale(vtkViewport *viewport, double screenSize, 813 double position[3]) 814 { 815 double factor = 1; 816 if (viewport->GetSize()[1] > 0) 817 { 818 factor = 2.0 * screenSize 819 * tan(vtkMath::RadiansFromDegrees(this->Camera->GetViewAngle()/2.0)) 820 / viewport->GetSize()[1]; 821 } 822 823 double dist = sqrt( 824 vtkMath::Distance2BetweenPoints(position, 825 this->Camera->GetPosition())); 826 double newScale = factor * dist; 827 828 return newScale; 780 829 } 781 830 -
trunk/packages/vizservers/vtkvis/vtkRpAxisActor.h
r3479 r3549 123 123 void GetBounds(double bounds[6]); 124 124 125 vtkSetMacro(ScreenSize, double); 126 vtkGetMacro(ScreenSize, double); 127 125 128 // Description: 126 129 // Set/Get the format with which to print the labels on the axis. … … 466 469 void TransformBounds(vtkViewport *, double bnds[6]); 467 470 471 void AutoScale(vtkViewport *viewport); 472 double AutoScale(vtkViewport *viewport, double screenSize, 473 double position[3]); 474 468 475 void BuildLabels(vtkViewport *, bool); 469 476 void BuildLabels2D(vtkViewport *, bool); … … 552 559 int CalculateLabelOffset; 553 560 561 double ScreenSize; 562 554 563 // Description: 555 564 // Use xy-axis only when Use2DMode=1: -
trunk/packages/vizservers/vtkvis/vtkRpCubeAxesActor.cpp
r3496 r3549 29 29 #include "vtkViewport.h" 30 30 31 32 31 vtkStandardNewMacro(vtkRpCubeAxesActor); 33 32 vtkCxxSetObjectMacro(vtkRpCubeAxesActor, Camera,vtkCamera); … … 117 116 //this->YAxesGridpolysProperty->LightingOff(); // To be able to see the polys from high camera angles 118 117 //this->ZAxesGridpolysProperty->LightingOff(); // To be able to see the polys from high camera angles 118 119 this->ScreenSize = 10.0; 120 121 this->LabelScreenOffset = 20.0 + this->ScreenSize * 0.5; 122 this->TitleScreenOffset = 123 this->LabelScreenOffset * 2.0 + this->ScreenSize * 0.5; 119 124 120 125 for (int i = 0; i < NUMBER_OF_ALIGNED_AXIS; i++) … … 133 138 this->XAxes[i]->SetCalculateTitleOffset(0); 134 139 this->XAxes[i]->SetCalculateLabelOffset(0); 140 this->XAxes[i]->SetScreenSize(this->ScreenSize); 135 141 136 142 this->YAxes[i] = vtkRpAxisActor::New(); … … 147 153 this->YAxes[i]->SetCalculateTitleOffset(0); 148 154 this->YAxes[i]->SetCalculateLabelOffset(0); 155 this->YAxes[i]->SetScreenSize(this->ScreenSize); 149 156 150 157 this->ZAxes[i] = vtkRpAxisActor::New(); … … 161 168 this->ZAxes[i]->SetCalculateTitleOffset(0); 162 169 this->ZAxes[i]->SetCalculateLabelOffset(0); 163 164 this->ScreenSize = 10.0; 165 166 this->LabelScreenOffset = 20.0 + this->ScreenSize * 0.5; 167 this->TitleScreenOffset = 168 this->LabelScreenOffset * 2.0 + this->ScreenSize * 0.5; 170 this->ZAxes[i]->SetScreenSize(this->ScreenSize); 169 171 170 172 // Pass information to axes followers. … … 680 682 for (int i = 0; i < NUMBER_OF_ALIGNED_AXIS; i++) 681 683 { 684 this->XAxes[i]->SetScreenSize(this->ScreenSize); 685 this->YAxes[i]->SetScreenSize(this->ScreenSize); 686 this->ZAxes[i]->SetScreenSize(this->ScreenSize); 687 682 688 this->XAxes[i]->GetTitleActor()->SetScreenOffset(this->TitleScreenOffset); 683 689 this->YAxes[i]->GetTitleActor()->SetScreenOffset(this->TitleScreenOffset);
Note: See TracChangeset
for help on using the changeset viewer.