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


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

本文整理汇总了C++中trianglegeom::Pointer::readGeometryFromHDF5方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::readGeometryFromHDF5方法的具体用法?C++ Pointer::readGeometryFromHDF5怎么用?C++ Pointer::readGeometryFromHDF5使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在trianglegeom::Pointer的用法示例。


在下文中一共展示了Pointer::readGeometryFromHDF5方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: gSentinel

// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
int DataContainer::readMeshDataFromHDF5(hid_t dcGid, bool preflight)
{
  herr_t err = 0;
  unsigned int geometryType = DREAM3D::GeometryType::UnknownGeometry;

  err = QH5Lite::readScalarAttribute(dcGid, DREAM3D::Geometry::Geometry, DREAM3D::Geometry::GeometryType, geometryType);
  if (err < 0)
  {
    return err;
  }

  hid_t geometryId = H5Gopen(dcGid, DREAM3D::Geometry::Geometry.toLatin1().data(), H5P_DEFAULT);
  if (geometryId < 0)
  {
    return -1;
  }
  HDF5ScopedGroupSentinel gSentinel(&geometryId, false);

  IGeometry::Pointer geomPtr = IGeometry::NullPointer();

  if (NULL == m_Geometry.get())
  {
    switch(geometryType)
    {
      case DREAM3D::GeometryType::ImageGeometry:
      {
        ImageGeom::Pointer image = ImageGeom::New();
        err = image->readGeometryFromHDF5(geometryId, preflight);
        err = GeometryHelpers::GeomIO::ReadMetaDataFromHDF5(dcGid, image);
        setGeometry(image);
        break;
      }
      case DREAM3D::GeometryType::VertexGeometry:
      {
        VertexGeom::Pointer vertices = VertexGeom::New();
        err = vertices->readGeometryFromHDF5(geometryId, preflight);
        err = GeometryHelpers::GeomIO::ReadMetaDataFromHDF5(dcGid, vertices);
        setGeometry(vertices);
        break;
      }
      case DREAM3D::GeometryType::EdgeGeometry:
      {
        EdgeGeom::Pointer edges = EdgeGeom::New();
        err = edges->readGeometryFromHDF5(geometryId, preflight);
        err = GeometryHelpers::GeomIO::ReadMetaDataFromHDF5(dcGid, edges);
        setGeometry(edges);
        break;
      }
      case DREAM3D::GeometryType::TriangleGeometry:
      {
        TriangleGeom::Pointer triangles = TriangleGeom::New();
        err = triangles->readGeometryFromHDF5(geometryId, preflight);
        err = GeometryHelpers::GeomIO::ReadMetaDataFromHDF5(dcGid, triangles);
        setGeometry(triangles);
        break;
      }
      case DREAM3D::GeometryType::QuadGeometry:
      {
        QuadGeom::Pointer quads = QuadGeom::New();
        err = quads->readGeometryFromHDF5(geometryId, preflight);
        err = GeometryHelpers::GeomIO::ReadMetaDataFromHDF5(dcGid, quads);
        setGeometry(quads);
        break;
      }
      case DREAM3D::GeometryType::UnknownGeometry:
        setGeometry(geomPtr);
        break;
      default:
        setGeometry(geomPtr);
        break;
    }
  }

  return err;
}
开发者ID:ravishivaraman,项目名称:DREAM3D,代码行数:78,代码来源:DataContainer.cpp


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