本文整理汇总了C++中FactoryResource::setClassification方法的典型用法代码示例。如果您正苦于以下问题:C++ FactoryResource::setClassification方法的具体用法?C++ FactoryResource::setClassification怎么用?C++ FactoryResource::setClassification使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FactoryResource
的用法示例。
在下文中一共展示了FactoryResource::setClassification方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: plotProfile
//.........这里部分代码省略.........
{
if (pXUnits == NULL)
{
pXUnits = pUnits;
xData = dv_cast<std::vector<double> >(pSignature->getData(*dataName), std::vector<double>());
}
}
else if (pYUnits == NULL)
{
pYUnits = pUnits;
yData = dv_cast<std::vector<double> >(pSignature->getData(*dataName), std::vector<double>());
}
}
if (xData.empty() || xData.size() != yData.size())
{
QMessageBox::warning(Service<DesktopServices>()->getMainWidget(),
"Invalid signature", QString("Signatures must have a distance axis. '%1' does not and will not be plotted.")
.arg(QString::fromStdString(pSignature->getName())));
return false;
}
std::map<Signature*, std::string>::iterator oldPointSet = mSigPointSets.find(pSignature);
PointSet* pSet = getPointSet(pSignature);
if (pSet != NULL)
{
pSet->clear(true);
}
std::list<PlotObject*> curObjects;
mpView->getObjects(POINT_SET, curObjects);
if (pSet == NULL)
{
std::vector<ColorType> excluded;
excluded.push_back(ColorType(255, 255, 255)); // background
excluded.push_back(ColorType(200, 0, 0)); // color for the difference plot
for (std::list<PlotObject*>::const_iterator cur = curObjects.begin(); cur != curObjects.end(); ++cur)
{
excluded.push_back(static_cast<PointSet*>(*cur)->getLineColor());
}
pSet = static_cast<PointSet*>(mpView->addObject(POINT_SET, true));
mSigPointSets[pSignature] = plotName;
pSignature->attach(SIGNAL_NAME(Subject, Deleted), Slot(this, &RangeProfilePlotManager::signatureDeleted));
pSignature->getDataDescriptor()->attach(SIGNAL_NAME(DataDescriptor, Renamed),
Slot(this, &RangeProfilePlotManager::signatureRenamed));
std::vector<ColorType> colors;
ColorType::getUniqueColors(1, colors, excluded);
if (!colors.empty())
{
pSet->setLineColor(colors.front());
}
}
pSet->setObjectName(plotName);
for (size_t idx = 0; idx < xData.size(); ++idx)
{
pSet->addPoint(xData[idx], yData[idx]);
}
VERIFY(mpPlot);
Axis* pBottom = mpPlot->getAxis(AXIS_BOTTOM);
Axis* pLeft = mpPlot->getAxis(AXIS_LEFT);
VERIFYRV(pBottom && pLeft, NULL);
if (pBottom->getTitle().empty())
{
pBottom->setTitle(pXUnits->getUnitName());
}
if (pLeft->getTitle().empty())
{
pLeft->setTitle(pYUnits->getUnitName());
}
else if (pLeft->getTitle() != pYUnits->getUnitName())
{
Axis* pRight = mpPlot->getAxis(AXIS_RIGHT);
VERIFYRV(pRight, NULL);
if (pRight->getTitle().empty())
{
pRight->setTitle(pYUnits->getUnitName());
}
}
std::string classificationText = dv_cast<std::string>(pSignature->getMetadata()->getAttribute("Raw Classification"),
mpPlot->getClassificationText());
if (classificationText.empty() == false)
{
FactoryResource<Classification> pClassification;
if (pClassification->setClassification(classificationText) == true)
{
mpPlot->setClassification(pClassification.get());
}
else
{
QMessageBox::warning(Service<DesktopServices>()->getMainWidget(), QString::fromStdString(getName()),
"The plot could not be updated with the signature classification. Please ensure that the plot "
"has the proper classification.");
}
}
getDockWindow()->show();
mpView->zoomExtents();
mpView->refresh();
return true;
}