Changeset 836 for XIOS/trunk/src/node/domain.cpp
- Timestamp:
- 04/08/16 15:00:45 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/node/domain.cpp
r829 r836 56 56 CDomain* domain = CDomainGroup::get("domain_definition")->createChild(); 57 57 return domain; 58 } 59 60 std::map<StdString, ETranformationType> CDomain::transformationMapList_ = std::map<StdString, ETranformationType>(); 61 bool CDomain::_dummyTransformationMapList = CDomain::initializeTransformationMap(CDomain::transformationMapList_); 62 63 bool CDomain::initializeTransformationMap(std::map<StdString, ETranformationType>& m) 64 { 65 m["zoom_domain"] = TRANS_ZOOM_DOMAIN; 66 m["interpolate_domain"] = TRANS_INTERPOLATE_DOMAIN; 67 m["generate_rectilinear_domain"] = TRANS_GENERATE_RECTILINEAR_DOMAIN; 58 68 } 59 69 … … 1906 1916 } 1907 1917 1918 CTransformation<CDomain>* CDomain::addTransformation(ETranformationType transType, const StdString& id) 1919 { 1920 transformationMap_.push_back(std::make_pair(transType, CTransformation<CDomain>::createTransformation(transType,id))); 1921 return transformationMap_.back().second; 1922 } 1923 1908 1924 /*! 1909 1925 Check whether a domain has transformation … … 1987 2003 if (node.goToChildElement()) 1988 2004 { 1989 StdString zoomDomainDefRoot("zoom_domain_definition"); 1990 StdString zoom("zoom_domain"); 1991 StdString interpDomainDefRoot("interpolate_domain_definition"); 1992 StdString interpFromFile("interpolate_domain"); 1993 StdString generateRectilinearDefRoot("generate_rectilinear_domain_definition"); 1994 StdString generateRectilinear("generate_rectilinear_domain"); 2005 StdString nodeElementName; 1995 2006 do 1996 2007 { … … 1999 2010 { nodeId = node.getAttributes()["id"]; } 2000 2011 2001 if (node.getElementName() == zoom) { 2002 CZoomDomain* tmp = (CZoomDomainGroup::get(zoomDomainDefRoot))->createChild(nodeId); 2003 tmp->parse(node); 2004 transformationMap_.push_back(std::make_pair(TRANS_ZOOM_DOMAIN,tmp)); 2005 } 2006 else if (node.getElementName() == interpFromFile) 2012 nodeElementName = node.getElementName(); 2013 std::map<StdString, ETranformationType>::const_iterator ite = transformationMapList_.end(), it; 2014 it = transformationMapList_.find(nodeElementName); 2015 if (ite != it) 2007 2016 { 2008 CInterpolateDomain* tmp = (CInterpolateDomainGroup::get(interpDomainDefRoot))->createChild(nodeId); 2009 tmp->parse(node); 2010 transformationMap_.push_back(std::make_pair(TRANS_INTERPOLATE_DOMAIN,tmp)); 2011 } 2012 else if (node.getElementName() == generateRectilinear) 2013 { 2014 CGenerateRectilinearDomain* tmp = (CGenerateRectilinearDomainGroup::get(generateRectilinearDefRoot))->createChild(nodeId); 2015 tmp->parse(node); 2016 transformationMap_.push_back(std::make_pair(TRANS_GENERATE_RECTILINEAR_DOMAIN,tmp)); 2017 transformationMap_.push_back(std::make_pair(it->second, CTransformation<CDomain>::createTransformation(it->second, 2018 nodeId, 2019 &node))); 2017 2020 } 2018 2021 } while (node.goToNextElement()) ;
Note: See TracChangeset
for help on using the changeset viewer.