fix: had to chagne to pointers for the virtual function to override properly
This commit is contained in:
parent
ef1c78e0a5
commit
b83f49b4ad
|
|
@ -57,7 +57,7 @@ void LGlyphLayer::spoofPoints() {
|
|||
|
||||
// returns new coords for a point; used to test the updateData function
|
||||
std::pair<double, double> advect(int time, double lat, double lon) {
|
||||
return {lat+1, lon+1} ;
|
||||
return {lat+0.001, lon+0.001} ;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,4 @@ vtkSmartPointer<vtkRenderer> Layer::getLayer() {
|
|||
}
|
||||
|
||||
void Layer::updateData(int t) {
|
||||
cout << "wrong function dimwit" << endl;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,10 +16,8 @@ void Program::setWinProperties() {
|
|||
}
|
||||
|
||||
void Program::CallbackFunction(vtkObject* caller, long unsigned int eventId, void* clientData, void* callData) {
|
||||
cout << "timed" << endl;
|
||||
((Program *)clientData)->lagrange.updateData(1);
|
||||
//FIXME: from what i understand this should call the (overriden) updateData function in LGlyphLayer. It's not - and calls the virtual(?) updateData function in Layer instead, for some reason.
|
||||
//Im too tired to comprehend this right now.
|
||||
((Program *)clientData)->lagrange->updateData(1);
|
||||
((Program *)clientData)->win->Render();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -32,7 +30,7 @@ void Program::setupTimer() {
|
|||
}
|
||||
|
||||
|
||||
Program::Program(Layer *bg, Layer *e, Layer *l) : background(*bg), euler(*e), lagrange(*l), win(), interact() {
|
||||
Program::Program(Layer *bg, Layer *e, Layer *l) : background(bg), euler(e), lagrange(l), win(), interact() {
|
||||
this->win = vtkSmartPointer<vtkRenderWindow>::New();
|
||||
this->interact = vtkSmartPointer<vtkRenderWindowInteractor>::New();
|
||||
|
||||
|
|
@ -45,25 +43,25 @@ Program::Program(Layer *bg, Layer *e, Layer *l) : background(*bg), euler(*e), la
|
|||
}
|
||||
|
||||
|
||||
void Program::setBackground(Layer bg) {
|
||||
this->win->RemoveRenderer(this->background.getLayer());
|
||||
void Program::setBackground(Layer *bg) {
|
||||
this->win->RemoveRenderer(this->background->getLayer());
|
||||
this->background = bg;
|
||||
this->win->AddRenderer(bg.getLayer());
|
||||
this->win->AddRenderer(bg->getLayer());
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Program::setEuler(Layer e) {
|
||||
this->win->RemoveRenderer(this->euler.getLayer());
|
||||
void Program::setEuler(Layer *e) {
|
||||
this->win->RemoveRenderer(this->euler->getLayer());
|
||||
this->euler = e;
|
||||
this->win->AddRenderer(e.getLayer());
|
||||
this->win->AddRenderer(e->getLayer());
|
||||
}
|
||||
|
||||
|
||||
void Program::setLagrange(Layer l) {
|
||||
this->win->RemoveRenderer(this->lagrange.getLayer());
|
||||
void Program::setLagrange(Layer *l) {
|
||||
this->win->RemoveRenderer(this->lagrange->getLayer());
|
||||
this->lagrange = l;
|
||||
this->win->AddRenderer(l.getLayer());
|
||||
this->win->AddRenderer(l->getLayer());
|
||||
}
|
||||
|
||||
// void Program::addInteractionStyle(vtkInteractorStyle style);
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@
|
|||
|
||||
class Program {
|
||||
private:
|
||||
Layer background;
|
||||
Layer euler;
|
||||
Layer lagrange;
|
||||
Layer *background;
|
||||
Layer *euler;
|
||||
Layer *lagrange;
|
||||
vtkSmartPointer<vtkRenderWindow> win;
|
||||
vtkSmartPointer<vtkRenderWindowInteractor> interact;
|
||||
|
||||
|
|
@ -22,9 +22,9 @@ private:
|
|||
public:
|
||||
Program(Layer *bg, Layer *e, Layer *l);
|
||||
|
||||
void setBackground(Layer bg);
|
||||
void setEuler(Layer e);
|
||||
void setLagrange(Layer l);
|
||||
void setBackground(Layer *bg);
|
||||
void setEuler(Layer *e);
|
||||
void setLagrange(Layer *l);
|
||||
|
||||
// void addInteractionStyle(vtkInteractorStyle style);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue