您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ H5Gopen2函数代码示例

51自学网 2021-06-01 21:20:18
  C++
这篇教程C++ H5Gopen2函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中H5Gopen2函数的典型用法代码示例。如果您正苦于以下问题:C++ H5Gopen2函数的具体用法?C++ H5Gopen2怎么用?C++ H5Gopen2使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

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

示例1: check_file

/*------------------------------------------------------------------------- * Function:  check_file * * Purpose:  Part 2 of a two-part H5Fflush() test. * * Return:  Success:  0 * *    Failure:  1 * * Programmer:  Leon Arber *              Sept. 26, 2006. * *------------------------------------------------------------------------- */static intcheck_file(char* filename, hid_t fapl, int flag){    hid_t  file, groups, grp;    char  name[1024];    int    i;    if((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) goto error;    if(check_dset(file, "dset")) goto error;    /* Open some groups */    if((groups = H5Gopen2(file, "some_groups", H5P_DEFAULT)) < 0) goto error;    for(i = 0; i < 100; i++) {  sprintf(name, "grp%02u", (unsigned)i);  if((grp = H5Gopen2(groups, name, H5P_DEFAULT)) < 0) goto error;  if(H5Gclose(grp) < 0) goto error;    } /* end for */    /* Check to see if that last added dataset in the third file is accessible     * (it shouldn't be...but it might.  Flag an error in case it is for now */    if(flag && check_dset(file, "dset2")) goto error;    if(H5Gclose(groups) < 0) goto error;    if(H5Fclose(file) < 0) goto error;    return 0;error:    return 1;} /* end check_file() */
开发者ID:CommonLibrary,项目名称:hdf5,代码行数:44,


示例2: test_groups_with_filters

/*------------------------------------------------------------------------- * Function:	test_groups_with_filters * * Purpose:	Tests opening group with dynamically loaded filters * * Return:	Success:	0 *		Failure:	-1 * * Programmer:	Raymond Lu *              1 April 2013 * *------------------------------------------------------------------------- */static herr_ttest_groups_with_filters(hid_t file){    hid_t	gid, group;    int         i;    char        gname[256];    TESTING("Testing opening groups with DYNLIB3 filter");    /* Open the top group */    if((gid = H5Gopen2(file, "group1", H5P_DEFAULT)) < 0) goto error;    /* Create multiple groups under "group1" */    for (i=0; i < GROUP_ITERATION; i++) {        sprintf(gname, "group_%d", i);        if((group = H5Gopen2(gid, gname, H5P_DEFAULT)) < 0) goto error;        if(H5Gclose(group) < 0) goto error;     }    /* Close the group */    if(H5Gclose(gid) < 0) goto error;    PASSED();    return 0;error:    return -1;}
开发者ID:schwehr,项目名称:hdf5,代码行数:42,


示例3: main

int main(){  hid_t fprop;  hid_t fid;  hid_t vol_id = H5VL_memvol_init();  herr_t status;  hid_t g1, g2;  hid_t plist;  char name[1024];  fprop = H5Pcreate(H5P_FILE_ACCESS);  H5Pset_vol(fprop, vol_id, &fprop);  fid = H5Fcreate("test", H5F_ACC_TRUNC, H5P_DEFAULT, fprop);  H5VLget_plugin_name(fid, name, 1024);  printf ("Using VOL %s/n", name);  g1 = H5Gcreate2(fid, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);  H5Gclose(g1);  g2 = H5Gcreate2(fid, "g2", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);  g1 = H5Gcreate2(g2, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);  H5Gclose(g1);  H5Gclose(g2);  // is this allowed?  //g3 = H5Gcreate2(fid, "g1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);  //H5Gclose(g3);  printf("Testing additional functions/n");  g1 = H5Gopen2(fid, "g1", H5P_DEFAULT );  plist = H5Gget_create_plist(g1);  H5G_info_t group_info;  H5Gget_info(g1, & group_info );  H5Gget_info_by_idx(fid, "g1",  H5_INDEX_CRT_ORDER,  H5_ITER_NATIVE, 0, & group_info, H5P_DEFAULT ) ;  H5Gget_info_by_idx(fid, "g1",  H5_INDEX_NAME,  H5_ITER_NATIVE, 0, & group_info, H5P_DEFAULT ) ;  H5Gget_info_by_name(fid, "g1", & group_info, H5P_DEFAULT);  H5Pclose(plist);  status = H5Gclose(g1);  g1 = H5Gopen2(fid, "g2", H5P_DEFAULT );  H5Gclose(g1);  //g1 = H5Gopen2(fid, "INVALID", H5P_DEFAULT );  //H5Gclose(g1);  g1 =  H5Gcreate_anon( fid, H5P_DEFAULT, H5P_DEFAULT );  H5Gclose(g1);  H5Fclose(fid);  H5VL_memvol_finalize();  printf("Status: %d/n", status);  return 0;}
开发者ID:ESiWACE,项目名称:ESD-Middleware,代码行数:58,


示例4: H5Gopen2

void pyne::Material::_load_comp_protocol0(hid_t db, std::string datapath, int row) {  hid_t matgroup = H5Gopen2(db, datapath.c_str(), H5P_DEFAULT);  hid_t nucset;  double nucvalue;  ssize_t nuckeylen;  std::string nuckey;  // get the number of members in the material group  H5G_info_t group_info;   H5Gget_info(matgroup, &group_info);  hsize_t matG = group_info.nlinks;  // Iterate over datasets in the group.  for (int matg = 0; matg < matG; matg++) {    nuckeylen = 1 + H5Lget_name_by_idx(matgroup, ".", H5_INDEX_NAME, H5_ITER_INC, matg,                                         NULL, 0, H5P_DEFAULT);    char * nkey = new char[nuckeylen];    nuckeylen = H5Lget_name_by_idx(matgroup, ".", H5_INDEX_NAME, H5_ITER_INC, matg,                                     nkey, nuckeylen, H5P_DEFAULT);    nuckey = nkey;    nucset = H5Dopen2(matgroup, nkey, H5P_DEFAULT);    nucvalue = h5wrap::get_array_index<double>(nucset, row);    if (nuckey == "Mass" || nuckey == "MASS" || nuckey == "mass")      mass = nucvalue;    else      comp[pyne::nucname::id(nuckey)] = nucvalue;    H5Dclose(nucset);    delete[] nkey;  };  // Set meta data  atoms_per_molecule = -1.0;};
开发者ID:crbates,项目名称:pyne,代码行数:35,


示例5: scan_for_max_id

static intscan_for_max_id( FileHandle* file_ptr, mhdf_Status* status ){  hid_t group_id;  herr_t rval;      /* Check for new format, with max_id as attrib of root group */#if defined(H5Gopen_vers) && H5Gopen_vers > 1    group_id = H5Gopen2( file_ptr->hdf_handle, ROOT_GROUP, H5P_DEFAULT );#else  group_id = H5Gopen( file_ptr->hdf_handle, ROOT_GROUP );#endif  if (group_id < 0)  {    mhdf_setFail( status, "Internal error - invalid file.");    return 0;  }  if (mhdf_read_scalar_attrib( group_id, MAX_ID_ATTRIB,                               H5T_NATIVE_ULONG, &file_ptr->max_id,                               status ))  {    H5Gclose( group_id );    return 1;  }      /* Didn't find it, scan the elements group */  rval = H5Giterate( group_id, ELEMENT_GROUP_NAME, 0, &max_id_iter, &file_ptr->max_id );  if (rval)  {    H5Gclose( group_id );    mhdf_setFail( status, "Internal error -- invalid file." );    return 0;  }      /* Check node table too */  rval = get_max_id( group_id, NODE_GROUP_NAME, "coordinates", (unsigned long*)(&file_ptr->max_id) );  if (rval)  {    H5Gclose( group_id );    mhdf_setFail( status, "Internal error -- invalid file." );    return 0;  }      /* Check set table, if it exists */  rval = mhdf_is_in_group( group_id, SET_GROUP_NAME, status );  if (rval < 1)  {    H5Gclose( group_id );    return !rval;  }  rval = get_max_id( group_id, SET_GROUP_NAME, SET_META_NAME, (unsigned long*)(&file_ptr->max_id) );  H5Gclose( group_id );  if (rval)  {    mhdf_setFail( status, "Internal error -- invalid file." );    return 0;  }  return 1;}    
开发者ID:chrismullins,项目名称:moab,代码行数:60,


示例6: PetscViewerHDF5OpenGroup

PetscErrorCode PetscViewerHDF5OpenGroup(PetscViewer viewer, hid_t *fileId, hid_t *groupId){  hid_t          file_id, group;  const char     *groupName = NULL;  PetscErrorCode ierr;  PetscFunctionBegin;  ierr = PetscViewerHDF5GetFileId(viewer, &file_id);CHKERRQ(ierr);  ierr = PetscViewerHDF5GetGroup(viewer, &groupName);CHKERRQ(ierr);  /* Open group */  if (groupName) {    PetscBool root;    ierr = PetscStrcmp(groupName, "/", &root);CHKERRQ(ierr);    if (!root && !H5Lexists(file_id, groupName, H5P_DEFAULT)) {#if (H5_VERS_MAJOR * 10000 + H5_VERS_MINOR * 100 + H5_VERS_RELEASE >= 10800)      group = H5Gcreate2(file_id, groupName, 0, H5P_DEFAULT, H5P_DEFAULT);#else /* deprecated HDF5 1.6 API */      group = H5Gcreate(file_id, groupName, 0);#endif      if (group < 0) SETERRQ1(PETSC_COMM_SELF, PETSC_ERR_LIB, "Could not create group %s", groupName);      ierr = H5Gclose(group);CHKERRQ(ierr);    }#if (H5_VERS_MAJOR * 10000 + H5_VERS_MINOR * 100 + H5_VERS_RELEASE >= 10800)    group = H5Gopen2(file_id, groupName, H5P_DEFAULT);#else    group = H5Gopen(file_id, groupName);#endif    if (group < 0) SETERRQ1(PETSC_COMM_SELF, PETSC_ERR_LIB, "Could not open group %s", groupName);  } else group = file_id;  *fileId  = file_id;  *groupId = group;  PetscFunctionReturn(0);}
开发者ID:feelpp,项目名称:debian-petsc,代码行数:35,


示例7: soft_link_example

static void soft_link_example(void){    hid_t file_id;    hid_t group_id;    /* Define the link class that we'll use to register "user-defined soft     * links" using the callbacks we defined above.     * A link class can have NULL for any callback except its traverse     * callback.     */    const H5L_class_t UD_soft_class[1] = {{        H5L_LINK_CLASS_T_VERS,      /* Version number for this struct.                                     * This field is always H5L_LINK_CLASS_T_VERS */        (H5L_type_t)UD_SOFT_CLASS,  /* Link class id number. This can be any                                     * value between H5L_TYPE_UD_MIN (64) and                                     * H5L_TYPE_MAX (255). It should be a                                     * value that isn't already being used by                                     * another kind of link. We'll use 65. */        "UD_soft_link",             /* Link class name for debugging  */        NULL,                       /* Creation callback              */        NULL,                       /* Move callback                  */        NULL,                       /* Copy callback                  */        UD_soft_traverse,           /* The actual traversal function  */        NULL,                       /* Deletion callback              */        NULL                        /* Query callback                 */    }};    /* First, create a file and an object within the file for the link to     * point to.     */    file_id = H5Fcreate(SOFT_LINK_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);    group_id = H5Gcreate2(file_id, TARGET_GROUP, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);    H5Gclose(group_id);    /* This is how we create a normal soft link to the group.     */    H5Lcreate_soft(TARGET_GROUP, file_id, SOFT_LINK_NAME, H5P_DEFAULT, H5P_DEFAULT);    /* To do the same thing using a user-defined link, we first have to     * register the link class we defined.     */    H5Lregister(UD_soft_class);    /* Now create a user-defined link.  We give it the path to the group     * as its udata.1     */    H5Lcreate_ud(file_id, UD_SOFT_LINK_NAME, (H5L_type_t)UD_SOFT_CLASS, TARGET_GROUP,                 strlen(TARGET_GROUP) + 1, H5P_DEFAULT, H5P_DEFAULT);    /* We can access the group through the UD soft link like we would through     * a normal soft link. This link will still dangle if the object's     * original name is changed or unlinked.     */    group_id = H5Gopen2(file_id, UD_SOFT_LINK_NAME, H5P_DEFAULT);    /* The group is now open normally.  Don't forget to close it! */    H5Gclose(group_id);    H5Fclose(file_id);}
开发者ID:ngcurrier,项目名称:ProteusCFD,代码行数:60,


示例8: H5Fopen

void SGDSolver<Dtype>::RestoreSolverStateFromHDF5(const string& state_file) {#ifdef USE_HDF5  hid_t file_hid = H5Fopen(state_file.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT);  CHECK_GE(file_hid, 0) << "Couldn't open solver state file " << state_file;  this->iter_ = hdf5_load_int(file_hid, "iter");  if (H5LTfind_dataset(file_hid, "learned_net")) {    string learned_net = hdf5_load_string(file_hid, "learned_net");    this->net_->CopyTrainedLayersFrom(learned_net);  }  this->current_step_ = hdf5_load_int(file_hid, "current_step");  hid_t history_hid = H5Gopen2(file_hid, "history", H5P_DEFAULT);  CHECK_GE(history_hid, 0) << "Error reading history from " << state_file;  int state_history_size = hdf5_get_num_links(history_hid);  CHECK_EQ(state_history_size, history_.size())      << "Incorrect length of history blobs.";  for (int i = 0; i < history_.size(); ++i) {    ostringstream oss;    oss << i;    hdf5_load_nd_dataset<Dtype>(history_hid, oss.str().c_str(), 0,                                kMaxBlobAxes, history_[i].get());  }  H5Gclose(history_hid);  H5Fclose(file_hid);#else  LOG(FATAL) << "RestoreSolverStateFromHDF5 requires hdf5;"             << " compile with USE_HDF5.";#endif  // USE_HDF5}
开发者ID:fossabot,项目名称:caffe,代码行数:28,


示例9: OpenGroup

//-*****************************************************************************H5Node OpenGroup( H5Node& iParent, const std::string& iName ){    ABCA_ASSERT( iParent.isValidObject(),                 "Invalid parent group passed into HDF5Util OpenGroup: "                 << iName << std::endl );    HDF5Hierarchy* h5HPtr = iParent.getH5HPtr();    if ( h5HPtr )    {        hobj_ref_t childRef = h5HPtr->getChildRef( iParent.getRef(), iName );        hid_t childId = H5Rdereference( iParent.getObject(),                                        H5R_OBJECT,                                        &childRef );        return H5Node( childId, childRef, h5HPtr );    }    else    {        hid_t childId = H5Gopen2( iParent.getObject(),                                  iName.c_str(),                                  H5P_DEFAULT );        return H5Node( childId, 0, NULL );    }}
开发者ID:AWhetter,项目名称:alembic,代码行数:28,


示例10: H5Fopen

 int64_t GWriteHDFFile::WriteBlock(std::string BlockName, int type, void *data, int partlen, uint32_t np_write, uint32_t begin) {           herr_t herr;           hid_t handle = H5Fopen(filename.c_str(), H5F_ACC_RDWR, H5P_DEFAULT);           hid_t group = H5Gopen2(handle, g_name[type], H5P_DEFAULT);           if(group < 0)               return group;           hsize_t size[2];           int rank=1;           //Get type           char b_type = get_block_type(BlockName);           hid_t dtype;           if(b_type == 'f') {               size[1] = partlen/sizeof(float);               dtype=H5T_NATIVE_FLOAT;           }else if (b_type == 'i') {               size[1] = partlen/sizeof(int64_t);               //Hopefully this is 64 bits; the HDF5 manual is not clear.               dtype = H5T_NATIVE_LLONG;           }           else{               return -1000;           }           if (size[1] > 1) {                   rank = 2;           }           /* I don't totally understand why the below works (it is not clear to me from the documentation).            * I gleaned it from a posting to the HDF5 mailing list and a related stack overflow thread here:            * http://stackoverflow.com/questions/24883461/hdf5-updating-a-cell-in-a-table-of-integers            * http://lists.hdfgroup.org/pipermail/hdf-forum_lists.hdfgroup.org/2014-July/007966.html            * The important thing seems to be that we have a dataspace for the whole array and create a hyperslab on that dataspace.            * Then we need another dataspace with the size of the stuff we want to write.*/           //Make space in memory for the whole array           //Create a hyperslab that we will write to           size[0] = npart[type];           hid_t full_space_id = H5Screate_simple(rank, size, NULL);           //If this is the first write, create the dataset           if (begin==0) {               H5Dcreate2(group,BlockName.c_str(),dtype, full_space_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);           }           hid_t dset = H5Dopen2(group,BlockName.c_str(),H5P_DEFAULT);           if (dset < 0)               return dset;           size[0] = np_write;           hid_t space_id = H5Screate_simple(rank, size, NULL);           hsize_t begins[2]={begin,0};           //Select the hyperslab of elements we are about to write to           H5Sselect_hyperslab(full_space_id, H5S_SELECT_SET, begins, NULL, size, NULL);           /* Write to the dataset */           herr = H5Dwrite(dset, dtype, space_id, full_space_id, H5P_DEFAULT, data);           H5Dclose(dset);           H5Sclose(space_id);           H5Sclose(full_space_id);           H5Gclose(group);           H5Fclose(handle);           if (herr < 0)               return herr;           return np_write; }
开发者ID:sbird,项目名称:GadgetReader,代码行数:59,


示例11: test_opening_groups_using_plugins

/*------------------------------------------------------------------------- * Function:    test_opening_groups_using_plugins * * Purpose:     Tests opening group with dynamically loaded filters * * Return:      SUCCEED/FAIL * *------------------------------------------------------------------------- */static herr_ttest_opening_groups_using_plugins(hid_t fid){    hid_t       gid = -1;    hid_t       sub_gid = -1;    int         i;    char        subgroup_name[256];    TESTING("opening groups with filter plugin 4");    /* Open the top group */    if ((gid = H5Gopen2(fid, TOP_LEVEL_GROUP_NAME, H5P_DEFAULT)) < 0)        TEST_ERROR;    /* Open all the sub-groups under the top-level group */    for (i = 0; i < N_SUBGROUPS; i++) {        char *sp = subgroup_name;        sp += HDsprintf(subgroup_name, SUBGROUP_PREFIX);        HDsprintf(sp, "%d", i);        if ((sub_gid = H5Gopen2(gid, subgroup_name, H5P_DEFAULT)) < 0)            TEST_ERROR;        if (H5Gclose(sub_gid) < 0)            TEST_ERROR;    }    /* Close the top-level group */    if (H5Gclose(gid) < 0)        TEST_ERROR;    PASSED();    return SUCCEED;error:    /* Clean up objects used for this test */    H5E_BEGIN_TRY {        H5Gclose(gid);        H5Gclose(sub_gid);    } H5E_END_TRY    return FAIL;} /* end test_opening_groups_using_plugins() */
开发者ID:Starlink,项目名称:hdf5,代码行数:53,


示例12: H5Eset_auto2

/**   Traverse the path of an object in HDF5 file, checking existence of   groups in the path and creating them if required.  */hid_t HDF5DataWriter::getDataset(string path){    if (filehandle_ < 0){        return -1;    }    herr_t status = H5Eset_auto2(H5E_DEFAULT, NULL, NULL);    // Create the groups corresponding to this path    string::size_type lastslash = path.find_last_of("/");    vector<string> pathTokens;    moose::tokenize(path, "/", pathTokens);    hid_t prev_id = filehandle_;    hid_t id = -1;    for ( unsigned int ii = 0; ii < pathTokens.size()-1; ++ii ){        // check if object exists        htri_t exists = H5Lexists(prev_id, pathTokens[ii].c_str(),                                  H5P_DEFAULT);        if (exists > 0){            // try to open existing group            id = H5Gopen2(prev_id, pathTokens[ii].c_str(), H5P_DEFAULT);        } else if (exists == 0) {            // If that fails, try to create a group            id = H5Gcreate2(prev_id, pathTokens[ii].c_str(),                            H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);        }        if ((exists < 0) || (id < 0)){            // Failed to open/create a group, print the            // offending path (for debugging; the error is            // perhaps at the level of hdf5 or file system).            cerr << "Error: failed to open/create group: ";            for (unsigned int jj = 0; jj <= ii; ++jj){                cerr << "/" << pathTokens[jj];            }            cerr << endl;            prev_id = -1;        }        if (prev_id >= 0  && prev_id != filehandle_){            // Successfully opened/created new group, close the old group            status = H5Gclose(prev_id);            assert( status >= 0 );        }        prev_id = id;    }    string name = pathTokens[pathTokens.size()-1];    htri_t exists = H5Lexists(prev_id, name.c_str(), H5P_DEFAULT);    hid_t dataset_id = -1;    if (exists > 0){        dataset_id = H5Dopen2(prev_id, name.c_str(), H5P_DEFAULT);    } else if (exists == 0){        dataset_id = createDoubleDataset(prev_id, name);    } else {        cerr << "Error: H5Lexists returned "             << exists << " for path /""             << path << "/"" << endl;    }    return dataset_id;}
开发者ID:hrani,项目名称:moose-core,代码行数:59,


示例13: main

intmain(){   printf("/n*** Checking many attributes in HDF5 file./n");   printf("*** Checking some more simple atts.../n");   {#define NUM_ATTS 10000      hid_t fcpl_id, hdfid, grpid;      hid_t spaceid, attid1;      int one = 1;      hsize_t dims[1] = {1};      int i;      char name[NC_MAX_NAME];      struct timeval start_time, end_time, diff_time;      double sec;      /* Create a HDF5 file. */      if ((fcpl_id = H5Pcreate(H5P_FILE_CREATE)) < 0) ERR;      if (H5Pset_link_creation_order(fcpl_id, (H5P_CRT_ORDER_TRACKED |					       H5P_CRT_ORDER_INDEXED)) < 0) ERR;      if (H5Pset_attr_creation_order(fcpl_id, (H5P_CRT_ORDER_TRACKED |					       H5P_CRT_ORDER_INDEXED)) < 0) ERR;      if ((hdfid = H5Fcreate(FILE_NAME, H5F_ACC_TRUNC, fcpl_id, H5P_DEFAULT)) < 0) ERR;      if (H5Pclose(fcpl_id) < 0) ERR;      /* Open the root group. */      if ((grpid = H5Gopen2(hdfid, "/", H5P_DEFAULT)) < 0) ERR;      if (gettimeofday(&start_time, NULL)) ERR;      /* Write an attribute. */      if ((spaceid = H5Screate_simple(1, dims, NULL)) < 0) ERR;      for (i = 0; i < NUM_ATTS; i++)      {	 sprintf(name, "att_%d", i);	 if ((attid1 = H5Acreate2(grpid, name, H5T_NATIVE_INT, spaceid,				  H5P_DEFAULT, H5P_DEFAULT)) < 0) ERR;	 if (H5Awrite(attid1, H5T_NATIVE_INT, &one) < 0) ERR;/*	 if (H5Aclose(attid1) < 0) ERR;*/	 if((i + 1) % 1000 == 0)	 {		/* only print every 1000th attribute name */	    if (gettimeofday(&end_time, NULL)) ERR;	    if (nc4_timeval_subtract(&diff_time, &end_time, &start_time)) ERR;	    sec = diff_time.tv_sec + 1.0e-6 * diff_time.tv_usec;	    printf("%i/t%.3g sec/n", i + 1, sec);	 }      }      /* Close everything. */      if (H5Sclose(spaceid) < 0) ERR;      if (H5Gclose(grpid) < 0) ERR;      if (H5Fclose(hdfid) < 0) ERR;   }   SUMMARIZE_ERR;   FINAL_RESULTS;}
开发者ID:ArtisticCoding,项目名称:libmesh,代码行数:55,


示例14: loadHdf5Input

/* Read and load coefficients Knlm and scale radius a */int loadHdf5Input(char *filename, struct Indata *var){    hid_t   hdf_file,hdf_group,hdf_data;    herr_t  status;    double  temp[NMAX][LMAX][LMAX][2];    fprintf(stdout,"Reading file %s ...",filename);    hdf_file = H5Fopen(filename,H5F_ACC_RDONLY,H5P_DEFAULT);    if (hdf_file < 0){        return -1;    }        if ( (hdf_group=H5Gopen2(hdf_file,"/",H5P_DEFAULT)) < 0){        H5Gclose(hdf_file);        return -1;    }    if ( (hdf_data=H5Dopen2(hdf_file,"/Knlm",H5P_DEFAULT)) < 0){        H5Dclose(hdf_data);        return -1;    }    //status=H5Dread(hdf_data, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, var->Knlm);    status=H5Dread(hdf_data, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, temp);    for (int n=0; n<NMAX; n++){        for (int l=0; l<LMAX; l++){            for (int m=0; m<LMAX; m++){                var->Knlm[l][m][n][0]=temp[n][l][m][0]; // I reorder the matrix since the summation                var->Knlm[l][m][n][1]=temp[n][l][m][1]; // over n is done first                                                        // [0]/[1] -> cosine/sine terms            }        }    }        /* Read virial radius (not really needed) */    if ( (hdf_data=H5Dopen2(hdf_file,"/Rvir",H5P_DEFAULT)) < 0){        H5Dclose(hdf_data);        return -1;    }    status=H5Dread(hdf_data, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &var->virialrad);    /* Read Hernquist scale radius needed to normalize positions */    if ( (hdf_data=H5Dopen2(hdf_file,"/a",H5P_DEFAULT)) < 0){        H5Dclose(hdf_data);        return -1;    }    status=H5Dread(hdf_data, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, &var->scalerad);    //H5Gclose(hdf_group);    H5Fclose(hdf_file);    H5Dclose(hdf_data);    fprintf(stdout," file read successfully!/n");    return 0;}
开发者ID:edjocute,项目名称:Orbit,代码行数:54,


示例15: H5CreateOrOpenGroup

hid_t H5CreateOrOpenGroup(hid_t &file_id, string &group_name) {  hid_t group_id;  if(group_name == "/") {    group_id = H5Gopen2(file_id, group_name.c_str(), H5P_DEFAULT);  } else {    // first make sure the base group exists    string delim = "/";    int pos = group_name.rfind(delim);    if((pos != (int) std::string::npos) && (pos != 0)) {      string subgroup = group_name.substr(0,pos);      group_id = H5CreateOrOpenGroup(file_id, subgroup);      H5Gclose (group_id);    }    // then open or create the group we want    if(H5Lexists(file_id, group_name.c_str(), H5P_DEFAULT)) {      group_id = H5Gopen2(file_id, group_name.c_str(), H5P_DEFAULT);    } else {      group_id = H5Gcreate2(file_id, group_name.c_str(), H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);    }  }  return(group_id);}
开发者ID:Brainiarc7,项目名称:TS,代码行数:22,


示例16: unix2win_example

/* The example function. * Creates a file named "unix2win.h5" with an external link pointing to * the file "u2w/u2w_target.h5". * * Registers a new traversal function for external links and then * follows the external link to open the target file. */static intunix2win_example(void){    hid_t  fid = (-1);         /* File ID */    hid_t  gid = (-1);         /* Group ID */    /* Create the target file. */#ifdef H5_HAVE_WIN32_API    if((fid=H5Fcreate("u2w//u2w_target.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0) goto error;#else    if((fid=H5Fcreate("u2w/u2w_target.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0) goto error;#endif    if(H5Fclose(fid) < 0) goto error;    /* Create the source file with an external link in Windows format */    if((fid=H5Fcreate("unix2win.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT))<0) goto error;    /* Create the external link */    if(H5Lcreate_external("u2w/../u2w/u2w_target.h5", "/", fid, "ext_link", H5P_DEFAULT, H5P_DEFAULT) < 0) goto error;    /* If we are not on Windows, assume we are on a Unix-y filesystem and     * follow the external link normally.     * If we are on Windows, register the unix2win traversal function so     * that external links can be traversed.     */#ifdef H5_HAVE_WIN32_API    /* Register the elink_unix2win class defined above to replace default     * external links     */    if(H5Lregister(elink_unix2win_class) < 0) goto error;#endif    /* Now follow the link */    if((gid = H5Gopen2(fid, "ext_link", H5P_DEFAULT)) < 0) goto error;    printf("Successfully followed external link./n");    /* Close the group and the file */    if(H5Gclose(gid) <0) goto error;    if(H5Fclose(fid) <0) goto error;    return 0; error:    printf("Error!/n");    H5E_BEGIN_TRY {      H5Gclose (gid);      H5Fclose (fid);    } H5E_END_TRY;    return -1;}
开发者ID:AlistairMills,项目名称:swmr-testapp,代码行数:58,


示例17: main

intmain(){   printf("/n*** Checking HDF5 integer dataset with extension./n");   printf("*** checking 1D int dataset with extend...");   {/* Misspelling is deliberite. Please dont correct. */#define INTERGERS "Intergers"      #define NUM_STR 1#define NDIMS 1      hid_t fileid, grpid, spaceid;      hid_t datasetid, plistid;      hsize_t dims[NDIMS] = {NUM_STR}, max_dims[NDIMS] = {H5S_UNLIMITED};      hsize_t chunk_dims[NDIMS] = {1};      hsize_t xtend_size[NDIMS] = {2};      int data[NUM_STR] = {42};      int empty = -42;      /* Create the file, open root group. */      if ((fileid = H5Fcreate(FILE_NAME, H5F_ACC_TRUNC, H5P_DEFAULT, 			      H5P_DEFAULT)) < 0) ERR;      if ((grpid = H5Gopen2(fileid, "/", H5P_DEFAULT)) < 0) ERR;            /* Create a space for the dataset. */      if ((spaceid = H5Screate_simple(1, dims, max_dims)) < 0) ERR;      /* Create the dataset. */      if ((plistid = H5Pcreate(H5P_DATASET_CREATE)) < 0) ERR;      if (H5Pset_chunk(plistid, 1, chunk_dims) < 0) ERR;      if (H5Pset_fill_value(plistid, H5T_NATIVE_INT32, &empty) < 0) ERR;      if ((datasetid = H5Dcreate1(grpid, INTERGERS, H5T_NATIVE_INT32, 				  spaceid, plistid)) < 0) ERR;      /* Now extend the dataset. */      if (H5Dextend(datasetid, xtend_size) < 0) ERR;      if (H5Dwrite(datasetid, H5T_NATIVE_INT, spaceid, spaceid, 		   H5P_DEFAULT, &data) < 0) ERR;      /* Close up. */      if (H5Dclose(datasetid) < 0) ERR;      if (H5Pclose(plistid) < 0) ERR;      if (H5Sclose(spaceid) < 0) ERR;      if (H5Gclose(grpid) < 0) ERR;      if (H5Fclose(fileid) < 0) ERR;   }   SUMMARIZE_ERR;   FINAL_RESULTS;}
开发者ID:U-238,项目名称:gempak,代码行数:50,


示例18: test_misc

/*------------------------------------------------------------------------- * Function:	test_misc * * Purpose:	Test miscellaneous group stuff. * * Return:	Success:	0 * *		Failure:	number of errors * * Programmer:	Robb Matzke *              Tuesday, November 24, 1998 * *------------------------------------------------------------------------- */static inttest_misc(hid_t fapl, hbool_t new_format){    hid_t	fid = (-1);             /* File ID */    hid_t	g1 = (-1), g2 = (-1), g3 = (-1);    char	filename[NAME_BUF_SIZE];    char	comment[64];    if(new_format)        TESTING("miscellaneous group tests (w/new group format)")    else        TESTING("miscellaneous group tests")    /* Create file */    h5_fixname(FILENAME[0], fapl, filename, sizeof(filename));    if((fid = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) TEST_ERROR    /* Create initial groups for testing, then close */    if((g1 = H5Gcreate2(fid, "test_1a", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR    if((g2 = H5Gcreate2(g1, "sub_1", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR    if((g3 = H5Gcreate2(fid, "test_1b", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR    if(H5Oset_comment(g3, "hello world") < 0) TEST_ERROR    if(H5Gclose(g1) < 0) TEST_ERROR    if(H5Gclose(g2) < 0) TEST_ERROR    if(H5Gclose(g3) < 0) TEST_ERROR    /* Open all groups with absolute names to check for exsistence */    if((g1 = H5Gopen2(fid, "/test_1a", H5P_DEFAULT)) < 0) TEST_ERROR    if((g2 = H5Gopen2(fid, "/test_1a/sub_1", H5P_DEFAULT)) < 0) TEST_ERROR    if((g3 = H5Gopen2(fid, "/test_1b", H5P_DEFAULT)) < 0) TEST_ERROR    if(H5Oget_comment_by_name(g3, "././.", comment, sizeof comment, H5P_DEFAULT) < 0) TEST_ERROR    if(HDstrcmp(comment, "hello world")) {	H5_FAILED();	puts("    Read the wrong comment string from the group.");	printf("    got: /"%s/"/n    ans: /"hello world/"/n", comment);	TEST_ERROR    }
开发者ID:FilipeMaia,项目名称:hdf5,代码行数:51,


示例19: get_max_id

static herr_t get_max_id( hid_t group_id,                           const char* subgroup,                           const char* datatable,                          unsigned long* data ){  unsigned long id;  hid_t elem_id, conn_id, attr_id, space_id;  herr_t rval;  int rank;  hsize_t dims[2];  #if defined(H5Gopen_vers) && H5Gopen_vers > 1    elem_id = H5Gopen2( group_id, subgroup, H5P_DEFAULT );#else  elem_id = H5Gopen( group_id, subgroup );#endif  if (elem_id < 0) return (herr_t)-1;  #if defined(H5Dopen_vers) && H5Dopen_vers > 1    conn_id = H5Dopen2( elem_id, datatable, H5P_DEFAULT );#else  conn_id = H5Dopen( elem_id, datatable );#endif  H5Gclose( elem_id );  if (conn_id < 0) return (herr_t)-1;    space_id = H5Dget_space( conn_id );  if (space_id < 0) { H5Dclose( conn_id ); return -1; }    rank = H5Sget_simple_extent_ndims( space_id );  if (rank <= 0 || rank > 2) { H5Dclose(conn_id); H5Sclose(space_id); return -1; }    rval = H5Sget_simple_extent_dims( space_id, dims, NULL );  H5Sclose( space_id );  if (rval < 0) { H5Dclose( conn_id ); return -1; }    attr_id = H5Aopen_name( conn_id, START_ID_ATTRIB );  H5Dclose( conn_id );  if (attr_id < 0) return (herr_t)-1;    rval = H5Aread( attr_id, H5T_NATIVE_ULONG, &id );  H5Aclose( attr_id );  if (rval < 0) return rval;    id += dims[0];  if (id > *data)    *data = id;  return 0;}
开发者ID:chrismullins,项目名称:moab,代码行数:49,


示例20: forAll

    void Foam::hdf5SurfaceWriter::writeData    (        const hid_t& file_id,        const word& surfaceName,        const word& fieldName,        const word& time,        const Field<scalar>& values    )    {        ioScalar* scalarData;        scalarData = new ioScalar[values.size()];        // Loop through the field and construct the array        forAll(values, iter)        {            scalarData[iter] = values[iter];        }    hid_t group = H5Gopen2(file_id, time.c_str(), H5P_DEFAULT);    hsize_t dimsf[1];    dimsf[0] = values.size();    hid_t dataspace = H5Screate_simple(1, dimsf, NULL);    hid_t datatype = H5Tcopy(H5T_SCALAR);    char datasetName[80];    sprintf    (        datasetName,        "%s/%s",        time.c_str(),        fieldName.c_str()    );    hid_t  dataset = H5Dcreate2(file_id, datasetName, datatype, dataspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);    H5Dwrite(dataset, H5T_SCALAR, H5S_ALL,           H5S_ALL, H5P_DEFAULT, scalarData);    H5Dclose(dataset);    H5Sclose(dataspace);    H5Tclose(datatype);    H5Gclose(group);        delete [] scalarData;    }
开发者ID:ETH-BuildingPhysics,项目名称:ETH-OFTools-2.3.X,代码行数:49,


示例21: Object

Group::Group(    Location const& location)  : Object(        location.getFile(),        assertSuccess(            "opening group",            H5Gopen2(                location.getParentId(),                location.getNameAsCStr(),                H5P_DEFAULT            )        ),        H5Gclose    ){}
开发者ID:gcross,项目名称:HDF,代码行数:16,


示例22: H5Gopen2

//--------------------------------------------------------------------------// Function:	CommonFG::openGroup////brief	Opens an existing group in a location which can be a file///		or another group.////param	name  - IN: Name of the group to open////return	Group instance////exception	H5::FileIException or H5::GroupIException// Programmer	Binh-Minh Ribler - 2000//--------------------------------------------------------------------------Group CommonFG::openGroup( const char* name ) const{   // Call C routine H5Gopen2 to open the named group, giving the   // location id which can be a file id or a group id   hid_t group_id = H5Gopen2( getLocId(), name, H5P_DEFAULT );   // If the opening of the group failed, throw an exception   if( group_id < 0 )   {      throwException("openGroup", "H5Gopen2 failed");   }   // No failure, create and return the Group object   Group group( group_id );   return( group );}
开发者ID:ArielleBassanelli,项目名称:gempak,代码行数:25,


示例23: extlink_example

/* Basic external link example * * Creates two files and uses an external link to access an object in the * second file from the first file. */static void extlink_example(void){    hid_t source_file_id, targ_file_id;    hid_t group_id, group2_id;    /* Create two files, a source and a target */    source_file_id = H5Fcreate(SOURCE_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);    targ_file_id = H5Fcreate(TARGET_FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);    /* Create a group in the target file for the external link to point to. */    group_id = H5Gcreate2(targ_file_id, "target_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);    /* Close the group and the target file */    H5Gclose(group_id);    /* Create an external link in the source file pointing to the target group.     * We could instead have created the external link first, then created the     * group it points to; the order doesn't matter.     */    H5Lcreate_external(TARGET_FILE, "target_group", source_file_id, "ext_link", H5P_DEFAULT, H5P_DEFAULT);    /* Now we can use the external link to create a new group inside the     * target group (even though the target file is closed!).  The external     * link works just like a soft link.     */    group_id = H5Gcreate2(source_file_id, "ext_link/new_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);    /* The group is inside the target file and we can access it normally.     * Here, group_id and group2_id point to the same group inside the     * target file.     */    group2_id = H5Gopen2(targ_file_id, "target_group/new_group", H5P_DEFAULT);    /* Don't forget to close the IDs we opened. */    H5Gclose(group2_id);    H5Gclose(group_id);    H5Fclose(targ_file_id);    H5Fclose(source_file_id);    /* The link from the source file to the target file will work as long as     * the target file can be found.  If the target file is moved, renamed,     * or deleted in the filesystem, HDF5 won't be able to find it and the     * external link will "dangle."     */}
开发者ID:ngcurrier,项目名称:ProteusCFD,代码行数:51,


示例24: Java_hdf_hdf5lib_H5__1H5Gopen2

/* * Class:     hdf_hdf5lib_H5 * Method:    _H5Gopen2 * Signature: (JLjava/lang/String;J)J */JNIEXPORT jlong JNICALLJava_hdf_hdf5lib_H5__1H5Gopen2(JNIEnv *env, jclass clss, jlong loc_id, jstring name, jlong access_plist_id){    hid_t group_id = -1;    const char *gName;    PIN_JAVA_STRING(name, gName, -1);    group_id = H5Gopen2((hid_t)loc_id, gName, (hid_t)access_plist_id );    UNPIN_JAVA_STRING(name, gName);    if (group_id < 0)        h5libraryError(env);    return (jlong)group_id;} /* end Java_hdf_hdf5lib_H5__1H5Gopen2 */
开发者ID:fengbingchun,项目名称:Caffe_Test,代码行数:22,


示例25: mRoot

void NSDFWriter::writeModelTree(){    vector< string > tokens;    ObjId mRoot(modelRoot_);    string rootPath = MODELTREEPATH + string("/") + mRoot.element()->getName();    hid_t rootGroup = require_group(filehandle_, rootPath);    hid_t tmp;    htri_t exists;    herr_t status;    deque<Id> nodeQueue;    deque<hid_t> h5nodeQueue;    nodeQueue.push_back(mRoot);    h5nodeQueue.push_back(rootGroup);    // TODO: need to clarify what happens with array elements. We can    // have one node per vec and set a count field for the number of    // elements    while (nodeQueue.size() > 0){        ObjId node = nodeQueue.front();        nodeQueue.pop_front();        hid_t prev = h5nodeQueue.front();;        h5nodeQueue.pop_front();        vector < Id > children;        Neutral::children(node.eref(), children);        for ( unsigned int ii = 0; ii < children.size(); ++ii){            string name = children[ii].element()->getName();            // skip the system elements            if (children[ii].path() == "/Msgs"                || children[ii].path() == "/clock"                || children[ii].path() == "/classes"                || children[ii].path() == "/postmaster"){                continue;            }            exists = H5Lexists(prev, name.c_str(), H5P_DEFAULT);            if (exists > 0){                tmp = H5Gopen2(prev, name.c_str(), H5P_DEFAULT);            } else {                tmp = H5Gcreate2(prev, name.c_str(), H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);            }            writeScalarAttr< string >(tmp, "uid", children[ii].path());            nodeQueue.push_back(children[ii]);            h5nodeQueue.push_back(tmp);        }        status = H5Gclose(prev);    }}
开发者ID:asiaszmek,项目名称:moose-core,代码行数:45,


示例26: readfile_hdf5

/* Open/close the file with HDF5. */intreadfile_hdf5(char *file_name, long long *delta, int do_inq, int num_vars){   hid_t hdfid, hdf_grpid;   hid_t fapl_id;   struct timeval starttime, endtime;   long long startt, endt;   /* Start the clock. */   gettimeofday(&starttime, NULL);   /* Open and close the root group. */   if ((fapl_id = H5Pcreate(H5P_FILE_ACCESS)) < 0) ERR;   if (H5Pset_fclose_degree(fapl_id, H5F_CLOSE_SEMI)) ERR;   if ((hdfid = H5Fopen(file_name, H5F_ACC_RDONLY, fapl_id)) < 0) ERR;   if ((hdf_grpid = H5Gopen2(hdfid, "/", H5P_DEFAULT)) < 0) ERR;   /* Do we want to do an inq? */   if (do_inq)   {      if (num_vars)      {      }      else /* global atts */      {         hsize_t num_obj;         /* Find out how many attributes. */         if ((num_obj = H5Aget_num_attrs(hdf_grpid)) < 0) ERR;      }   }   if (H5Gclose(hdf_grpid) < 0) ERR;   if (H5Fclose(hdfid) < 0) ERR;   gettimeofday(&endtime, NULL);   /* Compute the time delta */   startt = (1000000 * starttime.tv_sec) + starttime.tv_usec;   endt = (1000000 * endtime.tv_sec) + endtime.tv_usec;   *delta = endt - startt;   return 0;}
开发者ID:dschwen,项目名称:libmesh,代码行数:45,


示例27: loadHdf5Init

/* Load and read file with initial positions and velocites */int loadHdf5Init(char *filename, std::vector<array6> &init){    hid_t   hdf_file,hdf_group,hdf_data,hdf_dspace;    herr_t  status;    //state_type x(6);    array6 x;    fprintf(stdout,"Reading file %s .../n",filename);    hdf_file = H5Fopen(filename,H5F_ACC_RDONLY,H5P_DEFAULT);    if (hdf_file < 0){        return -1;    }    if ( (hdf_group=H5Gopen2(hdf_file,"/",H5P_DEFAULT)) < 0){        H5Fclose(hdf_file);        return -1;    }    if ( (hdf_data=H5Dopen2(hdf_file,"/x",H5P_DEFAULT)) < 0){        H5Dclose(hdf_data);        return -1;    }    hdf_dspace = H5Dget_space(hdf_data);    hsize_t dims[2];    H5Sget_simple_extent_dims(hdf_dspace,dims,NULL);    std::cout << "No. of test particles read = " << dims[0] << "/n";    double *temp = new double[dims[0]*dims[1]];    status=H5Dread(hdf_data, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL, H5P_DEFAULT, temp);    for (int i=0; i<dims[0]; i++){        for (int j=0; j<dims[1]; j++){            x[j]=temp[i*dims[1]+j];        }        init.push_back(x);    }    delete [] temp;    H5Gclose(hdf_group);    H5Fclose(hdf_file);    H5Dclose(hdf_data);    fprintf(stdout," file read successfully!/n");    return 0;}
开发者ID:edjocute,项目名称:Orbit,代码行数:42,


示例28: open_mode

void TestH5::setUp() {    unsigned int &openMode = open_mode();    if (openMode == H5F_ACC_TRUNC) {        h5file = H5Fcreate("test_h5.h5", openMode, H5P_DEFAULT, H5P_DEFAULT);    } else {        h5file = H5Fopen("test_h5.h5", openMode, H5P_DEFAULT);    }    CPPUNIT_ASSERT(H5Iis_valid(h5file));    hid_t g;    if (openMode == H5F_ACC_TRUNC) {        g = H5Gcreate2(h5file, "h5", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);    } else {        g = H5Gopen2(h5file, "h5", H5P_DEFAULT);    }    CPPUNIT_ASSERT(H5Iis_valid(g));    h5group = nix::hdf5::Group(g);    openMode = H5F_ACC_RDWR;}
开发者ID:asobolev,项目名称:nix,代码行数:23,


示例29: ABCA_ASSERT

//-*****************************************************************************ProtoObjectReader::ProtoObjectReader( hid_t iParent,                                      const std::string &iParentFullPathName,                                      const std::string &iName ){    // Validate.    ABCA_ASSERT( iParent >= 0,                 "Invalid group passed into ProtoObjectReader ctor" );    // Open the HDF5 group corresponding to this object.    m_group = H5Gopen2( iParent, iName.c_str(), H5P_DEFAULT );    ABCA_ASSERT( m_group >= 0,                 "Could not open object group named: "                 << iName << " in parent: " << iParentFullPathName );    // Read the meta data.    // Metadata is always named ".prop.meta" for objects,    // as it is shared with the underlying property.    AbcA::MetaData mdata;    ReadMetaData( m_group, ".prop.meta", mdata );    std::string fullChildName;    if ( iParentFullPathName == "/" )    {        fullChildName = "/" + iName;    }    else    {        fullChildName = iParentFullPathName + "/" + iName;    }    if ( fullChildName == "/ABC" ) { fullChildName = "/"; }    m_header = AbcA::ObjectHeader( iName,                                   fullChildName,                                   mdata );}
开发者ID:EgoIncarnate,项目名称:appleseed,代码行数:38,


示例30: h5repack_cmp_pl

int h5repack_cmp_pl(const char *fname1,                     const char *fname2){    int           ret_value = 0; /*no need to LEAVE() on ERROR: HERR_INIT(int, SUCCEED) */    hid_t         fid1=-1;         /* file ID */    hid_t         fid2=-1;         /* file ID */    hid_t         dset1=-1;        /* dataset ID */    hid_t         dset2=-1;        /* dataset ID */    hid_t         gid=-1;          /* group ID */    hid_t         dcpl1=-1;        /* dataset creation property list ID */    hid_t         dcpl2=-1;        /* dataset creation property list ID */    hid_t         gcplid=-1;       /* group creation property list */    unsigned      crt_order_flag1; /* group creation order flag */    unsigned      crt_order_flag2; /* group creation order flag */    trav_table_t  *trav=NULL;    int           ret=1;    unsigned int  i;   /*-------------------------------------------------------------------------    * open the files    *-------------------------------------------------------------------------    */    /* disable error reporting */    H5E_BEGIN_TRY    {        /* Open the files */        if ((fid1 = H5Fopen(fname1,H5F_ACC_RDONLY,H5P_DEFAULT)) < 0 )        {            error_msg("<%s>: %s/n", fname1, H5FOPENERROR );            return -1;        }        if ((fid2 = H5Fopen(fname2,H5F_ACC_RDONLY,H5P_DEFAULT)) < 0 )        {            error_msg("<%s>: %s/n", fname2, H5FOPENERROR );            H5Fclose(fid1);            return -1;        }        /* enable error reporting */    } H5E_END_TRY;   /*-------------------------------------------------------------------------    * get file table list of objects    *-------------------------------------------------------------------------    */    trav_table_init(&trav);    if(h5trav_gettable(fid1, trav) < 0)        HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "h5trav_gettable failed");   /*-------------------------------------------------------------------------    * traverse the suppplied object list    *-------------------------------------------------------------------------    */    for(i = 0; i < trav->nobjs; i++)    {        if(trav->objs[i].type == H5TRAV_TYPE_GROUP)        {            if ((gid = H5Gopen2(fid1, trav->objs[i].name, H5P_DEFAULT)) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Gopen2 failed");            if ((gcplid = H5Gget_create_plist(gid)) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Gget_create_plist failed");            if (H5Pget_link_creation_order(gcplid, &crt_order_flag1) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Pget_link_creation_order failed");            if (H5Pclose(gcplid) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Pclose failed");            if (H5Gclose(gid) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Gclose failed");            if ((gid = H5Gopen2(fid2, trav->objs[i].name, H5P_DEFAULT)) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Gopen2 failed");            if ((gcplid = H5Gget_create_plist(gid)) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Gget_create_plist failed");            if (H5Pget_link_creation_order(gcplid, &crt_order_flag2) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Pget_link_creation_order failed");            if (H5Pclose(gcplid) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Pclose failed");            if (H5Gclose(gid) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Gclose failed");            if (crt_order_flag1 != crt_order_flag2) {                error_msg("property lists for <%s> are different/n",trav->objs[i].name);                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "property lists failed");            }        }        else if(trav->objs[i].type == H5TRAV_TYPE_DATASET)        {            if((dset1 = H5Dopen2(fid1, trav->objs[i].name, H5P_DEFAULT)) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Dopen2 failed");            if((dset2 = H5Dopen2(fid2, trav->objs[i].name, H5P_DEFAULT)) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Dopen2 failed");            if((dcpl1 = H5Dget_create_plist(dset1)) < 0)                HGOTO_ERROR(FAIL, H5E_tools_min_id_g, "H5Dget_create_plist failed");            if((dcpl2 = H5Dget_create_plist(dset2)) < 0)//.........这里部分代码省略.........
开发者ID:AndyHuang7601,项目名称:EpicGames-UnrealEngine,代码行数:101,



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


C++ H5Lexists函数代码示例
C++ H5Gopen函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。