Merge branch 'djairo-vtk-pause' into djairo-vtk-camera
This commit is contained in:
@@ -50,8 +50,7 @@ void SpawnPointCallback::Execute(vtkObject *caller, unsigned long evId, void *ca
|
||||
vtkSmartPointer<vtkCellArray> vertices = vtkSmartPointer<vtkCellArray>::New();
|
||||
vertices->InsertNextCell(vertex);
|
||||
data->SetVerts(vertices);
|
||||
// data->Modified(); // These might be needed im not sure.
|
||||
// ren->GetRenderWindow()->Render();
|
||||
ren->GetRenderWindow()->Render();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,10 +8,16 @@ TimerCallbackCommand::TimerCallbackCommand() : dt(3600), maxTime(3600*24*365), t
|
||||
TimerCallbackCommand* TimerCallbackCommand::New(Program *program) {
|
||||
TimerCallbackCommand *cb = new TimerCallbackCommand();
|
||||
cb->setProgram(program);
|
||||
cb->setPaused(false);
|
||||
return cb;
|
||||
}
|
||||
|
||||
void TimerCallbackCommand::Execute(vtkObject* caller, unsigned long eventId, void* vtkNotUsed(callData)) {
|
||||
auto intr = reinterpret_cast<vtkRenderWindowInteractor *>(caller);
|
||||
|
||||
if (eventId == vtkCommand::KeyPressEvent and not strcmp("space", intr->GetKeySym())) {
|
||||
this->paused = ! this->paused;
|
||||
} else if (eventId == vtkCommand::TimerEvent and not this->paused) {
|
||||
this->time += this->dt;
|
||||
|
||||
if (this->time >= this->maxTime) {
|
||||
@@ -20,9 +26,15 @@ void TimerCallbackCommand::Execute(vtkObject* caller, unsigned long eventId, voi
|
||||
}
|
||||
|
||||
this->program->updateData(this->time);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void TimerCallbackCommand::setProgram(Program *program) {
|
||||
this->program = program;
|
||||
}
|
||||
|
||||
|
||||
void TimerCallbackCommand::setPaused(const bool val) {
|
||||
this->paused = val;
|
||||
}
|
||||
|
||||
@@ -11,11 +11,13 @@ public:
|
||||
void Execute(vtkObject* caller, unsigned long eventId, void* vtkNotUsed(callData)) override;
|
||||
|
||||
void setProgram(Program *program);
|
||||
void setPaused(const bool val);
|
||||
|
||||
private:
|
||||
int time;
|
||||
int dt;
|
||||
int maxTime;
|
||||
bool paused;
|
||||
Program *program;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user