📄 iosurface.cpp
字号:
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkRenderWindowInteractor.h"
#include "vtkVolume16Reader.h"
#include "vtkVolumeReader.h"
#include "vtkObject.h"
//#include "vtkMarchingCubes.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkOutlineFilter.h"
#include "vtkCamera.h"
#include "vtkProperty.h"
#include "vtkPolyDataNormals.h"
#include "vtkContourFilter.h"
int main (int argc, char **argv)
{
if (argc < 2)
{
cout << "Usage: " << argv[0] << " DATADIR/cube/slice" << endl;
return 1;
}
vtkRenderer *ren = vtkRenderer::New();
vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer(ren);
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(renWin);
vtkVolume16Reader *volReader = vtkVolume16Reader::New();
volReader->SetImageRange (1,5);
volReader->SetFilePrefix (argv[1]);
volReader->SetDataSpacing (1,1,1);
volReader->Update();
// An isosurface, or contour value of 1 is known to correspond to the object.
/* vtkMarchingCubes *iso =vtkMarchingCubes::New();
iso->SetInput(volReader->GetOutput() );
iso->SetValue(0,1);
*/
vtkPolyDataMapper *isoMapper = vtkPolyDataMapper::New();
isoMapper->SetInput(iso->GetOutput() );
isoMapper->ScalarVisibilityOff();
vtkActor *isoActor = vtkActor::New();
isoActor->SetMapper(isoMapper);
vtkOutlineFilter *outline = vtkOutlineFilter::New();
outline->SetInput( (vtkDataSet *) volReader->GetOutput() );
vtkPolyDataMapper *outlineMapper = vtkPolyDataMapper::New();
outlineMapper->SetInput(outline->GetOutput() );
vtkActor *outlineActor = vtkActor::New();
outlineActor->SetMapper(outlineMapper);
outlineActor->VisibilityOff();
//
// Add the actors to the renderer, set the background and size
//
ren->AddActor(outlineActor);
ren->AddActor(isoActor);
ren->SetBackground(0.2,0.3,0.4);
renWin->SetSize(450,450);
ren->GetActiveCamera()->Elevation(90);
ren->GetActiveCamera()->SetViewUp(0,0,-1);
iren->Initialize();
// render the image
iren->Start();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -