本文整理汇总了C++中SSCRUTE函数的典型用法代码示例。如果您正苦于以下问题:C++ SSCRUTE函数的具体用法?C++ SSCRUTE怎么用?C++ SSCRUTE使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SSCRUTE函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MEDfieldnComponent
med_int
MEDfieldnComponent(const med_idt fid,
const int ind)
{
med_err _ret = -1;
char _fieldname[MED_NAME_SIZE+1]="";
int _num = ind-1;
char _path [MED_TAILLE_CHA+MED_NAME_SIZE+1]=MED_CHA;
/*
* On inhibe le gestionnaire d'erreur HDF
*/
_MEDmodeErreurVerrouiller();
/*
* On recupere le nom du champ
*/
if ( _MEDobjectGetName(fid, _path ,_num, _fieldname) < 0 ) {
MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_path);ISCRUTE_int(_num);
goto ERROR;
}
if ( (_ret=MEDfieldnComponentByName( fid, _fieldname )) < 0) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_FIELD_MSG);
SSCRUTE(_fieldname);SSCRUTE(_path);SSCRUTE("MEDfieldnComponentbyName");
goto ERROR;
}
ERROR:
return _ret;
}
示例2: MEDstructElementInfo
med_err
MEDstructElementInfo(const med_idt fid,
const int mit,
char * const modelname,
med_geometry_type * const mgeotype,
med_int* const modeldim,
char* const supportmeshname,
med_entity_type* const sentitytype,
med_int* const snnode,
med_int* const sncell,
med_geometry_type* const sgeotype,
med_int* const nconstantattribute,
med_bool* const anyprofile,
med_int* const nvariableattribute
)
{
med_err _ret=-1;
char _path[MED_TAILLE_STRCT+MED_NAME_SIZE+1]=MED_STRCT;
int _num = mit -1;
/*
* On inhibe le gestionnaire d'erreur HDF 5
*/
_MEDmodeErreurVerrouiller();
/*
* On recupere le nom de l'élément de structure
*/
if ( _MEDobjectGetName(fid, _path ,_num, modelname) < 0 ) {
MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_path);ISCRUTE_int(mit);
goto ERROR;
}
strcat(_path,modelname);
if (
MEDstructElementInfoByName(fid,
modelname,
mgeotype,
modeldim,
supportmeshname,
sentitytype,
snnode,
sncell,
sgeotype,
nconstantattribute,
anyprofile,
nvariableattribute
) < 0 ) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_STRUCT_MSG);
SSCRUTE(modelname);SSCRUTE(_path);SSCRUTE("MEDstructElementInfoByName");
goto ERROR;
}
_ret = 0;
ERROR:
return _ret;
}
示例3: MEDfieldnValueWithProfileByName
med_int
MEDfieldnValueWithProfileByName(const med_idt fid,
const char * const fieldname,
const med_int numdt,
const med_int numit,
const med_entity_type entitype,
const med_geometry_type geotype,
const char * const profilename,
const med_storage_mode storagemode,
med_int * const profilesize,
char * const localizationname,
med_int * const nintegrationpoint)
{
med_int _ret=-1;
if ( (_ret = _MEDfieldnValue(fid, fieldname, numdt, numit,
entitype, geotype,
(char * const) profilename,-1,
storagemode, profilesize,
localizationname, nintegrationpoint)) < 0) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_FIELD_MSG);
SSCRUTE(fieldname);SSCRUTE("_MEDfieldnValue");
goto ERROR;
}
ERROR:
return _ret;
}
示例4: afficheCorres
int afficheCorres(med_idt fid, char *maa, char *jnt,
med_entite_maillage typ_ent_local, med_geometrie_element typ_geo_local,
med_entite_maillage typ_ent_distant, med_geometrie_element typ_geo_distant,
char *type)
{
med_int nc;
med_int *cortab;
int k,ncor,ret=0;
if ((nc = MEDjointnCorres(fid,maa,jnt,typ_ent_local,typ_geo_local,typ_ent_distant,typ_geo_distant)) < 0) {
MESSAGE("Erreur a la lecture des infos sur le nombre d'entite en regard de type");
SSCRUTE(type);
return -1;
}
printf("nb de couples d'entites en regard %s: "IFORMAT" \n",type,nc);
if (nc > 0) {
cortab = (med_int*) malloc(sizeof(med_int)*nc*2);
if ((ret=MEDjointLire(fid,maa,jnt,cortab,nc*2,
typ_ent_local,typ_geo_local,typ_ent_distant,typ_geo_distant)) < 0) {
MESSAGE("Erreur a la lecture des correspondances sur ");
SSCRUTE(type);
ret = -1;
}
if (ret == 0)
for (k=0;k<nc;k++)
printf("Correspondance %d : "IFORMAT" et "IFORMAT" \n",k+1,*(cortab+2*k),
*(cortab+2*k+1));
free(cortab);
}
return ret;
}
示例5: MEDparameterComputationStepInfo
med_err
MEDparameterComputationStepInfo(const med_idt fid,
const char * const paramname,
const int csit,
med_int * const numdt,
med_int * const numit,
med_float * const dt )
{
med_err _ret = -1, _err = -1;
med_idt _cpstidt = 0;
char _path[(MED_TAILLE_NUM_DATA+MED_NAME_SIZE+1)+2*MED_MAX_PARA+1]=MED_NUM_DATA;
int _num=csit-1;
char _cstpname[2*MED_MAX_PARA+1]="";
_MEDmodeErreurVerrouiller();
/* On recupere le nom du pas de temps */
strcat(_path, paramname);
if ( _MEDobjectGetName(fid, _path ,_num, _cstpname) < 0 ) {
MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_path);ISCRUTE_int(_num);
goto ERROR;
}
/* on ouvre le groupe HDF correspondant */
strcat(_path,"/");
strcat(_path,_cstpname);
if ((_cpstidt = _MEDdatagroupOuvrir(fid,_path)) < 0) {
MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,_path);
goto ERROR;
}
/* Lecture des attributs */
if (_MEDattrEntierLire(_cpstidt, MED_NOM_NDT, (med_int*) numdt) < 0) {
MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_NOM_NDT);
SSCRUTE(_path);ISCRUTE(*numdt);goto ERROR;
}
if (_MEDattrFloatLire(_cpstidt, MED_NOM_PDT, (med_float*) dt) < 0) {
MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_NOM_PDT);
SSCRUTE(_path);RSCRUTE(*dt);goto ERROR;
}
if (_MEDattrEntierLire(_cpstidt, MED_NOM_NOR, (med_int*) numit) < 0) {
MED_ERR_(_ret,MED_ERR_READ,MED_ERR_ATTRIBUTE,MED_NOM_NOR);
SSCRUTE(_path);ISCRUTE(*numit);goto ERROR;
}
_ret = 0;
ERROR:
/* on ferme tout */
if (_cpstidt > 0)
if (_MEDdatagroupFermer(_cpstidt) < 0) {
MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_path);
ISCRUTE_id(_cpstidt);
}
return _ret;
}
示例6: MEDinterpInfo
/**\ingroup MEDinterp
\brief \MEDinterpInfoBrief
\param fid \fid
\param interpit \interpit
\param interpname \interpname
\param geotype \geotype
\param cellnode \cellnode
\param nbasisfunc \nbasisfunc
\param nvariable \nvariable
\param maxdegree \maxdegree
\param nmaxcoef \nmaxcoef
\return \error
\details \MEDinterpInfoDetails
\see MEDinterpInfoByName
*/
med_err
MEDinterpInfo(const med_idt fid,
const int interpit,
char* const interpname,
med_geometry_type* const geotype,
med_bool* const cellnode,
med_int* const nbasisfunc,
med_int* const nvariable,
med_int* const maxdegree,
med_int* const nmaxcoef
)
{
med_err _ret=-1;
char _interppath[MED_TAILLE_INTERP+MED_NAME_SIZE+1]=MED_INTERP;
int _num = interpit -1;
/*
* On inhibe le gestionnaire d'erreur HDF 5
*/
_MEDmodeErreurVerrouiller();
/*
* On recupere le nom de l'interpolation
*/
if ( _MEDobjectGetName(fid, _interppath ,_num, interpname) < 0 ) {
MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_interppath);ISCRUTE_int(interpit);
goto ERROR;
}
strcat(_interppath,interpname);
if ( MEDinterpInfoByName(fid,
interpname,
geotype,
cellnode,
nbasisfunc,
nvariable,
maxdegree,
nmaxcoef
) < 0 ) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_INTERP_MSG);
SSCRUTE(interpname);SSCRUTE(_interppath);SSCRUTE("MEDinterpInfoByName");
goto ERROR;
}
_ret = 0;
ERROR:
return _ret;
}
示例7: main
int main (int argc, char **argv)
{
med_err _ret=0;
med_idt _fid=0;
char _fieldname1[MED_NAME_SIZE+1] = "champ reel";
char _interpname[MED_NAME_SIZE+1] = "";
med_int _ninterp = 0;
int _interpit=0;
/* Ouverture en mode creation du fichier "current.med" */
_fid = MEDfileOpen("current.med",MED_ACC_RDONLY);
if (_fid < 0) {
MESSAGE("Erreur a la creation du fichier current.med");
return -1;
}
if ( (_ninterp = MEDfieldnInterp(_fid,
_fieldname1
) ) < 0 ) {
MESSAGE("Erreur à la lecture du nombre de fonctions d'interpolation sur le champ : ");
SSCRUTE(_fieldname1);_ret=_ninterp; goto ERROR;
}
for (_interpit=0;_interpit < _ninterp; ++_interpit ) {
if ( (_ret = MEDfieldInterpInfo(_fid,
_fieldname1,
_interpit+1,
_interpname ) <0) ) {
MESSAGE("Erreur à la lecture des informations de la fonction d'interpolation n° :");
ISCRUTE(_interpit);SSCRUTE("sur le champ : ");SSCRUTE(_fieldname1);
goto ERROR;
}
else
fprintf(stdout,"Le nom de la fonction d'interpolation n°%d du champ %s est %s\n",
_interpit+1,_fieldname1,_interpname);
}
ERROR:
if (MEDfileClose(_fid) < 0) {
MESSAGE("ERROR : file closing");
return -1;
}
return _ret;
}
示例8: _MEDnFamily236
void _MEDnFamily236(int dummy, ...)
{
med_int _ret=-1;
med_int _n=0;
MED_VARGS_DECL(const, med_idt , , fid );
MED_VARGS_DECL(const, char * , const , meshname );
MED_VARGS_DECL(, med_int * ,, fret );
va_list params;
va_start(params,dummy);
MED_VARGS_DEF(const, med_idt , , fid );
MED_VARGS_DEF(const, char * , const , meshname );
MED_VARGS_DEF(, med_int * ,, fret );
if ( ( _n = MEDnFam(fid,(char *) meshname) ) < 0) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"MEDnFam");
SSCRUTE(meshname);
goto ERROR;
}
_ret = _n;
ERROR:
va_end(params);
*fret = _ret;
return;
}
示例9: MEDfileCommentWr
med_err
MEDfileCommentWr(const med_idt fid,
const char* const comment)
{
med_idt _rootId=0;
med_err _ret=-1;
_MEDmodeErreurVerrouiller();
if (_MEDcheckVersion30(fid) < 0) goto ERROR;
/* the root data group is open */
if ((_rootId = _MEDdatagroupOuvrir(fid,"/")) < 0) {
MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP," : '/'");
goto ERROR;
}
/* The comment is stored in a HDF attribute */
if (_MEDattributeStringWr(_rootId,MED_COMMENT_NAME,MED_COMMENT_SIZE,(char*)comment) < 0) {
MED_ERR_(_ret,MED_ERR_WRITE,MED_ERR_ATTRIBUTE,MED_COMMENT_NAME);
SSCRUTE(comment);
goto ERROR;
}
_ret = 0;
ERROR:
/* the "/" group has to be closed */
if (_rootId > 0)
if (_MEDdatagroupFermer(_rootId) < 0) {
MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP," : '/'");
}
return _ret;
}
示例10: _MEDdatagroupExist
med_err _MEDdatagroupExist(const med_idt gid,
const char * const datagroupname,
med_bool * const datagroupexist,
med_bool * const isasoftlink )
/*Pour l'instant, dans le modèle interne les liens sont uniquement des liens vers
des datasets*/
{
med_err _ret=-1;
H5L_info_t _linkinfo;
H5O_info_t _oinfo;
if ( H5Lget_info( gid, datagroupname, &_linkinfo, H5P_DEFAULT ) >= 0 ) {
switch ( _linkinfo.type ) {
case H5L_TYPE_SOFT:
*isasoftlink=MED_TRUE;
_oinfo.type=H5G_LINK;
break;
case H5L_TYPE_HARD:
*isasoftlink = MED_FALSE;
if ( H5Oget_info_by_name( gid, datagroupname, &_oinfo, H5P_DEFAULT ) <0) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"H5Oget_info_by_name");
SSCRUTE( datagroupname);
}
break;
case H5L_TYPE_EXTERNAL:
case H5L_TYPE_ERROR:
default:
MED_ERR_(_ret,MED_ERR_UNRECOGNIZED,MED_ERR_HDFTYPE, datagroupname);
ISCRUTE( _linkinfo.type);
goto ERROR;
break;
}
/*TODO : A vérifier sur un lien de datagroup, à mon avis ne fonctionne pas */
switch ( _oinfo.type ) {
case H5G_GROUP:
case H5G_LINK:
*datagroupexist = MED_TRUE;
break;
default:
*datagroupexist = MED_FALSE;
}
} else {
*datagroupexist = MED_FALSE;
*isasoftlink = MED_FALSE;
}
_ret = 0;
ERROR:
return _ret;
}
示例11: _MEDequivalenceCorrespondenceRd236
void
_MEDequivalenceCorrespondenceRd236(int dummy, ...) {
med_err _ret=-1;
MED_VARGS_DECL(const, med_idt , , fid );
MED_VARGS_DECL(const, char * , const , meshname );
MED_VARGS_DECL(const, char * , const , equivname );
MED_VARGS_DECL(const, med_int , , numdt );
MED_VARGS_DECL(const, med_int , , numit );
MED_VARGS_DECL(const, med_entity_type , , entitype );
MED_VARGS_DECL(const, med_geometry_type , , geotype );
MED_VARGS_DECL(, med_int *, const , correspondence );
MED_VARGS_DECL(, med_err * ,, fret );
va_list params;
va_start(params,dummy);
MED_VARGS_DEF(const, med_idt , , fid );
MED_VARGS_DEF(const, char * , const , meshname );
MED_VARGS_DEF(const, char * , const , equivname );
MED_VARGS_DEF(const, med_int , , numdt );
MED_VARGS_DEF(const, med_int , , numit );
MED_VARGS_DEF(const, med_entity_type , , entitype );
MED_VARGS_DEF(const, med_geometry_type , , geotype );
MED_VARGS_DEF(, med_int *, const , correspondence );
MED_VARGS_DEF(, med_err * ,, fret );
if ( MEDequivLire(fid, (char *) meshname, (char *) equivname, correspondence, -1 ,
entitype, geotype) < 0 ) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"MEDequivLire");
SSCRUTE(meshname); SSCRUTE(equivname);
ISCRUTE_int(entitype);ISCRUTE_int(geotype);goto ERROR;
}
_ret=0;
ERROR:
va_end(params);
*fret = _ret;
return;
}
示例12: main
int main (int argc, char **argv)
{
int _i=0;
med_err _ret=-1;
med_idt _fid=0;
med_int _ngeotype=0;
const char _meshname[MED_NAME_SIZE+1]="maa1";
med_bool _chgt=MED_FALSE,_trsf=MED_FALSE;
/*TODO : Traduire MED_TAILLE_NOM_ENTITE */
char _geotypename[MED_NAME_SIZE+1]="";
med_geometry_type _geotype=MED_NO_GEOTYPE;
/* Ouverture en mode creation du fichier med */
_fid = MEDfileOpen("Test_MEDmeshStructElementVarAttWr.med",MED_ACC_RDONLY);
if (_fid < 0) {
MESSAGE("Erreur a la creation du fichier current.med");
return -1;
}
/* TODO : Créer un itérateur sur les types d'entités*/
if ( (_ngeotype = MEDmeshnEntity(_fid,_meshname,MED_NO_DT,MED_NO_IT,
MED_STRUCT_ELEMENT,MED_GEO_ALL,MED_CONNECTIVITY,MED_GLOBAL_STMODE,
&_chgt,&_trsf) ) < 0 ) {
MESSAGE ("Erreur à la lecture du nombre de type géométrique pour le type d'entités MED_STRUCT_ELEMENT");
goto ERROR;
}
ISCRUTE(_ngeotype);
for (_i=0; _i < _ngeotype; _i++) {
if ( MEDmeshEntityInfo(_fid,
_meshname,
MED_NO_DT,MED_NO_IT,
MED_STRUCT_ELEMENT,
_i+1,
_geotypename,&_geotype
) <0 ){
MESSAGE ("Erreur à la demande d'informations pour le type d'entités MED_STRUCT_ELEMENT");
ISCRUTE_int(_i);
goto ERROR;
}
SSCRUTE(_geotypename);
ISCRUTE(_geotype);
}
_ret = 0;
ERROR:
if (MEDfileClose(_fid) < 0) {
MESSAGE("ERROR : file closing");
return -1;
}
return _ret;
}
示例13: MEDfileObjectExist
/**\ingroup MEDfile
\brief \MEDfileObjectExistBrief
\param fid \fid
\param medclass \medclass
\param objectname \objectname
\param objectexist \objectexist
\retval med_err \error
\details \MEDfileObjectExistDetails
\par Remarques
*/
med_err
MEDfileObjectExist(const med_idt fid,
const med_class medclass,
const char * const objectname,
med_bool * const objectexist )
{
med_idt _fid = 0;
med_err _ret = -1;
char _link[2*MED_NAME_SIZE+1]="";
med_bool _datagroupexist=MED_FALSE,_isasoftlink=MED_FALSE;
int _objsize = 0;
/*
* On inhibe le gestionnaire d'erreur HDF
*/
_MEDmodeErreurVerrouiller();
*objectexist = MED_FALSE;
/*
* Give access to the class object in the local file
*/
switch(medclass) {
MY_CASE(MESH);
MY_CASE(MESH_SUPPORT);
MY_CASE(ELSTRUCT);
MY_CASE(FAMILY);
MY_CASE(EQUIVALENCE);
MY_CASE(JOINT);
MY_CASE(FIELD);
MY_CASE(LOCALIZATION);
MY_CASE(PROFILE);
MY_CASE(INTERPOLATION);
MY_CASE(NUMERICAL_DATA);
default :
MED_ERR_(_ret,MED_ERR_RANGE,MED_ERR_CLASS,_link);
goto ERROR;
}
strncpy(_link+_objsize,objectname,MED_NAME_SIZE+1);
_link[2*MED_NAME_SIZE]='\0';
if( _MEDdatagroupExist(fid,_link,&_datagroupexist,&_isasoftlink) < 0 ) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,"_MEDdatagroupExist");
SSCRUTE(_link);goto ERROR;
}
if ( _datagroupexist ) *objectexist = MED_TRUE;
_ret=0;
ERROR:
return _ret;
}
示例14: MEDgaussInfo
med_err
MEDgaussInfo(med_idt fid, int indice, char * locname, med_geometrie_element * type_geo,
med_int * ngauss )
{
int numero=0;
med_idt locid=0;
med_err ret=-1;
char chemin[MED_TAILLE_GAUSS+MED_TAILLE_NOM+1]="";
med_int typegeo;
/*
* On inhibe le gestionnaire d'erreur
*/
_MEDmodeErreurVerrouiller();
if (MEDcheckVersion(fid) < 0) return -1;
/*
* On recupere le nom du groupe de rang "indice"
*/
numero = indice-1;
if ( _MEDobjetIdentifier(fid,MED_GAUSS,numero,locname) < 0)
goto ERROR;
/*
* On va chercher l'attribut ngauss
*/
strcpy(chemin,MED_GAUSS);
strcat(chemin,locname);
if ((locid = _MEDdatagroupOuvrir(fid,chemin)) < 0) {
MESSAGE("Impossible d'ouvrir le datagroup : ");
SSCRUTE(chemin); goto ERROR;
}
/* Lecture de <ngauss> */
if (_MEDattrEntierLire(locid,MED_NOM_NBR,ngauss) < 0) {
MESSAGE("Erreur à la lecture de l'attribut MED_NOM_NBR : ");
ISCRUTE(*ngauss);goto ERROR;
};
/* Lecture <type_geo> sous forme d'attribut */
if (_MEDattrEntierLire(locid,MED_NOM_GEO,&typegeo) < 0) {
MESSAGE("Erreur à la lecture de l'attribut MED_NOM_GEO : ");
ISCRUTE(*type_geo);goto ERROR;
};
*type_geo = ( med_geometrie_element ) typegeo;
ret = 0;
ERROR:
if ( locid > 0 ) if (_MEDdatagroupFermer(locid) < 0)
goto ERROR;
return 0;
}
示例15: MEDsupportMeshInfoByName
med_err
MEDsupportMeshInfoByName(const med_idt fid,
const char * const supportmeshname,
med_int * const spacedim,
med_int * const meshdim,
char * const description,
med_axis_type * const axistype,
char * const axisname,
char * const axisunit)
{
med_err _ret=-1;
char _dtunit[MED_SNAME_SIZE+1]="";
med_sorting_type _sortingtype=MED_SORT_UNDEF;
med_mesh_type _meshtype = MED_UNDEF_MESH_TYPE;
med_int _nstep=0;
/*
* On inhibe le gestionnaire d'erreur HDF 5
*/
_MEDmodeErreurVerrouiller();
if ( _MEDmeshInfoByName(fid, MED_MESH_SUPPORT_GRP, supportmeshname, spacedim, meshdim, &_meshtype,
description, _dtunit, &_sortingtype, &_nstep,
axistype, axisname, axisunit) < 0) {
MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_MESH_MSG);
SSCRUTE(supportmeshname);SSCRUTE("MEDmeshInfoByName");
goto ERROR;
}
_ret = 0;
ERROR:
return _ret;
}