当前位置: 首页>>代码示例>>C++>>正文


C++ Pointer::getAllDataArrayPaths方法代码示例

本文整理汇总了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;
}
开发者ID:BlueQuartzSoftware,项目名称:SIMPL,代码行数:61,代码来源:DataContainerBundle.cpp


注:本文中的datacontainer::Pointer::getAllDataArrayPaths方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。