2024-05-11 17:43:38 +08:00

59 lines
1.5 KiB
C++

#pragma once
#include <vector>
#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<int, Part*>* 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<int, Part*>::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<int, Part*>::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<Part *> m_Parts;
map<int, Part*> m_PartMap;
int m_CurrentLayer;
string m_JobID;
};