| | |
| | | |
| | | CGlass::~CGlass() |
| | | { |
| | | |
| | | reset(); |
| | | } |
| | | |
| | | void CGlass::reset() |
| | |
| | | |
| | | if (m_pBuddy != nullptr) { |
| | | m_pBuddy->release(); |
| | | m_pBuddy = nullptr; |
| | | } |
| | | } |
| | | |
| | |
| | | return strText; |
| | | } |
| | | |
| | | MaterialsType CGlass::getType() |
| | | MaterialsType CGlass::getType() const |
| | | { |
| | | return m_type; |
| | | } |
| | |
| | | m_strID = pszID; |
| | | } |
| | | |
| | | std::string& CGlass::getID() |
| | | const std::string& CGlass::getID() const |
| | | { |
| | | return m_strID; |
| | | } |
| | |
| | | return m_pPath; |
| | | } |
| | | |
| | | CPath* CGlass::getPathWithEq(unsigned int nEqId, unsigned int nUnit) |
| | | std::string CGlass::getPathDescription() const |
| | | { |
| | | std::string strOut, strPath; |
| | | char szBuffer[256]; |
| | | |
| | | CPath* pTemp = m_pPath; |
| | | while (pTemp != nullptr) { |
| | | pTemp->getSimpleDescription(strPath); |
| | | if (strPath.compare("ARM1") != 0 && strPath.compare("ARM2") != 0) { |
| | | if (!strOut.empty()) strOut.append(" -> "); |
| | | strOut.append(strPath); |
| | | } |
| | | |
| | | pTemp = pTemp->getNext(); |
| | | } |
| | | |
| | | return strOut; |
| | | } |
| | | |
| | | CPath* CGlass::getPathWithEq(unsigned int nEqId, unsigned int nUnit) const |
| | | { |
| | | CPath* pTemp = m_pPath; |
| | | while (pTemp != nullptr) { |
| | |
| | | return nullptr; |
| | | } |
| | | |
| | | void CGlass::addPath(unsigned int nEqId, unsigned int nUnit) |
| | | void CGlass::addPath(unsigned int nEqId, unsigned int nUnit, unsigned int slot) |
| | | { |
| | | CPath* pPath = new CPath(nEqId, nUnit); |
| | | CPath* pPath = new CPath(nEqId, nUnit, slot); |
| | | if (m_pPath == nullptr) { |
| | | m_pPath = pPath; |
| | | } |
| | |
| | | return m_pBuddy; |
| | | } |
| | | |
| | | std::string& CGlass::getBuddyId() |
| | | const std::string& CGlass::getBuddyId() const |
| | | { |
| | | return m_strBuddyId; |
| | | } |
| | | |
| | | void CGlass::setBuddyId(std::string& strId) |
| | | { |
| | | m_strBuddyId = strId; |
| | | } |
| | | |
| | | int CGlass::processEnd(unsigned int nEqId, unsigned int nUnit) |
| | |
| | | return 0; |
| | | } |
| | | |
| | | InspResult CGlass::getInspResult(unsigned int nEqId, unsigned int nUnit) |
| | | InspResult CGlass::getInspResult(unsigned int nEqId, unsigned int nUnit) const |
| | | { |
| | | CPath* pPath = getPathWithEq(nEqId, nUnit); |
| | | if (pPath == nullptr) return InspResult::NotInspected; |
| | | |
| | | return pPath->getInspResult(); |
| | | } |
| | | |
| | | InspResult CGlass::getAOIInspResult() const |
| | | { |
| | | return getInspResult(EQ_ID_MEASUREMENT, 0); |
| | | } |
| | | |
| | | std::string CGlass::getStateText() |
| | |
| | | |
| | | void CGlass::markStart() |
| | | { |
| | | m_state = GlsState::InProcess; |
| | | m_tStart = std::chrono::system_clock::now(); |
| | | } |
| | | |
| | | void CGlass::markEnd() |
| | | { |
| | | m_state = GlsState::Completed; |
| | | m_tEnd = std::chrono::system_clock::now(); |
| | | } |
| | | |
| | | void CGlass::addParams(std::vector<CParam>& params) |
| | | { |
| | | m_params.insert(m_params.end(), params.begin(), params.end()); |
| | | } |
| | | |
| | | std::vector<CParam>& CGlass::getParams() |
| | | { |
| | | return m_params; |
| | | } |
| | | |
| | | std::string CGlass::getParamsDescription() const |
| | | { |
| | | std::string strOut; |
| | | |
| | | char szBuffer[256]; |
| | | for (auto p : m_params) { |
| | | if (!strOut.empty()) strOut.append(","); |
| | | if (p.getValueType() == PVT_INT) { |
| | | sprintf_s(szBuffer, 256, "%s:%d", p.getName().c_str(), p.getIntValue()); |
| | | } |
| | | else if (p.getValueType() == PVT_DOUBLE) { |
| | | sprintf_s(szBuffer, 256, "%s:%f", p.getName().c_str(), p.getDoubleValue()); |
| | | } |
| | | strOut.append(szBuffer); |
| | | } |
| | | |
| | | return strOut; |
| | | } |
| | | } |