Hi,
How can I programmatically prevent panning, zooming, yaw, pitch movements on the screen whenever I want?
Best regards…
- MUSTAFA KELSAKA asked 3 years ago
- You must login to post comments
Hi Mustafa,
You can disable separate modifiers by setting IsEnabled = false
Hope this will help you!
Best regards,
Yura
- Yura Khariton answered 3 years ago
- You must login to post comments
Thanks for answer. I’am a begineer developer. Therefore it is difficult to understand. My init code is below. I want features such as pan, tilt, zoom to be disabled when I press a button in the application.
public void initChart3D() {
final SciChart3DBuilder sciChart3DBuilder = SciChart3DBuilder.instance();
final Camera3D camera = sciChart3DBuilder.newCamera3D().build();
NumericAxis3D xAxis = sciChart3DBuilder.newNumericAxis3D().withGrowBy(.1, .1).build();
NumericAxis3D zAxis = sciChart3DBuilder.newNumericAxis3D().withGrowBy(.1, .1).build();
NumericAxis3D yAxis = sciChart3DBuilder.newNumericAxis3D().withGrowBy(0, 2500).build();
final int[] colors = new int[] { DarkBlue, CornflowerBlue, DarkGreen, Chartreuse, Yellow, Red};
final float[] stops = new float[]{ 0.1f, 0.2f, 0.4f, 0.6f, 0.8f, 1};
SurfaceMeshRenderableSeries3D rs1 = sciChart3DBuilder.newSurfaceMeshSeries3D()
.withDataSeries(ds3d)
.withDrawMeshAs(DrawMeshAs.SolidWireframe)
.withStroke(0xFFE0E0E0)
.withStrokeThicknes(1f)
.withMaximum(5000)
.withDrawSkirt(false)
.withMeshColorPalette(new GradientColorPalette(colors, stops))
.withOpacity(1.0f)
.build();
surface3d.setTheme(R.style.SciChart_ExpressionDarkStyle);
surface3d.setCamera(camera);
surface3d.setXAxis(xAxis);
surface3d.setYAxis(yAxis);
surface3d.setIsFpsCounterVisible(false);
surface3d.setZAxis(zAxis);
surface3d.getRenderableSeries().add(rs1);
surface3d.getChartModifiers().add(sciChart3DBuilder.newModifierGroup()
.withPinchZoomModifier3D().build()
.build());
setData3D();
}
//,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
public void setData3D()
{
for(int i = 0; i<w; i++ )
{
for (int j = 0; j<h ; j++)
{
ds3d.updateYAt(i, j, voltaj_datalari[i][j]);
}
}
}
I also add the following code to the button onclick method but it doesn’t work.
zoomPanModifier.setIsEnabled(false);
Thank you very much for your help.
- MUSTAFA KELSAKA answered 3 years ago
- You must login to post comments
Hi Mustafa,
It’s unclear for me how you get reference for PinchZoomModifier3D, if you define modifiers like this:
surface3d.getChartModifiers().add(sciChart3DBuilder.newModifierGroup()
.withPinchZoomModifier3D().build()
.build());
I would rewrite that code to create and store PinchZoomModifier3D instance outside in private variable, and then add it in modifier group like this:
private PinchZoomModifier3D pinchZoomModifier = new PinchZoomModifier3D();
surface3d.getChartModifiers().add(sciChart3DBuilder.newModifierGroup()
.withModifier(pinchZoomModifier)
.build());
In this case when you call:
pinchZoomModifier.setIsEnabled(false);
this will disable modifier instance which is used by chart.
Hope this will help you!
Best regards,
Yura
- Yura Khariton answered 3 years ago
-
Thanks for be interested. Problem is solved.
- You must login to post comments
Please login first to submit.