Example #1
0
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;
}
Example #2
0
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;
}