void Surface_Render_Plugin::mapAdded(MapHandlerGen *map) { DEBUG_SLOT(); connect(map, SIGNAL(vboAdded(Utils::VBO*)), this, SLOT(vboAdded(Utils::VBO*))); connect(map, SIGNAL(vboRemoved(Utils::VBO*)), this, SLOT(vboRemoved(Utils::VBO*))); connect(map, SIGNAL(boundingBoxModified()), this, SLOT(boundingBoxModified())); }
void View::linkMap(MapHandlerGen* map) { // RECORDING QTextStream* rec = m_schnapps->pythonStreamRecorder(); if (rec) *rec << this->getName() << ".linkMap(\"" << map->getName() << "\");" << endl; DEBUG_SLOT(); if(map && !l_maps.contains(map)) { l_maps.push_back(map); map->linkView(this); DEBUG_EMIT("mapLinked"); emit(mapLinked(map)); connect(map, SIGNAL(selectedCellsChanged(CellSelectorGen*)), this, SLOT(updateGL())); connect(map, SIGNAL(boundingBoxModified()), this, SLOT(updateBoundingBox())); if(map->isSelectedMap()) setManipulatedFrame(map->getFrame()); updateBoundingBox(); b_updatingUI = true; m_dialogMaps->check(map->getName(), Qt::Checked); b_updatingUI = false; }
void Surface_Render_Plugin::mapRemoved(MapHandlerGen *map) { DEBUG_SLOT(); disconnect(map, SIGNAL(vboAdded(Utils::VBO*)), this, SLOT(vboAdded(Utils::VBO*))); disconnect(map, SIGNAL(vboRemoved(Utils::VBO*)), this, SLOT(vboRemoved(Utils::VBO*))); disconnect(map, SIGNAL(boundingBoxModified()), this, SLOT(boundingBoxModified())); if(map == m_schnapps->getSelectedMap()) m_dockTab->updateMapParameters(); }
void Surface_Render_Plugin::boundingBoxModified() { DEBUG_SLOT(); MapHandlerGen* map = static_cast<MapHandlerGen*>(QObject::sender()); QList<View*> views = map->getLinkedViews(); foreach(View* v, views) { if (h_viewParameterSet.contains(v)) h_viewParameterSet[v][map].basePSradius = map->getBBdiagSize() / (2 * std::sqrt(map->getNbOrbits(EDGE))); } }
void Surface_Render_Plugin::changeVerticesScaleFactor(const QString& view, const QString& map, float f) { DEBUG_SLOT(); View* v = m_schnapps->getView(view); MapHandlerGen* m = m_schnapps->getMap(map); if(v && m) { h_viewParameterSet[v][m].verticesScaleFactor = f; if(v->isSelectedView()) { if(v->isLinkedToMap(m)) v->updateGL(); if(m->isSelectedMap()) m_dockTab->updateMapParameters(); } } }
void Surface_Render_Plugin::vboAdded(Utils::VBO *vbo) { DEBUG_SLOT(); MapHandlerGen* map = static_cast<MapHandlerGen*>(QObject::sender()); if(map == m_schnapps->getSelectedMap()) { if(vbo->dataSize() == 3) { m_dockTab->addPositionVBO(QString::fromStdString(vbo->name())); m_dockTab->addNormalVBO(QString::fromStdString(vbo->name())); m_dockTab->addColorVBO(QString::fromStdString(vbo->name())); } } }
void Surface_Render_Plugin::changeBackColor(const QString& view, const QString& map, float r, float g, float b) { DEBUG_SLOT(); View* v = m_schnapps->getView(view); MapHandlerGen* m = m_schnapps->getMap(map); if (v && m) { h_viewParameterSet[v][m].backColor = Geom::Vec4f(r, g, b, 0); if (v->isSelectedView()) { if (v->isLinkedToMap(m)) v->updateGL(); if (m->isSelectedMap()) m_dockTab->updateMapParameters(); } } }
void Surface_Render_Plugin::changeRenderBackfaces(const QString& view, const QString& map, bool b) { DEBUG_SLOT(); View* v = m_schnapps->getView(view); MapHandlerGen* m = m_schnapps->getMap(map); if (v && m) { h_viewParameterSet[v][m].renderBackfaces = b; if (v->isSelectedView()) { if (v->isLinkedToMap(m)) v->updateGL(); if (m->isSelectedMap()) m_dockTab->updateMapParameters(); } } }
void Surface_Render_Plugin::changeColorVBO(const QString& view, const QString& map, const QString& vbo) { DEBUG_SLOT(); View* v = m_schnapps->getView(view); MapHandlerGen* m = m_schnapps->getMap(map); if(v && m) { Utils::VBO* vbuf = m->getVBO(vbo); h_viewParameterSet[v][m].colorVBO = vbuf; if(v->isSelectedView()) { if(v->isLinkedToMap(m)) v->updateGL(); if(m->isSelectedMap()) m_dockTab->updateMapParameters(); } } }
void Surface_Render_Plugin::changeFacesStyle(const QString& view, const QString& map, int iStyle) { MapParameters::FaceShadingStyle style = MapParameters::FaceShadingStyle(iStyle); DEBUG_SLOT(); View* v = m_schnapps->getView(view); MapHandlerGen* m = m_schnapps->getMap(map); if(v && m) { h_viewParameterSet[v][m].faceStyle = style; if(v->isSelectedView()) { if(v->isLinkedToMap(m)) v->updateGL(); if(m->isSelectedMap()) m_dockTab->updateMapParameters(); } } }
void Surface_Render_Plugin::changeRenderEdges(const QString& view, const QString& map, bool b) { DEBUG_SLOT(); View* v = m_schnapps->getView(view); MapHandlerGen* m = m_schnapps->getMap(map); if(v && m) { h_viewParameterSet[v][m].renderEdges = b; if (b) h_viewParameterSet[v][m].basePSradius = m->getBBdiagSize() / (16 * std::sqrt(m->getNbOrbits(EDGE))); if(v->isSelectedView()) { if(v->isLinkedToMap(m)) v->updateGL(); if(m->isSelectedMap()) m_dockTab->updateMapParameters(); } } }
void Surface_Selection_Plugin::changeVerticesBaseSize(const QString& map, float f) { DEBUG_SLOT(); MapHandlerGen* m = m_schnapps->getMap(map); if (m) { h_parameterSet[m].basePSradius = f; if (m->isSelectedMap()) m_dockTab->updateMapParameters(); } View* v = m_schnapps->getSelectedView(); if (v) { if (v->isLinkedToMap(m)) v->updateGL(); } }
void Surface_Render_Plugin::vboRemoved(Utils::VBO *vbo) { DEBUG_SLOT(); MapHandlerGen* map = static_cast<MapHandlerGen*>(QObject::sender()); if(map == m_schnapps->getSelectedMap()) { if(vbo->dataSize() == 3) { m_dockTab->removePositionVBO(QString::fromStdString(vbo->name())); m_dockTab->removeNormalVBO(QString::fromStdString(vbo->name())); m_dockTab->removeColorVBO(QString::fromStdString(vbo->name())); } } QSet<View*> viewsToUpdate; QHash<View*, QHash<MapHandlerGen*, MapParameters> >::iterator i; for (i = h_viewParameterSet.begin(); i != h_viewParameterSet.end(); ++i) { View* view = i.key(); QHash<MapHandlerGen*, MapParameters>& viewParamSet = i.value(); MapParameters& mapParam = viewParamSet[map]; if(mapParam.positionVBO == vbo) { mapParam.positionVBO = NULL; if(view->isLinkedToMap(map)) viewsToUpdate.insert(view); } if(mapParam.normalVBO == vbo) { mapParam.normalVBO = NULL; if(view->isLinkedToMap(map)) viewsToUpdate.insert(view); } if(mapParam.colorVBO == vbo) { mapParam.colorVBO = NULL; if(view->isLinkedToMap(map)) viewsToUpdate.insert(view); } } foreach(View* v, viewsToUpdate) v->updateGL(); }
void View::linkPlugin(PluginInteraction* plugin) { // RECORDING QTextStream* rec = m_schnapps->pythonStreamRecorder(); if (rec) *rec << this->getName() << ".linkPlugin(\"" << plugin->getName() << "\");" << endl; DEBUG_SLOT(); if(plugin && !l_plugins.contains(plugin)) { l_plugins.push_back(plugin); plugin->linkView(this); DEBUG_EMIT("pluginLinked"); emit(pluginLinked(plugin)); b_updatingUI = true; m_dialogPlugins->check(plugin->getName(), Qt::Checked); b_updatingUI = false; updateGL(); } }
void View::unlinkPlugin(PluginInteraction* plugin) { DEBUG_SLOT(); if(l_plugins.removeOne(plugin)) { // RECORDING QTextStream* rec = m_schnapps->pythonStreamRecorder(); if (rec) *rec << this->getName() << ".unlinkPlugin(\"" << plugin->getName() << "\");" << endl; plugin->unlinkView(this); DEBUG_EMIT("pluginUnlinked"); emit(pluginUnlinked(plugin)); b_updatingUI = true; m_dialogPlugins->check(plugin->getName(), Qt::Unchecked); b_updatingUI = false; updateGL(); } }
void Surface_Render_Plugin::selectedViewChanged(View *prev, View *cur) { DEBUG_SLOT(); m_dockTab->updateMapParameters(); }
void Surface_Render_Plugin::selectedMapChanged(MapHandlerGen *prev, MapHandlerGen *cur) { DEBUG_SLOT(); m_dockTab->updateMapParameters(); }