-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
using namespace std;
namespace MED_RENUMBER
-{
+{
Renumbering* RenumberingFactory(const string &s)
{
#ifdef MED_ENABLE_METIS
#ifdef ENABLE_BOOST
- if (s=="METIS")
+ if (s==METIS_ALG)
{
return new METISRenumbering;
}
- else if(s=="BOOST")
+ else if(s==BOOST_ALG)
{
return new BOOSTRenumbering;
}
}
#endif
#ifndef ENABLE_BOOST
- if (s=="METIS")
+ if (s==METIS_ALG)
{
return new METISRenumbering;
}
#endif
#ifndef MED_ENABLE_METIS
#ifdef ENABLE_BOOST
- if (s=="BOOST")
+ if (s==BOOST_ALG)
{
return new BOOSTRenumbering;
}
#endif
#endif
}
+
+ std::vector<std::string> AllRenumberMethods()
+ {
+ std::vector<std::string> ret;
+ ret.push_back(std::string(BOOST_ALG));
+ ret.push_back(std::string(METIS_ALG));
+ return ret;
+ }
+
+ std::vector<std::string> RenumberAvailableMethods()
+ {
+ std::vector<std::string> ret;
+#ifdef ENABLE_BOOST
+ ret.push_back(std::string(BOOST_ALG));
+#endif
+#ifdef MED_ENABLE_METIS
+ ret.push_back(std::string(METIS_ALG));
+#endif
+ return ret;
+ }
}