@Override public void onNodeDragMove(final NodeDragMoveEvent nodeDragMoveEvent) { final Magnet boundMagnet1 = controlPoint1.getBoundMagnet(); final Magnet boundMagnet4 = controlPoint4.getBoundMagnet(); if (boundMagnet1 != null) { boundMagnet1.detachControlPoint(controlPoint1); } if (boundMagnet4 != null) { boundMagnet4.detachControlPoint(controlPoint4); } getLayer().batch(); } });
@Override public void onNodeDragEnd(final NodeDragEndEvent nodeDragEndEvent) { if (boundMagnet != null) { double deltaX = getX() - boundMagnet.getX(); double deltaY = getY() - boundMagnet.getY(); double distance = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); if (distance < MAGNET_ATTRACTION) { boundMagnet.attachControlPoint(ConnectibleControlPoint.this); final double x = boundMagnet.getX(); final double y = boundMagnet.getY(); setX(x); setY(y); handler.onMove(x, y); } } magnetManager.hideAllMagnets(); getLayer().batch(); } });
protected void updateMagnetLocations(final double dx, final double dy) { if (magnets == null) { return; } for (Magnet m : magnets) { m.move(dx, dy); } }
@Override public void onMove(final double x, final double y) { final double dx = getX() - x; final double dy = getY() - y; final double r = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)); magnet1.setX(getX() - r); magnet2.setX(getX() + r); magnet3.setY(getY() - r); magnet4.setY(getY() + r); circle.setRadius(r); bounding.setRadius(r + (BOUNDARY_SIZE / 2)); } }
final List<Magnet> magnets = mShape.getMagnets(); for (Magnet magnet : magnets) { magnet.setActive(false); double deltaX = cx - magnet.getX(); double deltaY = cy - magnet.getY(); double distance = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, finalDistance = distance; if (selectedMagnet != null) { selectedMagnet.setActive(false); selectedMagnet.setActive(true);
public void setWidth(final double width) { rectangle.setWidth(width); bounding.setWidth(width + BOUNDARY_SIZE); controlPoint2.setX(getX() + rectangle.getX() + width); controlPoint4.setX(getX() + rectangle.getX() + width); magnet2.setX(getX() + rectangle.getX() + width); magnet3.setX(getX() + rectangle.getX() + width / 2); magnet4.setX(getX() + rectangle.getX() + width / 2); }
public void setHeight(final double height) { rectangle.setHeight(height); bounding.setHeight(height + BOUNDARY_SIZE); controlPoint3.setY(getY() + rectangle.getY() + height); controlPoint4.setY(getY() + rectangle.getY() + height); magnet1.setY(getY() + rectangle.getY() + height / 2); magnet2.setY(getY() + rectangle.getY() + height / 2); magnet4.setY(getY() + rectangle.getY() + height); }
public void setRadius(final double radius) { circle.setRadius(radius); bounding.setRadius(radius + (BOUNDARY_SIZE / 2)); final double theta = Math.atan(controlPoint1.getY() / controlPoint1.getX()); controlPoint1.setLocation(new Point2D(getX() + (radius * Math.cos(theta)), getY() + (radius * Math.sin(theta)))); magnet1.setLocation(new Point2D(getX() - radius, getY())); magnet2.setLocation(new Point2D(getX() + radius, getY())); magnet3.setLocation(new Point2D(getX(), getY() - radius)); magnet4.setLocation(new Point2D(getX(), getY() + radius)); } }
@Override public void onMove(final double x, final double y) { final double dx = getX() - x; final double dy = getY() - y; final double r = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)); magnet1.setX(getX() - r); magnet2.setX(getX() + r); magnet3.setY(getY() - r); magnet4.setY(getY() + r); circle.setRadius(r); bounding.setRadius(r + (BOUNDARY_SIZE / 2)); } }
final List<Magnet> magnets = mShape.getMagnets(); for (Magnet magnet : magnets) { magnet.setActive(false); double deltaX = cx - magnet.getX(); double deltaY = cy - magnet.getY(); double distance = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, finalDistance = distance; if (selectedMagnet != null) { selectedMagnet.setActive(false); selectedMagnet.setActive(true);
public void setWidth(final double width) { rectangle.setWidth(width); bounding.setWidth(width + BOUNDARY_SIZE); controlPoint2.setX(getX() + rectangle.getX() + width); controlPoint4.setX(getX() + rectangle.getX() + width); magnet2.setX(getX() + rectangle.getX() + width); magnet3.setX(getX() + rectangle.getX() + width / 2); magnet4.setX(getX() + rectangle.getX() + width / 2); }
public void setHeight(final double height) { rectangle.setHeight(height); bounding.setHeight(height + BOUNDARY_SIZE); controlPoint3.setY(getY() + rectangle.getY() + height); controlPoint4.setY(getY() + rectangle.getY() + height); magnet1.setY(getY() + rectangle.getY() + height / 2); magnet2.setY(getY() + rectangle.getY() + height / 2); magnet4.setY(getY() + rectangle.getY() + height); }
public void setRadius(final double radius) { circle.setRadius(radius); bounding.setRadius(radius + (BOUNDARY_SIZE / 2)); final double theta = Math.atan(controlPoint1.getY() / controlPoint1.getX()); controlPoint1.setLocation(new Point2D(getX() + (radius * Math.cos(theta)), getY() + (radius * Math.sin(theta)))); magnet1.setLocation(new Point2D(getX() - radius, getY())); magnet2.setLocation(new Point2D(getX() + radius, getY())); magnet3.setLocation(new Point2D(getX(), getY() - radius)); magnet4.setLocation(new Point2D(getX(), getY() + radius)); } }
@Override public void onMove(final double x, final double y) { final double dx = getX() - x; final double dy = getY() - y; final double r = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)); magnet1.setX(getX() - r); magnet2.setX(getX() + r); magnet3.setY(getY() - r); magnet4.setY(getY() + r); circle.setRadius(r); bounding.setRadius(r + (BOUNDARY_SIZE / 2)); } }
@Override public void onNodeDragMove(final NodeDragMoveEvent nodeDragMoveEvent) { final Magnet boundMagnet1 = controlPoint1.getBoundMagnet(); final Magnet boundMagnet2 = controlPoint2.getBoundMagnet(); if (boundMagnet1 != null) { boundMagnet1.detachControlPoint(controlPoint1); } if (boundMagnet2 != null) { boundMagnet2.detachControlPoint(controlPoint2); } getLayer().batch(); } });
@Override public void onNodeDragEnd(final NodeDragEndEvent nodeDragEndEvent) { if (boundMagnet != null) { double deltaX = getX() - boundMagnet.getX(); double deltaY = getY() - boundMagnet.getY(); double distance = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); if (distance < MAGNET_ATTRACTION) { boundMagnet.attachControlPoint(ConnectibleControlPoint.this); final double x = boundMagnet.getX(); final double y = boundMagnet.getY(); setX(x); setY(y); handler.onMove(x, y); } } magnetManager.hideAllMagnets(); getLayer().batch(); } });
protected void updateMagnetLocations(final double dx, final double dy) { if (magnets == null) { return; } for (Magnet m : magnets) { m.move(dx, dy); } }
@Override public void onMove(final double x, final double y) { final double dx = getX() - x; final double dy = getY() - y; final double r = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)); magnet1.setX(getX() - r); magnet2.setX(getX() + r); magnet3.setY(getY() - r); magnet4.setY(getY() + r); circle.setRadius(r); bounding.setRadius(r + (BOUNDARY_SIZE / 2)); } }
@Override public void onNodeDragMove(final NodeDragMoveEvent nodeDragMoveEvent) { final Magnet boundMagnet1 = controlPoint1.getBoundMagnet(); final Magnet boundMagnet4 = controlPoint4.getBoundMagnet(); if (boundMagnet1 != null) { boundMagnet1.detachControlPoint(controlPoint1); } if (boundMagnet4 != null) { boundMagnet4.detachControlPoint(controlPoint4); } getLayer().batch(); } });
@Override public void onMove(double x, double y) { controlPoint2.setX(controlPoint4.getX()); controlPoint3.setY(controlPoint4.getY()); rectangle.setWidth(controlPoint2.getX() - controlPoint1.getX()); rectangle.setHeight(controlPoint3.getY() - controlPoint1.getY()); bounding.setWidth(rectangle.getWidth() + BOUNDARY_SIZE); bounding.setHeight(rectangle.getHeight() + BOUNDARY_SIZE); magnet1.setY(y - (rectangle.getHeight() / 2)); magnet2.setX(x); magnet2.setY(y - (rectangle.getHeight() / 2)); magnet3.setX(x - (rectangle.getWidth() / 2)); magnet4.setX(x - (rectangle.getWidth() / 2)); magnet4.setY(y); } }