|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector com.jzy3d.surfedit.controllers.AWTMouseController
public class AWTMouseController
Updates the highlighted status of each surface cell, and query a chart repaint when the
selection changes.
The implementation of the AWTMouseController
tool relies on View.toScreen()
which project all the
surface data to 2d. The projection is updated after a call to prepareProjection()
, so:
Field Summary | |
---|---|
protected List<org.jzy3d.events.ControllerEventListener> |
controllerListeners
|
protected boolean |
createSelection
|
protected boolean |
currentCellSelectionChanged
|
protected SelectionRectangle |
currentRectangleSelection
|
protected org.jzy3d.maths.Coord2d |
currMouse
|
protected boolean |
dragZ
|
protected Map<org.jzy3d.maths.PolygonArray,Polygon> |
hullMap
|
protected List<CellSelectedEventListener> |
listeners
|
protected org.jzy3d.events.IDrawableListener |
morphologyListener
|
protected org.jzy3d.maths.Coord2d |
prevMouse
|
protected boolean |
rotateStarted
|
protected SelectionMode |
selectionMode
|
protected Set<Cell> |
selections
|
protected boolean |
startDragAndSelect
|
protected IInteractiveSurface |
surface
|
protected boolean |
tooltipOn
|
protected boolean |
useShiftToMakeRectangle
|
protected boolean |
wasLeftDown
|
protected boolean |
wheelOn
|
Fields inherited from class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector |
---|
chart, dragging, in, last, out, selectionRenderer |
Constructor Summary | |
---|---|
AWTMouseController(IInteractiveSurface surface)
|
Method Summary | |
---|---|
boolean |
addCellSelectedEventListener(CellSelectedEventListener listener)
|
void |
addControllerEventListener(org.jzy3d.events.ControllerEventListener listener)
|
protected boolean |
applyAndBroadcastMaximalSelection(com.jzy3d.surfedit.controllers.CellReference selection)
|
protected boolean |
applyAndBroadcastSelection(com.jzy3d.surfedit.controllers.CellReference selection)
|
protected void |
applyAndBroadcastSingleSelection(com.jzy3d.surfedit.controllers.CellReference selection)
|
protected org.jzy3d.plot3d.primitives.AbstractWireframeable |
asWireframeable(IInteractiveSurface surface)
|
protected InteractiveChart |
castChart()
|
void |
clearLastSelection()
|
protected void |
clearTooltip()
|
protected boolean |
contains(org.jzy3d.maths.PolygonArray projection,
int x,
int y)
|
protected Polygon |
convert(org.jzy3d.maths.PolygonArray cell)
Returns the polygon as AWT. |
protected void |
dragSelection(MouseEvent e)
|
protected void |
dragZ(MouseEvent e)
|
protected void |
drawSelection(Graphics2D g2d,
int width,
int height)
|
protected void |
editZValues()
|
protected void |
fireCellSelectedEvent(CellSelectedEvent e)
|
protected void |
fireCellsSelectedEvent(CellsSelectedEvent e)
|
protected void |
fireCellsUnselectedEvent()
|
protected void |
fireControllerEvent(org.jzy3d.chart.controllers.ControllerType type,
Object value)
|
List<CellSelectedEventListener> |
getCellSelectedEventListeners()
|
com.jzy3d.surfedit.controllers.CellReference |
getCellUnderMouse()
|
protected com.jzy3d.surfedit.controllers.CellReference |
getCellUnderMouse(int x,
int y)
Set highlighted cells according to mouse position. |
protected com.jzy3d.surfedit.controllers.CellReference |
getCellUnderMouse(MouseEvent e)
|
protected com.jzy3d.surfedit.controllers.CellReference |
getCellUnderMouseAndAppendToSelection(MouseEvent e)
Multi-cell selection |
protected com.jzy3d.surfedit.controllers.CellReference |
getCellUnderMouseAndSetSingleSelection(MouseEvent e)
Single-cell selection. |
SelectionMode |
getSelectionMode()
|
protected org.jzy3d.maths.Rectangle |
getViewport()
|
protected Polygon |
hull(org.jzy3d.maths.PolygonArray cell)
Computes the convex hull of a list of points and returns it as an AWT polygon. |
protected org.jzy3d.plot3d.rendering.view.Renderer2d |
initRenderer2d(org.jzy3d.plot3d.rendering.canvas.ICanvas c)
OVERLAY |
protected boolean |
isCellAlreadyHighlighted(com.jzy3d.surfedit.controllers.CellReference selection)
|
boolean |
isTooltipOn()
|
boolean |
isUseShiftToMakeRectangle()
|
boolean |
isWheelOn()
If wheel is on, then the wheel can be used to scale the graph. |
void |
mouseDragged(MouseEvent e)
|
void |
mouseMoved(MouseEvent e)
|
void |
mousePressed(MouseEvent e)
|
void |
mouseReleased(MouseEvent e)
|
void |
mouseWheelMoved(MouseWheelEvent e)
|
protected boolean |
onViewport(MouseEvent e)
Returns true if the mouse stands on the Chart's viewport. |
protected void |
processSelection(org.jzy3d.plot3d.rendering.scene.Scene scene,
org.jzy3d.plot3d.rendering.view.View view,
int width,
int height)
|
protected void |
releaseSelection(MouseEvent e)
|
boolean |
removeCellSelectedEventListener(CellSelectedEventListener listener)
|
void |
removeControllerEventListener(org.jzy3d.events.ControllerEventListener listener)
|
void |
reset()
|
protected void |
rollOver(MouseEvent e)
Highlight surface cells standing under the mouse pointer, and update display. |
void |
setCellSelectedEventListeners(List<CellSelectedEventListener> listeners)
|
void |
setSelectionMode(SelectionMode mode)
|
void |
setTooltipOn(boolean tooltipOn)
|
void |
setUseShiftToMakeRectangle(boolean useShiftToMakeRectangle)
If true, uses the following commands: mouse only allows cell by cell selection mouse + shift allows rectangular selection If false, uses the following commands: mouse only allows rectangular selection mouse + control selection allows cell by cell selection All selections are additive until one presses the ESC key. |
void |
setWheelOn(boolean wheelOn)
|
protected void |
startDragZ(MouseEvent e)
|
protected void |
startDragZ(MouseEvent e,
boolean updatePrevMouse)
|
protected void |
startSelection(MouseEvent e)
|
protected void |
stopDragZ(MouseEvent e)
|
protected void |
updateTooltip(com.jzy3d.surfedit.controllers.CellReference selection)
|
Methods inherited from class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector |
---|
dispose, drawRectangle, matchRectangleSelection, matchRectangleSelection, mouseClicked, mouseEntered, mouseExited, mouseWheelMoved, register, unregister, updateLast |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected IInteractiveSurface surface
protected Map<org.jzy3d.maths.PolygonArray,Polygon> hullMap
protected Set<Cell> selections
protected org.jzy3d.maths.Coord2d currMouse
protected org.jzy3d.maths.Coord2d prevMouse
protected boolean rotateStarted
protected boolean wasLeftDown
protected boolean tooltipOn
protected boolean currentCellSelectionChanged
protected SelectionMode selectionMode
protected SelectionRectangle currentRectangleSelection
protected List<CellSelectedEventListener> listeners
protected List<org.jzy3d.events.ControllerEventListener> controllerListeners
protected org.jzy3d.events.IDrawableListener morphologyListener
protected boolean wheelOn
protected boolean useShiftToMakeRectangle
protected boolean startDragAndSelect
protected boolean dragZ
protected boolean createSelection
Constructor Detail |
---|
public AWTMouseController(IInteractiveSurface surface)
Method Detail |
---|
public boolean isTooltipOn()
public void setTooltipOn(boolean tooltipOn)
public com.jzy3d.surfedit.controllers.CellReference getCellUnderMouse()
public void setSelectionMode(SelectionMode mode)
public SelectionMode getSelectionMode()
public void setUseShiftToMakeRectangle(boolean useShiftToMakeRectangle)
public boolean isUseShiftToMakeRectangle()
public boolean isWheelOn()
public void setWheelOn(boolean wheelOn)
public void clearLastSelection()
clearLastSelection
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
public void reset()
public void mousePressed(MouseEvent e)
mousePressed
in interface MouseListener
mousePressed
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
public void mouseDragged(MouseEvent e)
mouseDragged
in interface MouseMotionListener
mouseDragged
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
public void mouseReleased(MouseEvent e)
mouseReleased
in interface MouseListener
mouseReleased
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
public void mouseMoved(MouseEvent e)
mouseMoved
in interface MouseMotionListener
mouseMoved
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
protected void startSelection(MouseEvent e)
startSelection
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
protected void dragSelection(MouseEvent e)
dragSelection
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
protected void releaseSelection(MouseEvent e)
releaseSelection
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
protected void rollOver(MouseEvent e)
rollOver
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
protected void startDragZ(MouseEvent e)
protected void startDragZ(MouseEvent e, boolean updatePrevMouse)
protected void dragZ(MouseEvent e)
protected void stopDragZ(MouseEvent e)
public void mouseWheelMoved(MouseWheelEvent e)
mouseWheelMoved
in interface MouseWheelListener
protected void editZValues()
protected com.jzy3d.surfedit.controllers.CellReference getCellUnderMouseAndAppendToSelection(MouseEvent e)
protected boolean applyAndBroadcastSelection(com.jzy3d.surfedit.controllers.CellReference selection)
protected boolean applyAndBroadcastMaximalSelection(com.jzy3d.surfedit.controllers.CellReference selection)
protected com.jzy3d.surfedit.controllers.CellReference getCellUnderMouseAndSetSingleSelection(MouseEvent e)
protected void applyAndBroadcastSingleSelection(com.jzy3d.surfedit.controllers.CellReference selection)
protected com.jzy3d.surfedit.controllers.CellReference getCellUnderMouse(MouseEvent e)
protected boolean isCellAlreadyHighlighted(com.jzy3d.surfedit.controllers.CellReference selection)
protected boolean onViewport(MouseEvent e)
protected org.jzy3d.maths.Rectangle getViewport()
protected com.jzy3d.surfedit.controllers.CellReference getCellUnderMouse(int x, int y)
protected boolean contains(org.jzy3d.maths.PolygonArray projection, int x, int y)
for definition of insideness.
protected Polygon hull(org.jzy3d.maths.PolygonArray cell)
protected Polygon convert(org.jzy3d.maths.PolygonArray cell)
public boolean addCellSelectedEventListener(CellSelectedEventListener listener)
public boolean removeCellSelectedEventListener(CellSelectedEventListener listener)
public List<CellSelectedEventListener> getCellSelectedEventListeners()
public void setCellSelectedEventListeners(List<CellSelectedEventListener> listeners)
public void addControllerEventListener(org.jzy3d.events.ControllerEventListener listener)
public void removeControllerEventListener(org.jzy3d.events.ControllerEventListener listener)
protected void fireControllerEvent(org.jzy3d.chart.controllers.ControllerType type, Object value)
protected void fireCellSelectedEvent(CellSelectedEvent e)
protected void fireCellsSelectedEvent(CellsSelectedEvent e)
protected void fireCellsUnselectedEvent()
protected org.jzy3d.plot3d.rendering.view.Renderer2d initRenderer2d(org.jzy3d.plot3d.rendering.canvas.ICanvas c)
initRenderer2d
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
protected void updateTooltip(com.jzy3d.surfedit.controllers.CellReference selection)
protected void clearTooltip()
protected void processSelection(org.jzy3d.plot3d.rendering.scene.Scene scene, org.jzy3d.plot3d.rendering.view.View view, int width, int height)
processSelection
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
protected void drawSelection(Graphics2D g2d, int width, int height)
drawSelection
in class org.jzy3d.chart.controllers.mouse.selection.AWTAbstractMouseSelector
protected InteractiveChart castChart()
protected org.jzy3d.plot3d.primitives.AbstractWireframeable asWireframeable(IInteractiveSurface surface)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |