MCPcopy Create free account
hub / github.com/Kitware/VTK / SLACParticleReader

Function SLACParticleReader

IO/NetCDF/Testing/Cxx/SLACParticleReader.cxx:29–117  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27#include <iostream>
28
29int SLACParticleReader(int argc, char* argv[])
30{
31 char* directoryName = vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/SLAC/pic-example/");
32 const std::string directory = directoryName;
33 delete[] directoryName;
34 const std::string meshFileName = directory + "mesh.ncdf";
35 const std::string particleFileName = directory + "particles_5.ncdf";
36
37 // Set up mesh reader.
38 VTK_CREATE(vtkSLACReader, meshReader);
39 meshReader->SetMeshFileName(meshFileName.c_str());
40
41 for (int i = 0; i < 9; i++)
42 {
43 auto modeFileName = vtk::format("{:s}fields_{:d}.mod", directory, i);
44 meshReader->AddModeFileName(modeFileName.c_str());
45 }
46
47 meshReader->ReadInternalVolumeOn();
48 meshReader->ReadExternalSurfaceOff();
49 meshReader->ReadMidpointsOff();
50
51 // Extract geometry that we can render.
52 VTK_CREATE(vtkCompositeDataGeometryFilter, geometry);
53 geometry->SetInputConnection(meshReader->GetOutputPort(vtkSLACReader::VOLUME_OUTPUT));
54
55 // Set up particle reader.
56 VTK_CREATE(vtkSLACParticleReader, particleReader);
57 particleReader->SetFileName(particleFileName.c_str());
58
59 // Set up rendering stuff.
60 VTK_CREATE(vtkPolyDataMapper, meshMapper);
61 meshMapper->SetInputConnection(geometry->GetOutputPort());
62 meshMapper->SetScalarModeToUsePointFieldData();
63 meshMapper->ColorByArrayComponent("efield", 2);
64 meshMapper->UseLookupTableScalarRangeOff();
65 meshMapper->SetScalarRange(1.0, 1e+05);
66
67 VTK_CREATE(vtkLookupTable, lut);
68 lut->SetHueRange(0.66667, 0.0);
69 lut->SetScaleToLog10();
70 meshMapper->SetLookupTable(lut);
71
72 VTK_CREATE(vtkActor, meshActor);
73 meshActor->SetMapper(meshMapper);
74 meshActor->GetProperty()->FrontfaceCullingOn();
75
76 VTK_CREATE(vtkPolyDataMapper, particleMapper);
77 particleMapper->SetInputConnection(particleReader->GetOutputPort());
78 particleMapper->ScalarVisibilityOff();
79
80 VTK_CREATE(vtkActor, particleActor);
81 particleActor->SetMapper(particleMapper);
82
83 VTK_CREATE(vtkRenderer, renderer);
84 renderer->AddActor(meshActor);
85 renderer->AddActor(particleActor);
86 vtkCamera* camera = renderer->GetActiveCamera();

Callers

nothing calls this directly

Calls 15

vtkRegressionTestImageFunction · 0.85
AddModeFileNameMethod · 0.80
GetActiveCameraMethod · 0.80
SetViewUpMethod · 0.80
RenderMethod · 0.65
formatFunction · 0.50
c_strMethod · 0.45
SetInputConnectionMethod · 0.45
GetOutputPortMethod · 0.45
SetFileNameMethod · 0.45
ColorByArrayComponentMethod · 0.45
SetScalarRangeMethod · 0.45

Tested by

no test coverage detected