Skip to content
Snippets Groups Projects
Commit e7ddb497 authored by Andrew Maclean's avatar Andrew Maclean
Browse files

Fixing TransientHDFReader for VisualStudio

parent 23f0ee78
No related branches found
No related tags found
No related merge requests found
#include <cstdlib>
#include <vtkCallbackCommand.h>
#include <vtkCommand.h>
#include <vtkDiscretizableColorTransferFunction.h>
......@@ -16,13 +15,16 @@
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <cstdlib>
namespace {
vtkNew<vtkDiscretizableColorTransferFunction> GetCTF();
void Animate(vtkObject* caller, unsigned long eid, void* clientdata,
void* calldata);
} // namespace
int main(int ac, char** av)
int main(int ac, char* av[])
{
if (ac != 2)
{
......@@ -37,7 +39,7 @@ int main(int ac, char** av)
vtkNew<vtkHDFReader> reader;
reader->SetFileName(av[1]);
reader->Update();
std::cout << "number of steps: " << reader->GetNumberOfSteps() << endl;
std::cout << "Number of steps: " << reader->GetNumberOfSteps() << endl;
auto polydata = vtkPolyData::SafeDownCast(reader->GetOutput());
// Render the dataset.
......@@ -61,14 +63,15 @@ int main(int ac, char** av)
renWin->SetSize(1024, 512);
renWin->Render();
// Add the interactor.
vtkNew<vtkRenderWindowInteractor> iren;
iren->SetRenderWindow(renWin);
// Add the animation callback.
vtkNew<vtkCallbackCommand> command;
command->SetCallback(&Animate);
command->SetClientData(reader);
// Add the interactor.
vtkNew<vtkRenderWindowInteractor> iren;
iren->SetRenderWindow(renWin);
iren->AddObserver(vtkCommand::TimerEvent, command);
iren->CreateRepeatingTimer(50);
......
......@@ -35,7 +35,7 @@ def main():
reader = vtkHDFReader()
reader.SetFileName(fn)
reader.Update()
print('number of steps: ', reader.GetNumberOfSteps())
print('Number of steps: ', reader.GetNumberOfSteps())
polydata = reader.GetOutput()
# Render the dataset
......@@ -63,6 +63,7 @@ def main():
iren = vtkRenderWindowInteractor()
iren.SetRenderWindow(ren_win)
iren.CreateRepeatingTimer(50)
# Add the animation callback
observer = AnimationObserver(iren, reader)
iren.AddObserver('TimerEvent', observer)
......@@ -137,8 +138,8 @@ class AnimationObserver(object):
self.reader = reader
def __call__(self, caller, ev):
x = 0 if (self.reader.GetStep() == self.reader.GetNumberOfSteps() - 1) else self.reader.GetStep() + 1
self.reader.SetStep(x)
step = 0 if (self.reader.GetStep() == self.reader.GetNumberOfSteps() - 1) else self.reader.GetStep() + 1
self.reader.SetStep(step)
print('Current step: ', self.reader.GetStep())
self.reader.Update()
self.interactor.Render()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment