void RenderView::closeEvent(QCloseEvent * event) { m_closingRequested = true; // remove all visualization and reset to null implementation to correctly cleanup OpenGL states prepareDeleteData(dataObjects()); updateImplementation({}); AbstractRenderView::closeEvent(event); }
void AbstractRenderView::onSetSelection(const DataSelection & selection) { assert(selection.dataObject && dataObjects().contains(selection.dataObject)); const auto vis = visualizationFor(selection.dataObject); assert(vis); auto && newVisSelection = VisualizationSelection( selection, vis, vis->defaultVisualizationPort() ); setVisualizationSelection(newVisSelection); }
bool AbstractRenderView::contains(DataObject * dataObject, int subViewIndexOrAll) const { // optimize as needed (cache dataObjects() results...) return dataObjects(subViewIndexOrAll).contains(dataObject); }