void Canvas::changeModelFile( const std::string& fileName ) { size_t dotPos = fileName.find('.'); if (dotPos == std::string::npos) { return; } std::string suffix = fileName.substr(dotPos, fileName.size() - dotPos); std::transform(suffix.begin(), suffix.end(), suffix.begin(), std::tolower); if (suffix == ".group") { _destroymodel(); _clearModel(); _model = new Group; } else if (suffix == ".entity") { _destroymodel(); _clearModel(); _model = new Entity; } else if(suffix == ".mesh") { _destroymodel(); _clearModel(); _model = new Geometry; } else if(suffix == ".mz") { _destroymodel(); _clearModel(); _model = new MzModel; } else if(suffix == ".subentity") { _destroymodel(); _clearModel(); _model = new SubEntity; } else { return; } _model->decode(fileName); _createModel(); for (size_t i = 0; i != _observers.size(); ++i) { _observers[i]->update(_model); } }
void Canvas::_clear() { _isOK = false; for (size_t i = 0; i != Euclid::eFontProperty_Size; ++i) { _font[i] = NULL; } _fps = 0.0f; _clearModel(); }
void CViewWindow::changeModelFile( const std::string& fileName ) { size_t dotPos = fileName.find('.'); if (dotPos == std::string::npos) { return; } std::string suffix = fileName.substr(dotPos, fileName.size() - dotPos); std::transform(suffix.begin(), suffix.end(), suffix.begin(), std::tolower); EventArgsCTreeDlgChangeFile args; if(suffix == ".subentity") { _destroymodel(); _clearModel(); _model = new SubEntity; args.mType = eVisibleObjectType_SubEntity; } else if(suffix == ".entity") { _destroymodel(); _clearModel(); _model = new Entity; args.mType = eVisibleObjectType_Entity; } else if(suffix == ".mz") { _destroymodel(); _clearModel(); _model = new MzModel; args.mType = eVisibleObjectType_MzModel; } else { return; } std::string name = Zen::FileSystem::getInstancePtr()->standardFilePath(fileName); _model->decode(name); // args.mPrimitive = _model; EventManager::getInstancePtr()->fireEvent(eEvent_CTreeDlgChangeFile, &args); }
void CViewWindow::_clear() { _painted = false; _material = NULL; _vb = NULL; for (size_t i = 0; i != Zen::eFontProperty_Size; ++i) { _font[i] = NULL; } _fps = 0.0f; _clearModel(); //_camera.setPosition(Vec3(0.0f, 50.0f, 150.0f)); }