#pragma once #include #include "Part.h" //#include "../job/JobController.h" class BPData { public: BPData(); ~BPData(); //BPData(FileProcessor* jfp); //void SetJob(FileProcessor* jfp); //bool GetLayerData(unsigned int layer); //bool GetPrevLayerData(unsigned int layer); bool GetJobData(void) { return false; } std::map* GetPartMap(void) { return &m_PartMap; } //FileProcessor* GetJobFileProcessor(void) { return m_jfp; } int GetCurrentLayer(void) { return m_CurrentLayer; } //void UpdateCurrentLayerParts(bool reload=false); int Pick(const vl::Actor* actor, double xpos, double ypos); int GetSelected(void) { return m_Selected; } int SetSelected(int sel) { if (sel == m_Selected) return m_Selected; map::iterator it = m_PartMap.find(sel); if (it == m_PartMap.end())return -1; if (m_Selected != -1) m_PartMap[m_Selected]->SetSelected(false); m_Selected = sel; m_PartMap[m_Selected]->SetSelected(true); return m_Selected; } void Diselected(void) { map::iterator it = m_PartMap.find(m_Selected); if (m_Selected != -1 && it != m_PartMap.end()) { m_PartMap[m_Selected]->SetSelected(false); m_Selected = -1; } } Part* GetSelectedPart(void); string& GetJobID(void) { return m_JobID; } Part* GetPart(unsigned int index); //Part* AddPart(MetaData::Part* part); //void DelPart(MetaData::Part* part); private: //FileProcessor* m_jfp; int m_Selected; //std::vector m_Parts; map m_PartMap; int m_CurrentLayer; string m_JobID; };