[vtkusers] change size of Axes text
tony zhang
tonyzhang0985 at gmail.com
Mon May 6 13:33:44 EDT 2013
I am trying to add axes to a window and have an issue to change font size
of axis test. The partial code is as following:
cube = vtkSmartPointer<vtkAnnotatedCubeActor>::New();
cube->SetXPlusFaceText("R");
cube->SetXMinusFaceText("L");
cube->SetYPlusFaceText("A");
cube->SetYMinusFaceText("P");
cube->SetZPlusFaceText("I");
cube->SetZMinusFaceText("S");
cube->SetXFaceTextRotation(180);
cube->SetYFaceTextRotation(180);
cube->SetZFaceTextRotation(-90);
cube->SetFaceTextScale(0.65);
vtkSmartPointer<vtkProperty> cube_property = cube->GetCubeProperty();
cube_property->SetColor(0.5, 1, 1);
cube_property = cube->GetTextEdgesProperty();
cube_property->SetLineWidth(1);
cube_property->SetDiffuse(0);
cube_property->SetAmbient(1);
cube_property->SetColor(0.18, 0.28, 0.23);
cube_property = cube->GetXPlusFaceProperty();
cube_property->SetColor(0,0,1);
cube_property->SetInterpolationToFlat();
cube_property = cube->GetXMinusFaceProperty();
cube_property->SetColor(0,0,1);
cube_property->SetInterpolationToFlat();
cube_property = cube->GetYPlusFaceProperty();
cube_property->SetColor(0,1,0);
cube_property->SetInterpolationToFlat();
cube_property = cube->GetYMinusFaceProperty();
cube_property->SetColor(0,1,0);
cube_property->SetInterpolationToFlat();
cube_property = cube->GetZPlusFaceProperty();
cube_property->SetColor(1,0,0);
cube_property->SetInterpolationToFlat();
cube_property = cube->GetZMinusFaceProperty();
cube_property->SetColor(1,0,0);
cube_property->SetInterpolationToFlat();
axes = vtkSmartPointer<vtkAxesActor>::New();
axes->SetShaftTypeToCylinder();
axes->SetXAxisLabelText("x");
axes->SetYAxisLabelText("y");
axes->SetZAxisLabelText("z");
axes->SetTotalLength(1.5, 1.5, 1.5);
vtkSmartPointer<vtkTextProperty> tprop =
vtkSmartPointer<vtkTextProperty>::New();
tprop->ItalicOn();
tprop->ShadowOn();
tprop->SetFontFamilyToTimes();
std::cout << tprop->GetFontSize();
tprop->SetFontSize(18);
axes->GetXAxisCaptionActor2D()->SetCaptionTextProperty(tprop);
vtkSmartPointer<vtkTextProperty> tprop2 =
vtkSmartPointer<vtkTextProperty>::New();
tprop2->ShallowCopy(tprop);
axes->GetYAxisCaptionActor2D()->SetCaptionTextProperty(tprop2);
vtkSmartPointer<vtkTextProperty> tprop3 =
vtkSmartPointer<vtkTextProperty>::New();
tprop3->ShallowCopy(tprop);
axes->GetZAxisCaptionActor2D()->SetCaptionTextProperty(tprop3);
assembly = vtkSmartPointer<vtkPropAssembly>::New();
assembly->AddPart(axes);
assembly->AddPart(cube);
marker = vtkSmartPointer<vtkOrientationMarkerWidget>::New();
marker->SetOutlineColor(0.93, 0.57, 0.13);
marker->SetOrientationMarker(assembly);
iact = renWinImage->GetInteractor();
iact_style = vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();
iact->SetInteractorStyle(iact_style);
marker->SetInteractor(iact);
marker->SetEnabled(1);
marker->InteractiveOff();
renWinImage->Render();
The font of axes text X, Y and Z looks small. I tried to set up larger font
size ( tprop->SetFontSize(18);) and it seems not working. The "std::cout <<
tprop->GetFontSize();" does not print out the size when the program is
started. It shows default size "12" when I close the program. My questions
are:
(1) is SetFontSize() the right method to change the font size?
(2) if it is the right function to use, what I should pay attention to make
it effective?
Thanks ahead for any help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20130506/d9177fe7/attachment.htm>
More information about the vtkusers
mailing list