@@ -128,6 +128,10 @@ ScatterplotWidget::ScatterplotWidget(mv::plugin::ViewPlugin* parentPlugin) :
128128 _samplerPixelSelectionTool.setEnabled (true );
129129 _samplerPixelSelectionTool.setMainColor (QColor (Qt::black));
130130 _samplerPixelSelectionTool.setFixedBrushRadiusModifier (Qt::AltModifier);
131+
132+ getPointRendererNavigator ().setEnabled (true );
133+
134+ _densityRenderer.setCustomNavigator (&getPointRendererNavigator ());
131135}
132136
133137bool ScatterplotWidget::event (QEvent* event)
@@ -199,27 +203,17 @@ void ScatterplotWidget::setRenderMode(const RenderMode& renderMode)
199203
200204 emit renderModeChanged (_renderMode);
201205
202- _pointRenderer.getNavigator ().setEnabled (_renderMode == SCATTERPLOT);
203- _densityRenderer.getNavigator ().setEnabled (_renderMode == DENSITY || _renderMode == LANDSCAPE);
204-
205206 switch (_renderMode)
206207 {
207208 case ScatterplotWidget::SCATTERPLOT:
208209 {
209- getPointRendererNavigator ().setEnabled (true );
210- getDensityRendererNavigator ().setEnabled (false );
211-
212210 break ;
213211 }
214212
215213 case ScatterplotWidget::DENSITY:
216214 case ScatterplotWidget::LANDSCAPE:
217215 {
218- getPointRendererNavigator ().setEnabled (false );
219- getDensityRendererNavigator ().setEnabled (true );
220-
221216 computeDensity ();
222- _densityRenderer.getNavigator ().resetView ();
223217
224218 break ;
225219 }
@@ -272,15 +266,18 @@ void ScatterplotWidget::setData(const std::vector<Vector2f>* points)
272266 auto dataBounds = getDataBounds (*points);
273267
274268 _pointRenderer.setDataBounds (QRectF (QPointF (dataBounds.getLeft (), dataBounds.getBottom ()), QSizeF (dataBounds.getWidth (), dataBounds.getHeight ())));
275-
269+ _densityRenderer.setDataBounds (QRectF (QPointF (dataBounds.getLeft (), dataBounds.getBottom ()), QSizeF (dataBounds.getWidth (), dataBounds.getHeight ())));
270+
276271 _dataRectangleAction.setBounds (dataBounds);
277272
278- dataBounds.ensureMinimumSize (1e-07f , 1e-07f );
279- dataBounds.makeSquare ();
280- dataBounds.expand (0 .1f );
273+ auto densityDataBounds = dataBounds;
281274
282- _densityRenderer.setDataBounds (QRectF (QPointF (dataBounds.getLeft (), dataBounds.getBottom ()), QSizeF (dataBounds.getWidth (), dataBounds.getHeight ())));
275+ // densityDataBounds.ensureMinimumSize(1e-07f, 1e-07f);
276+ // densityDataBounds.makeSquare();
277+ // densityDataBounds.expand(0.1f);
283278
279+ _densityRenderer.setDensityComputationDataBounds (QRectF (QPointF (densityDataBounds.getLeft (), densityDataBounds.getBottom ()), QSizeF (densityDataBounds.getWidth (), densityDataBounds.getHeight ())));
280+
284281 _pointRenderer.setData (*points);
285282 _densityRenderer.setData (points);
286283
@@ -601,12 +598,6 @@ bool ScatterplotWidget::getRandomizedDepthEnabled() const
601598 return _pointRenderer.getRandomizedDepthEnabled ();
602599}
603600
604- void ScatterplotWidget::updateNavigationActionVisibility ()
605- {
606- _pointRenderer.getNavigator ().getNavigationAction ().setVisible (getRenderMode () == ScatterplotWidget::SCATTERPLOT);
607- _densityRenderer.getNavigator ().getNavigationAction ().setVisible (getRenderMode () == ScatterplotWidget::DENSITY || getRenderMode () == ScatterplotWidget::LANDSCAPE);
608- }
609-
610601void ScatterplotWidget::initializeGL ()
611602{
612603 initializeOpenGLFunctions ();
0 commit comments