MCPcopy Create free account
hub / github.com/Geant4/geant4 / ExportScreenShot

Method ExportScreenShot

source/visualization/Vtk/src/G4VtkViewer.cc:340–384  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

338}
339
340void G4VtkViewer::ExportScreenShot(G4String path, G4String format)
341{
342 vtkImageWriter* imWriter = nullptr;
343
344 if (format == "bmp") {
345 imWriter = vtkBMPWriter::New();
346 }
347 else if (format == "jpg") {
348 imWriter = vtkJPEGWriter::New();
349 }
350 else if (format == "pnm") {
351 imWriter = vtkPNMWriter::New();
352 }
353 else if (format == "png") {
354 imWriter = vtkPNGWriter::New();
355 }
356 else if (format == "tiff") {
357 imWriter = vtkTIFFWriter::New();
358 }
359 else if (format == "ps") {
360 imWriter = vtkPostScriptWriter::New();
361 }
362 else {
363 return;
364 }
365
366 _renderWindow->Render();
367
368 vtkSmartPointer<vtkWindowToImageFilter> winToImage =
369 vtkSmartPointer<vtkWindowToImageFilter>::New();
370 winToImage->SetInput(_renderWindow);
371 winToImage->SetScale(1);
372 if (format == "ps") {
373 winToImage->SetInputBufferTypeToRGB();
374 winToImage->ReadFrontBufferOff();
375 winToImage->Update();
376 }
377 else {
378 winToImage->SetInputBufferTypeToRGBA();
379 }
380
381 imWriter->SetFileName((path + "." + format).c_str());
382 imWriter->SetInputConnection(winToImage->GetOutputPort());
383 imWriter->Write();
384}
385
386void G4VtkViewer::ExportOBJScene(G4String path)
387{

Callers 1

SetNewValueMethod · 0.80

Calls 5

RenderMethod · 0.80
c_strMethod · 0.80
UpdateMethod · 0.45
SetFileNameMethod · 0.45
WriteMethod · 0.45

Tested by

no test coverage detected