@Override public void mouseReleased(MouseEvent e) { if (e.isAltDown()) { releaseClick = new Point2dImpl(e.getX(), e.getY()); this.areaSelected = true; float px = pressClick.getX(); float py = pressClick.getY(); float rx = releaseClick.getX(); float ry = releaseClick.getY(); selectArea(new Rectangle(Math.min(px, rx), Math.min(py, ry), Math.abs(px - rx), Math.abs(py - ry))); } }
@Override public void mouseReleased(MouseEvent e) { if (e.isAltDown()) { releaseClick = new Point2dImpl(e.getX(), e.getY()); this.areaSelected = true; float px = pressClick.getX(); float py = pressClick.getY(); float rx = releaseClick.getX(); float ry = releaseClick.getY(); selectArea(new Rectangle(Math.min(px, rx), Math.min(py, ry), Math.abs(px - rx), Math.abs(py - ry))); } }
/** * {@inheritDoc} * @see org.openimaj.vis.DataUnitsTransformer#calculatePosition(java.lang.Object) */ @Override public int[] calculatePosition( final double[] units ) { Point2dImpl p = new Point2dImpl( (float)units[0], (float)units[1] ); p = p.transform( this.dataTransformMatrix ); return new int[] { Math.round(p.getX()), Math.round(p.getY()) }; // final double[] dx = this.xAxisRenderer.calculatePosition( units[0] ); // final double[] dy = this.yAxisRenderer.calculatePosition( units[1] ); // // System.out.println( "units[0] = "+units[0]+" --> "+Arrays.toString( dx ) ); // System.out.println( "units[1] = "+units[1]+" --> "+Arrays.toString( dy ) ); // // return new int[] { (int) dx[0], (int)dy[1] }; // //(int)(dx[0]+dy[0]), (int)(dx[1]+dy[1]) }; }
@Override public Point2dImpl transform(Matrix transform) { if (transform.getRowDimension() == 3) { float xt = (float) transform.get(0, 0) * getX() + (float) transform.get(0, 1) * getY() + (float) transform.get(0, 2); float yt = (float) transform.get(1, 0) * getX() + (float) transform.get(1, 1) * getY() + (float) transform.get(1, 2); final float zt = (float) transform.get(2, 0) * getX() + (float) transform.get(2, 1) * getY() + (float) transform.get(2, 2); xt /= zt; yt /= zt; return new Point2dImpl(xt, yt); } else if (transform.getRowDimension() == 2 && transform.getColumnDimension() == 2) { final float xt = (float) transform.get(0, 0) * getX() + (float) transform.get(0, 1) * getY(); final float yt = (float) transform.get(1, 0) * getX() + (float) transform.get(1, 1) * getY(); return new Point2dImpl(xt, yt); } else if (transform.getRowDimension() == 2 && transform.getColumnDimension() == 3) { final float xt = (float) transform.get(0, 0) * getX() + (float) transform.get(0, 1) * getY() + (float) transform.get(0, 2); final float yt = (float) transform.get(1, 0) * getX() + (float) transform.get(1, 1) * getY() + (float) transform.get(1, 2); return new Point2dImpl(xt, yt); } throw new IllegalArgumentException("Transform matrix has unexpected size"); }