Added managemnt of non critical errors

This commit is contained in:
Paolo Cignoni 2006-03-29 09:27:07 +00:00
parent 462fa9effe
commit 2705825f50
3 changed files with 38 additions and 0 deletions

View File

@ -24,6 +24,9 @@
History
$Log: not supported by cvs2svn $
Revision 1.38 2006/03/29 08:17:56 corsini
fix typo
Revision 1.37 2006/03/27 07:15:59 cignoni
Added LoadMask
@ -286,9 +289,17 @@ int OpenMesh(const char *filename, CMesh &m)
if (err)
{
if(tri::io::Importer<CMesh>::ErrorCritical(err))
{
printf("\n Error during loading %s: '%s'\n",filename,
tri::io::Importer<CMesh>::ErrorMsg(err));
exit(-1);
}
else
{
printf("\n Non Critical Troubles during loading %s: '%s'\n",filename,
tri::io::Importer<CMesh>::ErrorMsg(err));
}
}
else
printf(" done.\n\n");

View File

@ -25,6 +25,9 @@
History
$Log: not supported by cvs2svn $
Revision 1.10 2006/03/29 08:16:31 corsini
Minor change in LoadMask
Revision 1.9 2006/03/27 07:17:49 cignoni
Added generic LoadMask
@ -135,6 +138,19 @@ static int Open(OpenMeshType &m, const char *filename, int &loadmask, CallBackPo
return err;
}
static bool ErrorCritical(int error)
{
switch(LastType())
{
case KT_PLY : return (error>0); break;
case KT_STL : return (error>0); break;
case KT_OFF : return (error>0); break;
case KT_OBJ : return ImporterOBJ<OpenMeshType>::ErrorCritical(error); break;
}
return true;
}
static const char *ErrorMsg(int error)
{
switch(LastType())
@ -142,6 +158,7 @@ static const char *ErrorMsg(int error)
case KT_PLY : return ImporterPLY<OpenMeshType>::ErrorMsg(error); break;
case KT_STL : return ImporterSTL<OpenMeshType>::ErrorMsg(error); break;
case KT_OFF : return ImporterOFF<OpenMeshType>::ErrorMsg(error); break;
case KT_OBJ : return ImporterOBJ<OpenMeshType>::ErrorMsg(error); break;
}
return "Unknown type";
}

View File

@ -25,6 +25,9 @@
History
$Log: not supported by cvs2svn $
Revision 1.3 2006/03/29 08:51:16 corsini
reset to zero warnings
Revision 1.2 2006/03/27 07:18:22 cignoni
added missing std::
@ -165,6 +168,13 @@ enum OBJError {
E_BAD_VERT_NORMAL_INDEX = 0x020 // 16
};
// to check if a given error is critical or not.
static bool ErrorCritical(int err)
{
if(err<0x00A && err>=0) return false;
return true;
}
static const char* ErrorMsg(int error)
{
static const char* obj_error_msg[] =