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

📄 pipe2.cxx

📁 a very goog book
💻 CXX
字号:
/*=========================================================================  Program:   Visualization Toolkit  Module:    $RCSfile: pipe2.cxx,v $  Language:  C++  Date:      $Date: 2002/09/30 20:37:43 $  Version:   $Revision: 1.5 $  Copyright (c) 1993-2002 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 "vtkActor.h"#include "vtkContourFilter.h"#include "vtkImageData.h"#include "vtkInputPort.h"#include "vtkPolyData.h"#include "vtkPolyDataMapper.h"#include "vtkRenderWindow.h"#include "vtkRenderer.h"#include "PipelineParallelism.h"// Pipe 2 for PipelineParallelism.// See PipelineParallelism.cxx for more information.void pipe2(vtkMultiProcessController* vtkNotUsed(controller),            void* vtkNotUsed(arg)){  // Input port  vtkInputPort* ip = vtkInputPort::New();  ip->SetRemoteProcessId(0);  ip->SetTag(11);  // Iso-surface  vtkContourFilter* cf = vtkContourFilter::New();  cf->SetInput(ip->GetImageDataOutput());  cf->SetNumberOfContours(1);  cf->SetValue(0, 220);  // Rendering objects  vtkPolyDataMapper* mapper = vtkPolyDataMapper::New();  mapper->SetInput(cf->GetOutput());  vtkActor* actor = vtkActor::New();  actor->SetMapper(mapper);  vtkRenderer* ren = vtkRenderer::New();  ren->AddActor(actor);  vtkRenderWindow* renWin = vtkRenderWindow::New();  renWin->AddRenderer(ren);  // Normally, the Render() call on a RenderWindow() calls  // update on it's actors two times. This is not appropriate  // for this example because with each Update(), the data   // changes. For this reason, we will use a separate PolyData  // object and (shallow) copy the data to it.  vtkPolyData* pd = vtkPolyData::New();  mapper->SetInput(pd);  // Prime the pipeline. Tell the producer to start computing.  ip->Update();  // Get the first data, adjust camera appropriatly  cf->GetOutput()->Update();  pd->ShallowCopy(cf->GetOutput());  ren->ResetCamera();  // Display data  renWin->Render();  // Get more data. With every update the XFreq of the rtSource  // is increased.  for (int i=0; i<17; i++)    {    cf->GetOutput()->Update();    pd->ShallowCopy(cf->GetOutput());    // Display    renWin->Render();    }  // Tell the producer that we are done.  ip->GetController()->TriggerRMI(0, vtkMultiProcessController::BREAK_RMI_TAG);  pd->Delete();  ip->Delete();  cf->Delete();  mapper->Delete();  actor->Delete();  ren->Delete();  renWin->Delete();  }

⌨️ 快捷键说明

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