⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hawaii.cxx

📁 vtk elevation filter vtk line widget
💻 CXX
字号:
 #include "vtkRenderer.h"   
 #include "vtkRenderWindow.h"   
 #include "vtkRenderWindowInteractor.h"   
 #include "vtkPolyDataReader.h"   
 #include "vtkElevationFilter.h"   
 #include "vtkDataSetMapper.h"   
 #include "vtkActor.h"   
 #include "vtkCamera.h"#include "vtkCommand.h"   #include "vtkLineWidget.h"   #include "vtkInteractorStyleTrackballCamera.h"vtkElevationFilter *elevation;        vtkLineWidget *l;
    // Callback for the interactionclass vtkMyCallback : public vtkCommand{public:  static vtkMyCallback *New()     { return new vtkMyCallback; }  virtual void Execute(vtkObject *caller, unsigned long, void*)    {vtkLineWidget *j = reinterpret_cast<vtkLineWidget*>(caller);    	elevation->SetLowPoint( j->GetPoint1());	elevation->SetHighPoint(j->GetPoint2());    }};
 int main()   
 {   	l=vtkLineWidget::New();  vtkMyCallback *mo1 = vtkMyCallback::New();  l->AddObserver(vtkCommand::InteractionEvent,mo1);
      //Create the RenderWindow, Renderer and both Actors   
      vtkRenderer *ren1 = vtkRenderer::New();   
      vtkRenderWindow *renWin = vtkRenderWindow::New();   
         renWin->AddRenderer(ren1);   
      vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();   
          iren->SetRenderWindow(renWin);   
     
      //read a vtk file   
		  vtkPolyDataReader *hawaii = vtkPolyDataReader::New();   
//		hawaii->SetFileName("C:/Documents and Settings/ratlis/Desktop/ColorSph/honolulu.vtk");
		hawaii->SetFileName("C:/Documents and Settings/ratlis/Desktop/ColorSph/fran_cut.vtk");
           hawaii->Update();   

      elevation = vtkElevationFilter::New();   
          elevation->SetInput((vtkDataSet *)hawaii->GetOutput());   
l->SetPoint1(0.045, -0.122, -0.053);l->SetPoint1(0.11, -0.122, -0.097);    	elevation->SetLowPoint( l->GetPoint1());	elevation->SetHighPoint(l->GetPoint2());  
          elevation->SetScalarRange(0, 1);   
      vtkDataSetMapper *hawaiiMapper = vtkDataSetMapper::New();   
          hawaiiMapper->SetInput(elevation->GetOutput());   
         hawaiiMapper->ImmediateModeRenderingOn();   
    
     vtkActor *hawaiiActor = vtkActor::New();   
         hawaiiActor->SetMapper(hawaiiMapper);
    l->SetProp3D(hawaiiActor);l->PlaceWidget();   l->SetInteractor(iren);
     //Add the actors to the renderer, set the background and size   
     ren1->AddActor(hawaiiActor);   
     renWin->SetSize(700, 700);   
     renWin->DoubleBufferOff();   
     ren1->SetBackground(0.1, 0.2, 0.4);   
    
     //render the image   
     ren1->GetActiveCamera()->Zoom(2);   
     renWin->Render();   
      vtkInteractorStyleTrackballCamera *style =     vtkInteractorStyleTrackballCamera::New();  iren->SetInteractorStyle(style);
     iren->Initialize();   
     iren->Start();   
   
     //clean up   
     iren->Delete();   
     renWin->Delete();   
     ren1->Delete();   
     hawaiiActor->Delete();   
     hawaiiMapper->Delete();   
     elevation->Delete();   
     hawaii->Delete();   
    
     return 0;   
 }  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -