Class SWTCameraMouseController
java.lang.Object
org.jzy3d.chart.controllers.AbstractController
org.jzy3d.chart.controllers.camera.AbstractCameraController
org.jzy3d.chart.controllers.mouse.camera.SWTCameraMouseController
- All Implemented Interfaces:
EventListener, org.eclipse.swt.events.MouseListener, org.eclipse.swt.events.MouseMoveListener, org.eclipse.swt.events.MouseWheelListener, org.eclipse.swt.internal.SWTEventListener, ICameraMouseController
public class SWTCameraMouseController
extends org.jzy3d.chart.controllers.camera.AbstractCameraController
implements org.eclipse.swt.events.MouseListener, org.eclipse.swt.events.MouseMoveListener, org.eclipse.swt.events.MouseWheelListener
SWT camera mouse controller, modeled on
AWTCameraMouseController but kept to the 3D
camera essentials (rotate / shift / zoom).
The AWT controller's 2D selection rendering relies on AWTView.addRenderer2d +
AWTGraphicsUtils which are not available on the PanamaGL/SWT pipeline, so this
controller does not embed a 2D rectangle selection. Add your own SWT overlay if needed.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.jzy3d.maths.Coord2dprotected org.jzy3d.chart.controllers.RateLimiterFields inherited from class org.jzy3d.chart.controllers.camera.AbstractCameraController
perf, threadController, updateViewDefaultFields inherited from class org.jzy3d.chart.controllers.AbstractController
controllerListeners, target -
Constructor Summary
ConstructorsConstructorDescriptionSWTCameraMouseController(Chart chart) SWTCameraMouseController(Chart chart, org.jzy3d.chart.controllers.RateLimiter limiter) -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()org.jzy3d.chart.controllers.RateLimiterprotected booleanhandleSlaveThread(org.eclipse.swt.events.MouseEvent e) Toggle the auto-rotation slave thread the same way asAWTCameraMouseController: a double-click starts it, any other click stops it.voidmouseDoubleClick(org.eclipse.swt.events.MouseEvent e) voidmouseDown(org.eclipse.swt.events.MouseEvent e) voidmouseMove(org.eclipse.swt.events.MouseEvent e) voidmouseScrolled(org.eclipse.swt.events.MouseEvent e) voidmouseUp(org.eclipse.swt.events.MouseEvent e) voidvoidsetRateLimiter(org.jzy3d.chart.controllers.RateLimiter rateLimiter) voidunregister(Chart chart) Methods inherited from class org.jzy3d.chart.controllers.camera.AbstractCameraController
addSlaveThreadController, addThread, getLODPerf, getSlaveThreadController, getThread, isUpdateViewDefault, removeSlaveThreadController, rotate, rotate, rotate, setLODPerf, setUpdateViewDefault, shift, shift, startThreadController, stopThreadController, zoomX, zoomX, zoomY, zoomY, zoomZ, zoomZMethods inherited from class org.jzy3d.chart.controllers.AbstractController
addControllerEventListener, fireControllerEvent, getChart, getCharts, removeControllerEventListener
-
Field Details
-
rateLimiter
protected org.jzy3d.chart.controllers.RateLimiter rateLimiter -
prevMouse
protected org.jzy3d.maths.Coord2d prevMouse
-
-
Constructor Details
-
SWTCameraMouseController
public SWTCameraMouseController() -
SWTCameraMouseController
-
SWTCameraMouseController
-
-
Method Details
-
register
- Overrides:
registerin classorg.jzy3d.chart.controllers.AbstractController
-
unregister
- Overrides:
unregisterin classorg.jzy3d.chart.controllers.AbstractController
-
dispose
public void dispose()- Overrides:
disposein classorg.jzy3d.chart.controllers.camera.AbstractCameraController
-
getRateLimiter
public org.jzy3d.chart.controllers.RateLimiter getRateLimiter() -
setRateLimiter
public void setRateLimiter(org.jzy3d.chart.controllers.RateLimiter rateLimiter) -
mouseDown
public void mouseDown(org.eclipse.swt.events.MouseEvent e) - Specified by:
mouseDownin interfaceorg.eclipse.swt.events.MouseListener
-
mouseUp
public void mouseUp(org.eclipse.swt.events.MouseEvent e) - Specified by:
mouseUpin interfaceorg.eclipse.swt.events.MouseListener
-
mouseDoubleClick
public void mouseDoubleClick(org.eclipse.swt.events.MouseEvent e) - Specified by:
mouseDoubleClickin interfaceorg.eclipse.swt.events.MouseListener
-
mouseMove
public void mouseMove(org.eclipse.swt.events.MouseEvent e) - Specified by:
mouseMovein interfaceorg.eclipse.swt.events.MouseMoveListener
-
mouseScrolled
public void mouseScrolled(org.eclipse.swt.events.MouseEvent e) - Specified by:
mouseScrolledin interfaceorg.eclipse.swt.events.MouseWheelListener
-
handleSlaveThread
protected boolean handleSlaveThread(org.eclipse.swt.events.MouseEvent e) Toggle the auto-rotation slave thread the same way asAWTCameraMouseController: a double-click starts it, any other click stops it. Returnstrueif the thread was just started,falseotherwise (stopped or no controller bound).
-