本文整理汇总了C++中datacontainer::Pointer::getAllDataArrayPaths方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::getAllDataArrayPaths方法的具体用法?C++ Pointer::getAllDataArrayPaths怎么用?C++ Pointer::getAllDataArrayPaths使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类datacontainer::Pointer
的用法示例。
在下文中一共展示了Pointer::getAllDataArrayPaths方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: foreach
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
QVector<DataArrayPath> DataContainerBundle::findCommonDataArrayPaths(bool filterMetaData)
{
QVector<DataArrayPath> commonPaths;
if(m_DataContainers.count() == 0)
{
return commonPaths;
}
// Get the first DataContainer
DataContainer::Pointer dc0 = m_DataContainers[0];
if(NULL == dc0.get())
{
return commonPaths;
}
QVector<DataArrayPath> dc0Paths = dc0->getAllDataArrayPaths();
if(m_DataContainers.count() == 1)
{
return commonPaths;
}
int count = m_DataContainers.count();
// We already have the first DataContainer, so start at the 2nd
for (int dcIdx = 1; dcIdx < count; ++dcIdx)
{
DataContainer::Pointer dcX = m_DataContainers[dcIdx];
QVector<DataArrayPath> paths = dcX->getAllDataArrayPaths();
int numPaths = dc0Paths.count();
// Loop over the paths from the first data container from back to front,
// removing the path if it does not exist.
for(int i = numPaths - 1; i >= 0; i--)
{
DataArrayPath dc0Path = dc0Paths[i];
bool match = false;
foreach(DataArrayPath path, paths)
{
//qDebug() << "Comparing " << dc0Path.serialize() << " TO " << path.serialize();
if(path.hasSameAttributeMatrix(dc0Path) && path.hasSameDataArray(dc0Path) )
{
match = true;
}
if(filterMetaData == true && (path.getAttributeMatrixName() == DREAM3D::StringConstants::MetaData) )
{
match = false;
}
}
if(!match)
{
dc0Paths.remove(i);
}
}
}
commonPaths = dc0Paths;
return commonPaths;
}