diff --git a/Geo/Chain.cpp b/Geo/Chain.cpp index c56186f658e5b584ecfa91d91771c47a5b8d7bc0..dd80308fd12840ed93b8b2ed9af96f1c2388e485 100644 --- a/Geo/Chain.cpp +++ b/Geo/Chain.cpp @@ -27,6 +27,12 @@ void updateFltkTree() #endif } +std::string convertInt(int number){ + std::stringstream stream; + stream << number; + return stream.str(); +} + std::map<GEntity*, std::set<MVertex*, MVertexLessThanNum>, GEntityLessThan> ElemChain::_vertexCache; diff --git a/Geo/Chain.h b/Geo/Chain.h index d3b6b1a48654169986f9c10a1044efa52645bf37..c3d3766432a6553b9e1103b7a1e4c1c2d6c05e2d 100644 --- a/Geo/Chain.h +++ b/Geo/Chain.h @@ -21,14 +21,7 @@ #if defined(HAVE_KBIPACK) void updateFltkTree(); - -template <class TTypeA, class TTypeB> - bool convert(const TTypeA& input, TTypeB& output ){ - std::stringstream stream; - stream << input; - stream >> output; - return stream.good(); -} +std::string convertInt(int number); // Class whose derivative classes are to have partial or total order template <class Type> @@ -508,17 +501,16 @@ void Chain<C>::addToModel(GModel* m, bool post, #if defined(HAVE_POST) if(post && CTX::instance()->batch == 0) { // create PView for instant visualization - /*std::string pnum = ""; - convert(physicalNum, pnum); + std::string pnum = convertInt(physicalNum); std::string postname = pnum + ": " + _name; PView* view = new PView(postname, "ElementData", m, data, 0, 1); // the user should be interested about the orientations - int size = 30; + /*int size = 30; PViewOptions* opt = view->getOptions(); if(opt->tangents == 0) opt->tangents = size; if(opt->normals == 0) opt->normals = size; - view->setOptions(opt); - updateFltkTree();*/ + view->setOptions(opt);*/ + updateFltkTree(); } #endif } diff --git a/Geo/Homology.cpp b/Geo/Homology.cpp index acd72f12fce7db75ba4b59bd350bba499c74e7b2..2159ebc4dec338addecc89aca9d6bd8b4a8c0578 100644 --- a/Geo/Homology.cpp +++ b/Geo/Homology.cpp @@ -208,12 +208,10 @@ void Homology::findHomologyBasis(std::vector<int> dim) _deleteChains(dim); for(int j = 0; j < 4; j++){ _betti[j] = 0; - std::string dimension = ""; - convert(j, dimension); + std::string dimension = convertInt(j); for(int i = 1; i <= chainComplex.getBasisSize(j, 3); i++){ - std::string generator = ""; - convert(i, generator); + std::string generator = convertInt(i); std::string name = "H_" + dimension + domain + generator; std::map<Cell*, int, Less_Cell> chain; @@ -291,13 +289,11 @@ void Homology::findCohomologyBasis(std::vector<int> dim) _deleteCochains(dim); for(int i = 0; i < 4; i++) _betti[i] = 0; for(int j = 3; j > -1; j--){ - std::string dimension = ""; - convert(j, dimension); + std::string dimension = convertInt(j); for(int i = 1; i <= chainComplex.getBasisSize(j, 3); i++){ - std::string generator = ""; - convert(i, generator); + std::string generator = convertInt(i); std::string name = "H^" + dimension + domain + generator; std::map<Cell*, int, Less_Cell> chain; @@ -538,8 +534,7 @@ std::string Homology::_getDomainString(const std::vector<int>& domain, if(domain.empty()) domainString += "0"; else{ for(unsigned int i = 0; i < domain.size(); i++){ - std::string temp = ""; - convert(domain.at(i),temp); + std::string temp = convertInt(domain.at(i)); domainString += temp; if (domain.size()-1 > i){ domainString += ", "; @@ -551,8 +546,7 @@ std::string Homology::_getDomainString(const std::vector<int>& domain, if(!subdomain.empty()){ domainString += ", {"; for(unsigned int i = 0; i < subdomain.size(); i++){ - std::string temp = ""; - convert(subdomain.at(i),temp); + std::string temp = convertInt(subdomain.at(i)); domainString += temp; if (subdomain.size()-1 > i){ domainString += ", "; diff --git a/Plugin/HomologyPostProcessing.cpp b/Plugin/HomologyPostProcessing.cpp index 3848aeeb0ebd5525be4fa6ae76e557bb768fb809..fd0d912896799a655f938bcdb11959441b025d01 100644 --- a/Plugin/HomologyPostProcessing.cpp +++ b/Plugin/HomologyPostProcessing.cpp @@ -288,11 +288,9 @@ PView *GMSH_HomologyPostProcessingPlugin::execute(PView *v) ElemChain::clearVertexCache(); } - std::string dims = ""; - std::string nums = ""; for(unsigned int i = 0; i < newBasis.size(); i++) { - convert(newBasis.at(i).getDim(), dims); - convert(i+1, nums); + std::string dims = convertInt(newBasis.at(i).getDim()); + std::string nums = convertInt(i+1); newBasis.at(i).setName("C" + dims + " " + cname + nums); newBasis.at(i).addToModel(m); }