void IDataView::applyData(const IDataPacket* data) { if(data->getDataType() == DT_INPUTIMAGES) { applyData(static_cast<CInputDataSet const*>(data)); } else if(data->getDataType() == DT_FEATURE_MATCH) { applyData(static_cast<CDataFeature const*>(data)); } else if(data->getDataType() == DT_DEPTH) { applyData(static_cast<CDataDepth const*>(data)); } else if(data->getDataType() == DT_POSE) { applyData(static_cast<CDataPose const*>(data)); } #if PCL else if(data->getDataType() == DT_FUSION) { applyData(static_cast<CDataFusion const*>(data)); } #endif }
void Operation::apply() { try { m_errorString = QString(); Q_ASSERT_X(localDataStatus() == ApplyRequired, __FUNCTION__, (m_path + m_dataFilename).toLatin1()); applyData(); Q_ASSERT(localDataStatus() == Valid); m_status = Valid; } catch(const QString &msg) { cleanup(); qCDebug(LOG_OP) << msg; m_errorString = msg; m_status = ApplyFailed; } }