#include "PlaneDirectionViewer.h" /******************************************************************************************** ** Start of data viewmanagerData *********************************************************************************************/ PlaneDirectionViewer* PlaneDirectionViewer::instance=NULL; PlaneDirectionViewer::PlaneDirectionViewer(wxWindow* parent,int radio, double colour[3], int opacity) :wxPanel(parent) { manager = new PlaneDirectionManager(radio, colour, opacity); wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL); this->SetSizer(sizer); this->SetAutoLayout(true); } PlaneDirectionViewer* PlaneDirectionViewer::getInstance(wxWindow* parent,int radio, double colour[3], int opacity){ if(instance==NULL){ instance = new PlaneDirectionViewer(parent,radio,colour,opacity); } return instance; } PlaneDirectionViewer* PlaneDirectionViewer::getInstance(){ return instance; } PlaneDirectionViewer::~PlaneDirectionViewer(){ delete manager; } void PlaneDirectionViewer::SetRenderer(vtkRenderer* render){ manager->SetRenderer(render); } void PlaneDirectionViewer::SetVectors( std::vector lstPointsx, std::vector lstPointsy, std::vector lstPointsz){ manager->SetVectors(lstPointsx,lstPointsy,lstPointsz); } void PlaneDirectionViewer::UpdateDirections() throw (std::exception){ manager->UpdateDirections(); std::vector vectdata = manager->GetPlanesData(); for(int i = 0; i < viewdata.size();i++){ this->GetSizer()->Remove(i); viewdata[i]->Destroy(); } viewdata.clear(); for(int i = 0; i < vectdata.size(); i++){ PlaneDirectionViewerPanel* planedirview = new PlaneDirectionViewerPanel(this, vectdata[i],i); viewdata.push_back(planedirview); this->GetSizer()->Add(planedirview,1); } this->Layout(); } void PlaneDirectionViewer::addRemoveActor(int index, bool addremove){ manager->addRemoveActor(index, addremove); } void PlaneDirectionViewer::changeColor(int index,double r,double g,double b){ manager->changeColor(index, r,g,b); } void PlaneDirectionViewer::WriteInformation(std::string filename, double* spc){ manager->WriteInformation(filename,spc); } void PlaneDirectionViewer::SetArrowSize(int arrowsize){ manager->SetArrowSize(arrowsize); }