루프에서 메쉬를 렌더링하는 데 간단한 코드를 사용하고 있습니다. 실제로 각 반복마다 시점을 변경하고 렌더링 이미지를 저장합니다. 나는 아래 작은 컴파일 가능한 예제로이 감소 :VTKRenderWindow를 자동으로 닫는 방법
int main(int argc, char **argv) {
vtkSmartPointer<vtkPLYReader> fileReader = vtkSmartPointer<vtkPLYReader>::New();
fileReader->SetFileName("benchvise_mesh.ply");
fileReader->Update();
vtkSmartPointer<vtkPolyData> polydata_ = fileReader->GetOutput();
vtkSmartPointer<vtkRenderWindow> render_win = vtkSmartPointer<vtkRenderWindow>::New();
vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkActor> actor_view = vtkSmartPointer<vtkActor>::New();
vtkSmartPointer<vtkCamera> cam = vtkSmartPointer<vtkCamera>::New();
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
for (int i = 0; i < 100; i++) {
mapper->SetInput(polydata_);
mapper->Update();
cam->SetViewAngle(58);
cam->SetClippingRange(0.00001, 10000);
//Invert view Up
cam->SetViewUp(0, -1, 0);
cam->SetPosition(0, 0, -500);
cam->SetFocalPoint(0, 0, 1);
cam->Modified();
actor_view->SetMapper(mapper);
actor_view->Modified();
renderer->SetActiveCamera(cam);
renderer->AddActor(actor_view);
renderer->SetBackground(1.0, 1.0, 1.0);
renderer->Modified();
render_win->AddRenderer(renderer);
render_win->SetSize(640, 480);
//white
render_win->Modified();
render_win->Start();
render_win->Render();
render_win->Finalize();
}
}
문제는, 내가이 많은 vtkWindow 아이콘이 내 작업 표시 줄에 나타나지 결국 중단 PC를 가지고 실행할 때. 마치 렌더링 윈도우가 살아있는 각 루프에 나타납니다. 그러나 아이콘을 클릭하면 창이 실제로 나타나지 않습니다.
각 반복에서 렌더링 윈도우를 정리할 수없는 것이 있습니까?
BTW, 나는 VTK 5.8 당신이 할 몇 가지 '잘못'이