1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
/*=========================================================================
Program: Visualization Toolkit
Module: TestMathTextRendering.cxx
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#include "vtkMathTextUtilities.h"
#include "vtkCamera.h"
#include "vtkImageData.h"
#include "vtkImageViewer2.h"
#include "vtkNew.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkTextProperty.h"
//----------------------------------------------------------------------------
int TestRenderString(int vtkNotUsed(argc), char *vtkNotUsed(argv)[])
{
const char * str = "$\\hat{H}\\psi = \\left(-\\frac{\\hbar}{2m}\\nabla^2"
" + V(r)\\right) \\psi = \\psi\\cdot E $";
vtkNew<vtkImageData> image;
vtkNew<vtkMathTextUtilities> utils;
utils->SetScaleToPowerOfTwo(false);
vtkNew<vtkTextProperty> tprop;
tprop->SetColor(1, 1, 1);
tprop->SetFontSize(50);
vtkNew<vtkImageViewer2> viewer;
utils->RenderString(str, image.GetPointer(), tprop.GetPointer(),
viewer->GetRenderWindow()->GetDPI());
viewer->SetInputData(image.GetPointer());
vtkNew<vtkRenderWindowInteractor> iren;
viewer->SetupInteractor(iren.GetPointer());
viewer->Render();
viewer->GetRenderer()->ResetCamera();
viewer->GetRenderer()->GetActiveCamera()->Zoom(6.0);
viewer->Render();
viewer->GetRenderWindow()->SetMultiSamples(0);
viewer->GetRenderWindow()->GetInteractor()->Initialize();
viewer->GetRenderWindow()->GetInteractor()->Start();
return EXIT_SUCCESS;
}
|