wxXmlNode* xLightsFrame::CreateModelNodeFromGroup(const std::string &name) { wxXmlNode* element; std::vector<Model*> models; std::string modelString; for(wxXmlNode* e=ModelGroupsNode->GetChildren(); e!=NULL; e=e->GetNext() ) { if (e->GetName() == "modelGroup") { if (name == e->GetAttribute("name")) { element = e; modelString = e->GetAttribute("models"); wxArrayString modelNames = wxSplit(modelString, ','); for (int x = 0; x < modelNames.size(); x++) { Model *c = GetModel(modelNames[x].ToStdString()); if (c != nullptr) { models.push_back(c); } } } } } if (models.size() == 0) { return NULL; } wxXmlNode * ret = BuildWholeHouseModel(name, element, models); ret->AddAttribute("models", modelString); return ret; }
wxXmlNode* ModelManager::CreateModelNodeFromGroup(int previewW, int previewH, wxXmlNode *e) { std::vector<Model*> models; std::string name = e->GetAttribute("name").ToStdString(); wxArrayString modelNames = wxSplit(e->GetAttribute("models"), ','); for (int x = 0; x < modelNames.size(); x++) { Model *c = GetModel(modelNames[x].ToStdString()); if (c != nullptr) { models.push_back(c); } } if (models.size() == 0) { return NULL; } wxXmlNode * ret = BuildWholeHouseModel(previewW, previewH, name, e, models); ret->AddAttribute("models", e->GetAttribute("models")); return ret; }