Java 类java.awt.geom.Point2D 实例源码

项目:MFM    文件:SwingUtils.java   
public static void updateIcons(JTree tree) {
    Font defaultFont = UIManager.getFont("Tree.font");
    Font currentFont = tree.getFont();

    double newScale = (double)
            currentFont.getSize2D() / defaultFont.getSize2D();

    DefaultTreeCellRenderer renderer =
            (DefaultTreeCellRenderer) tree.getCellRenderer();
    renderer.setOpenIcon(
            scale(UIManager.getIcon("Tree.openIcon"), newScale, tree));
    renderer.setClosedIcon(
            scale(UIManager.getIcon("Tree.closedIcon"), newScale, tree));
    renderer.setLeafIcon(
            scale(UIManager.getIcon("Tree.leafIcon"), newScale, tree));

    Collection<Integer> iconSizes = Arrays.asList(
            renderer.getOpenIcon().getIconHeight(),
            renderer.getClosedIcon().getIconHeight(),
            renderer.getLeafIcon().getIconHeight());

    // Convert points to pixels
    Point2D p = new Point2D.Float(0, currentFont.getSize2D());
    FontRenderContext context =
            tree.getFontMetrics(currentFont).getFontRenderContext();
    context.getTransform().transform(p, p);
    int fontSizeInPixels = (int) Math.ceil(p.getY());

    tree.setRowHeight(
            Math.max(fontSizeInPixels, Collections.max(iconSizes) + 2));
}
项目:geomapapp    文件:TGrid.java   
public static float temp( int yr, int day, Point2D point) {
    if(yr<79 || yr>98) return 999f; //Float.NaN;
    Point2D p = getMapXY(point);
    int x = (int)Math.floor(p.getX());
    if(x<0 || x>=46) return 998f; //Float.NaN;
    int y = (int)Math.floor(p.getY());
    if(y<0 || y>=40) return 997f; //Float.NaN;
    if(year!=yr) try {
        readGrids(yr);
    } catch (IOException ex) {
        return 996f; //Float.NaN;
    }
    if( t==null ) return 995f; //Float.NaN;
    double dx = p.getX()-x;
    double dy = p.getY()-y;
    double dxy = dx*dy;
    int d = day-1;
    float T = .01f * (float) ( (double)t[d][y][x]*(1d-dx-dy+dxy)
            + (double)t[d][y][x+1]*(dx-dxy)
            + (double)t[d][y+1][x]*(dy-dxy)
            + (double)t[d][y+1][x+1]*(dxy) );
    return T;
}
项目:cuttlefish    文件:ARFLayout.java   
private void advancePositions() {
    double c = 0;
    int nodeCount = graph.getNodeCount();

    for (int iter = 0; iter < updatesPerFrame; ++iter) {
        for (Node n : graph.getNodes()) {
            Point2D.Float f = getForceforNode(n);
            double log = Math.log10(nodeCount) == 0 ? 1 : Math
                    .log10(nodeCount);
            double delta = graph.getDegree(n) > 1 ? (deltaT / log)
                    / Math.pow(graph.getDegree(n), 0.4) : (deltaT / log);

            f.setLocation(f.getX() * delta, f.getY() * delta);

            n.getNodeData().setX(
                    n.getNodeData().x() + (float) (f.getX() / sensitivity));
            n.getNodeData().setY(
                    n.getNodeData().y() + (float) (f.getY() / sensitivity));

            c += Math.abs(f.getX()) + Math.abs(f.getY());
        }
    }

    setChange(c);
    align(100, 100);
}
项目:AI-RRT-Motion-Planning    文件:Main.java   
/**
 * convert a state from workspace to c space
 */
private static Config asvConfigToCfg(ASVConfig initialState, Test tester) {
    List<Point2D> positions = initialState.asvPositions;
    //length
    double [] pts = new double [initialState.getASVCount()+1];
    Point2D p0= positions.get(0);
    pts[0]=p0.getX();
    pts[1]=p0.getY();
    double prevAngle=0;
    for (int i=1;i<positions.size();i++){
        Point2D p1 = positions.get(i);
        double currentAngle = Math.atan2(p1.getY() - p0.getY(),
                p1.getX() - p0.getX());

        pts[i+1]=tester.normaliseAngle(PI+prevAngle-currentAngle);

        prevAngle=currentAngle;
        p0=p1;
    }
    Config cfg = new Config(pts);
    return cfg;
}
项目:jfreechart-fx    文件:ScrollHandlerFX.java   
/**
 * Handle the case where a plot implements the {@link Zoomable} interface.
 *
 * @param zoomable  the zoomable plot.
 * @param e  the mouse wheel event.
 */
private void handleZoomable(ChartCanvas canvas, Zoomable zoomable, 
        ScrollEvent e) {
    // don't zoom unless the mouse pointer is in the plot's data area
    ChartRenderingInfo info = canvas.getRenderingInfo();
    PlotRenderingInfo pinfo = info.getPlotInfo();
    Point2D p = new Point2D.Double(e.getX(), e.getY());
    if (pinfo.getDataArea().contains(p)) {
        Plot plot = (Plot) zoomable;
        // do not notify while zooming each axis
        boolean notifyState = plot.isNotify();
        plot.setNotify(false);
        int clicks = (int) e.getDeltaY();
        double zf = 1.0 + this.zoomFactor;
        if (clicks < 0) {
            zf = 1.0 / zf;
        }
        if (canvas.isDomainZoomable()) {
            zoomable.zoomDomainAxes(zf, pinfo, p, true);
        }
        if (canvas.isRangeZoomable()) {
            zoomable.zoomRangeAxes(zf, pinfo, p, true);
        }
        plot.setNotify(notifyState);  // this generates the change event too
    } 
}
项目:cuttlefish    文件:WeightedARF2Layout.java   
public void advancePositions() {
    for (int i = 0; i < updatesPerFrame; i++) {
        for (Vertex v : graph.getVertices()) {
            if (!isFixed(v)) {
                Point2D c = transform( v);
                if (c != null) {
                    Point2D f = getForceforNode(v);
                    double deltaIndividual = 0;
                    try {
                        double log = Math.log10(getGraph().getVertexCount()) == 0 ? 1 : Math.log10(getGraph().getVertexCount());                            
                        deltaIndividual = getGraph().degree(v) > 1 ? (deltaT/log) / Math.pow(getGraph().degree(v), 0.4) : (deltaT/log);
                    } catch (java.lang.IllegalArgumentException ex) {
                        this.reset();
                    }
                    f.setLocation(f.getX() * deltaIndividual, f.getY() * deltaIndividual);
                    c.setLocation(c.getX() + f.getX(), c.getY() + f.getY());
                    new_change += Math.abs(f.getX()) + Math.abs(f.getY());
                }
            }
        }
    }
    change = new_change;
    new_change = 0;
    align(100, 100);
}
项目:jaer    文件:TrackDefineFilter.java   
private void loadTrackFromFile(File file) throws HeadlessException, IOException, ClassNotFoundException {
    Object old = extractedTrack;
    if (file == null) {
        throw new IOException("null filename, can't load track from file - track needs to be saved first");
    }
    log.info("loading track data from " + file);
    extractedTrack =  SlotcarTrack.loadFromFile(file);
    // extractPoints = (LinkedList<Point2D.Float>) ois.readObject();  // unchecked cast exception
    extractPoints = new LinkedList<Point2D.Float>();
    for (Object o : extractedTrack.trackPoints) {
        extractPoints.add((Point2D.Float) o);
    }
    extractedTrack.getSupport().addPropertyChangeListener(this);
    extractedTrack.updateTrack(); // update other internal vars of track
    setTrackName(extractedTrack.getTrackName());
}
项目:ramus    文件:DFDFunction.java   
protected int getTriangle(final FloatPoint point) {
    int res = -1;

    FloatPoint l = getLocation();

    for (int type = MovingPanel.RIGHT; type <= MovingPanel.TOP; type++) {
        GeneralPath gp = getTrianglePath(type);
        double y = point.getY() + l.getY();
        double x = point.getX() + l.getX();
        if (gp.contains(new Point2D.Double(x, y))) {
            res = type;
            break;
        }
    }

    return res;
}
项目:484_P7_1-Java    文件:Ruling.java   
public Point2D intersectionPoint(Ruling other) {
    Ruling this_l = this.expand(PERPENDICULAR_PIXEL_EXPAND_AMOUNT);
    Ruling other_l = other.expand(PERPENDICULAR_PIXEL_EXPAND_AMOUNT);
    Ruling horizontal, vertical;

    if (!this_l.intersectsLine(other_l)) {
        return null;
    }

    if (this_l.horizontal() && other_l.vertical()) {
        horizontal = this_l; vertical = other_l;
    }
    else if (this_l.vertical() && other_l.horizontal()) {
        vertical = this_l; horizontal = other_l;
    }
    else {
        throw new IllegalArgumentException("lines must be orthogonal, vertical and horizontal");
    }
    return new Point2D.Float(vertical.getLeft(), horizontal.getTop());        
}
项目:AgentWorkbench    文件:GraphEnvironmentMousePlugin.java   
@Override
protected void pickContainedVertices(VisualizationViewer<GraphNode, GraphEdge> vv, Point2D down,Point2D out, boolean clear) {

    super.pickContainedVertices(vv, down, out, clear);
    NetworkModelAdapter netAdapter = this.basicGraphGUI.getGraphEnvironmentController().getNetworkModelAdapter();

    // --- Get the selected nodes ----------------
    Set<GraphNode> nodesSelected = this.getVisViewer().getPickedVertexState().getPicked();
    // --- Get the related NetworkComponent's ---- 
    HashSet<NetworkComponent> components = netAdapter.getNetworkComponentsFullySelected(nodesSelected);
    if (components!=null) {
        // --- Run through NetworkComponents -----  
        for (NetworkComponent networkComponent : components) {
            Vector<GraphElement> elements = netAdapter.getGraphElementsFromNetworkComponent(networkComponent);
            for (GraphElement graphElement : elements) {
                if (graphElement instanceof GraphEdge) {
                    this.getVisViewer().getPickedEdgeState().pick((GraphEdge) graphElement, true);
                }
            }
        }
    }

}
项目:jdk8u-jdk    文件:StandardGlyphVector.java   
/**
 * !!! not used currently, but might be by getPixelbounds?
 */
public void pixellate(FontRenderContext renderFRC, Point2D loc, Point pxResult) {
    if (renderFRC == null) {
        renderFRC = frc;
    }

    // it is a total pain that you have to copy the transform.

    AffineTransform at = renderFRC.getTransform();
    at.transform(loc, loc);
    pxResult.x = (int)loc.getX(); // but must not behave oddly around zero
    pxResult.y = (int)loc.getY();
    loc.setLocation(pxResult.x, pxResult.y);
    try {
        at.inverseTransform(loc, loc);
    }
    catch (NoninvertibleTransformException e) {
        throw new IllegalArgumentException("must be able to invert frc transform");
    }
}
项目:jdk8u-jdk    文件:StandardGlyphVector.java   
/**
 * Ensure that the positions array exists and holds position data.
 * If the array is null, this allocates it and sets default positions.
 */
private void initPositions() {
    if (positions == null) {
        setFRCTX();

        positions = new float[glyphs.length * 2 + 2];

        Point2D.Float trackPt = null;
        float track = getTracking(font);
        if (track != 0) {
            track *= font.getSize2D();
            trackPt = new Point2D.Float(track, 0); // advance delta
        }

        Point2D.Float pt = new Point2D.Float(0, 0);
        if (font.isTransformed()) {
            AffineTransform at = font.getTransform();
            at.transform(pt, pt);
            positions[0] = pt.x;
            positions[1] = pt.y;

            if (trackPt != null) {
                at.deltaTransform(trackPt, trackPt);
            }
        }
        for (int i = 0, n = 2; i < glyphs.length; ++i, n += 2) {
            getGlyphStrike(i).addDefaultGlyphAdvance(glyphs[i], pt);
            if (trackPt != null) {
                pt.x += trackPt.x;
                pt.y += trackPt.y;
            }
            positions[n] = pt.x;
            positions[n+1] = pt.y;
        }
    }
}
项目:litiengine    文件:PathFinder.java   
public Path findDirectPath(final Point2D start, final Point2D target) {
  final Path2D path2D = new GeneralPath(Path2D.WIND_NON_ZERO);
  path2D.moveTo(start.getX(), start.getY());
  path2D.lineTo(target.getX(), target.getY());

  final List<Point2D> points = new ArrayList<>();
  points.add(start);
  points.add(target);
  return new Path(start, target, path2D, points);
}
项目:rapidminer    文件:AbstractChartPanel.java   
/**
 * Translates a Java2D point on the chart to a screen location.
 * 
 * @param java2DPoint
 *            the Java2D point.
 * 
 * @return The screen location.
 */

@Override
public Point translateJava2DToScreen(Point2D java2DPoint) {
    Insets insets = getInsets();
    int x = (int) (java2DPoint.getX() * this.scaleX + insets.left);
    int y = (int) (java2DPoint.getY() * this.scaleY + insets.top);
    return new Point(x, y);
}
项目:alevin-svn2    文件:MyGraphLayout.java   
@Override
public void setLocation(V v, Point2D p) {
    // Update own storage.
    v.setCoordinateX(p.getX());
    v.setCoordinateY(p.getY());

    super.setLocation(v, p);
}
项目:jaer    文件:LabyrinthBallTracker.java   
protected void createBall(Point2D.Float location) {
//        getEnclosedFilterChain().reset();
        // TODO somehow need to spawn an initial cluster at the starting location
        Cluster b = tracker.createCluster(new BasicEvent(lastTimestamp, (short) location.x, (short) location.y));
        b.setMass(10000); // some big number
        tracker.getClusters().add(b);
        ball = b;
    }
项目:jaer    文件:LabyrinthBallTracker.java   
/**
 * Returns ball location from event tracker if it has a value, otherwise
 * from the convolution based tracker
 *
 * @return
 */
public Point2D.Float getBallLocation() {
    if ((ball != null) && ball.isVisible()) {
        return ball.getLocation();
    } else {
        return staticBallTracker.getBallLocation();
    }
}
项目:geomapapp    文件:FocalMechanismSolutionDB.java   
public EarthquakeItem(Earthquake eq) {
    this.eq = eq;

    Point2D p = map.getProjection().getMapXY( eq.lon , eq.lat );
    x = p.getX();
    y = p.getY();
}
项目:JavaPPTX    文件:PPGroup.java   
@Override
protected void dumpShape(PPOutputStream os) {
   os.print("<p:grpSp>");
   os.print("<p:nvGrpSpPr>");
   os.print("<p:cNvPr id='" + getShapeId() + "' " +
            "name='" + getName() + "'/>");
   os.print("<p:cNvGrpSpPr/>");
   os.print("<p:nvPr/>");
   os.print("</p:nvGrpSpPr>");
   os.print("<p:grpSpPr>");
   Point2D pt = getInitialLocation();
   Rectangle2D bb = getGroupBounds();
   String offsetTag = os.getOffsetTag(pt.getX() + bb.getX(),
                                      pt.getY() + bb.getY());
   os.print("<a:xfrm>");
   os.print("<a:off " + offsetTag + "/>");
   os.print("<a:ext cx='" + PPUtil.pointsToUnits(bb.getWidth()) + "' " +
            "cy='" + PPUtil.pointsToUnits(bb.getHeight()) + "'/>");
   os.print("<a:chOff " + offsetTag + "/>");
   os.print("<a:chExt cx='" + PPUtil.pointsToUnits(bb.getWidth()) + "' " +
            "cy='" + PPUtil.pointsToUnits(bb.getHeight()) + "'/>");
   os.print("</a:xfrm>");
   os.print("</p:grpSpPr>");
   Point2D start = getInitialLocation();
   os.adjustOffset(start.getX(), start.getY());
   for (PPShape shape : contents) {
      shape.dumpShape(os);
   }
   os.adjustOffset(-getX(), -getY());
   os.print("</p:grpSp>");
}
项目:jaer    文件:SlotcarTrack.java   
/**
 * Changes the point with the given index to a new value
 */
public void setPoint(int idx, Point2D.Float newPoint) {
    if ((idx >= 0) && (idx < trackPoints.size())) {
        trackPoints.set(idx, newPoint);
        updateTrack();
    }
}
项目:WordnetLoom    文件:ViwnGraphViewUI.java   
/**
 * scale visualisation to fill full visualization viewer space
 *
 * @author amusial
 */
protected void fillVV() {
    // scale
    // if layout was scaled, scale it to it original size
    if (vv.getRenderContext().getMultiLayerTransformer()
            .getTransformer(Layer.LAYOUT).getScaleX() > 1D) {
        (new LayoutScalingControl()).scale(vv, (1f / (float) vv
                        .getRenderContext().getMultiLayerTransformer()
                        .getTransformer(Layer.LAYOUT).getScaleX()),
                new Point2D.Double());
    }
    // get view bounds
    Dimension vd = vv.getPreferredSize();
    if (vv.isShowing()) {
        vd = vv.getSize();
    }
    // get visualisation layout size
    Dimension ld = vv.getGraphLayout().getSize();
    // finally scale it if view bounds are different than visualisation layer bounds
    if (vd.equals(ld) == false) {
        float heightRatio = (float) (vd.getWidth() / ld.getWidth());
        float widthRatio = (float) (vd
                .getHeight() / ld.getHeight());

        scaler.scale(vv, (heightRatio < widthRatio ? heightRatio
                : widthRatio), new Point2D.Double());
    }
}
项目:WordnetLoom    文件:ViwnLayout2.java   
protected void correctGraph(Collection<ViwnNode> toCorrect, ViwnNode anode) {

        // boundary coordinates
        int minx, maxx, miny, maxy;

        // initialize boundary coordinates
        minx = maxx = (int) locations.get(anode).getX();
        miny = maxy = (int) locations.get(anode).getY();

        // for all nodes already place, check their locations
        for (ViwnNode vn : toCorrect) {
            Point2D p = locations.get(vn);
            if (p.getX() > maxx) {
                maxx = (int) p.getX();
            } else if (p.getX() < minx) {
                minx = (int) p.getX();
            }
            if (p.getY() > maxy) {
                maxy = (int) p.getY();
            } else if (p.getY() < miny) {
                miny = (int) p.getY();
            }
        }

        // replace nodes
        correctNode2PointMapping(toCorrect, -minx + distX, -miny + distY);

        // set visualisation size
        size = new Dimension((maxx - minx) + 2 * distX, (maxy - miny) + 2 * distY);

    }
项目:OpenJSharp    文件:TextLine.java   
/**
 * Return the union of the visual bounds of all the components.
 * This incorporates the path.  It does not include logical
 * bounds (used by carets).
 */
public Rectangle2D getVisualBounds() {
    Rectangle2D result = null;

    for (int i = 0, n = 0; i < fComponents.length; i++, n += 2) {
        TextLineComponent tlc = fComponents[getComponentLogicalIndex(i)];
        Rectangle2D r = tlc.getVisualBounds();

        Point2D.Float pt = new Point2D.Float(locs[n], locs[n+1]);
        if (lp == null) {
            r.setRect(r.getMinX() + pt.x, r.getMinY() + pt.y,
                      r.getWidth(), r.getHeight());
        } else {
            lp.pathToPoint(pt, false, pt);

            AffineTransform at = tlc.getBaselineTransform();
            if (at != null) {
                AffineTransform tx = AffineTransform.getTranslateInstance
                    (pt.x - at.getTranslateX(), pt.y - at.getTranslateY());
                tx.concatenate(at);
                r = tx.createTransformedShape(r).getBounds2D();
            } else {
                r.setRect(r.getMinX() + pt.x, r.getMinY() + pt.y,
                          r.getWidth(), r.getHeight());
            }
        }

        if (result == null) {
            result = r;
        } else {
            result.add(r);
        }
    }

    if (result == null) {
        result = new Rectangle2D.Float(Float.MAX_VALUE, Float.MAX_VALUE, Float.MIN_VALUE, Float.MIN_VALUE);
    }

    return result;
}
项目:cuttlefish    文件:ARF3Layout.java   
@SuppressWarnings("unchecked")
public void advancePositions() {

    try{

        for (int i = 0; i < updatesPerFrame; i++) {



            for (Object o : graph.getVertices()) {
                Vertex v = (Vertex) o;
                if(!isFixed(v)){
                    Point2D c = transform((V) v);
                    if(c != null){
                        Point2D f = getForceforNode(v);
                        double deltaIndividual = getGraph().degree((V)v) > 1 ? deltaT / Math.pow(getGraph().degree((V)v), 0.4) : deltaT;
                        f.setLocation(f.getX()*deltaIndividual, f.getY()*deltaIndividual);
                        c.setLocation(c.getX() + f.getX(), c.getY() + f.getY());
                    }
                }
            }
        }
    }catch(Exception e){
        System.err.println(e);
        e.printStackTrace();
    }
    align(100,100);
}
项目:parabuild-ci    文件:Outlier.java   
/**
 * Compares this object with the specified object for order, based on
 * the outlier's point.
 *
 * @param   o the Object to be compared.
 * @return  a negative integer, zero, or a positive integer as this object
 *      is less than, equal to, or greater than the specified object.
 *
 */
public int compareTo(Object o) {
    Outlier outlier = (Outlier) o;
    Point2D p1 = getPoint();
    Point2D p2 = outlier.getPoint();
    if (p1.equals(p2)) {
        return 0;
    } 
    else if ((p1.getX() < p2.getX()) || (p1.getY() < p2.getY())) {
        return -1;
    } 
    else {
        return 1;
    } 
}
项目:ramus    文件:ArrowPainter.java   
private Point2D getPlusPoint(final int type, double rotateWidth) {
    if (type == MovingPanel.RIGHT)
        return new Point2D.Double(rotateWidth, 0);
    else if (type == MovingPanel.LEFT)
        return new Point2D.Double(-rotateWidth, 0);
    else if (type == MovingPanel.TOP)
        return new Point2D.Double(0, -rotateWidth);
    else if (type == MovingPanel.BOTTOM)
        return new Point2D.Double(0, rotateWidth);
    else
        return new Point2D.Double(0, 0);
}
项目:incubator-netbeans    文件:ScreenshotComponent.java   
/** Computes the current image point, that is in the center in the current view area. */
private Point2D.Double computeCenterPoint() {
    Point p = scrollPane.getViewport().getViewPosition();
    Rectangle viewRect = scrollPane.getViewport().getViewRect();
    p.x += viewRect.width/2;
    p.y += viewRect.height/2;
    return new Point2D.Double(p.x / scale, p.y / scale);
}
项目:geomapapp    文件:GeneralUtils.java   
/**
    * Find the cumulative distance between an array of points
    * @param pts
    * @return
    */
public static double cumulativeDistance(Point2D[] pts) {
    if( pts==null ) return 0.;
    try{
        double d = 0.;
        for (int i=1; i<pts.length; i++) {
            Point2D[] points = {pts[i-1], pts[i]};
            d += distance(points);
        }
        return d;
    } catch (Exception e) {
        return 0;
    }
}
项目:openjdk-jdk10    文件:RadialGradientPrintingTest.java   
public void doPaint(Graphics2D g2d) {

        g2d.translate(DIM*0.2, DIM*0.2);
        Shape s = new Rectangle2D.Float(0, 0, DIM*2, DIM*2);

        // RadialGradientPaint
        Point2D centre = new Point2D.Float(DIM/2.0f, DIM/2.0f);
        float radius = DIM/2.0f;
        Point2D focus = new Point2D.Float(DIM/3.0f, DIM/3.0f);
        float stops[] = {0.0f, 1.0f};
        Color colors[] =  { Color.red, Color.white} ;

        RadialGradientPaint rgp =
           new RadialGradientPaint(centre, radius, focus, stops, colors,
              RadialGradientPaint.CycleMethod.NO_CYCLE);
        g2d.setPaint(rgp);
        g2d.fill(s);

        g2d.translate(DIM*2.2, 0);
        Color colors1[] =  { Color.red, Color.blue, Color.green} ;
        float stops1[] = {0.0f, 0.5f, 1.0f};
        RadialGradientPaint rgp1 =
           new RadialGradientPaint(centre, radius, focus, stops1, colors1,
              RadialGradientPaint.CycleMethod.REFLECT);
        g2d.setPaint(rgp1);
        g2d.fill(s);

        g2d.translate(-DIM*2.2, DIM*2.2);
        Color colors2[] =  { Color.red, Color.blue, Color.green, Color.white} ;
        float stops2[] = {0.0f, 0.3f, 0.6f, 1.0f};
        RadialGradientPaint rgp2 =
           new RadialGradientPaint(centre, radius, focus, stops2, colors2,
              RadialGradientPaint.CycleMethod.REPEAT);
        g2d.setPaint(rgp2);
        g2d.fill(s);

    }
项目:jaer    文件:ApsNoiseStatistics.java   
private void setTemporalNoiseLinePointsFromMousePoints(Point2D.Float start, Point2D.Float end) {
    final float offset = .1f;
    final float x0 = chip.getSizeX() * offset, y0 = chip.getSizeY() * offset, x1 = chip.getSizeX() * (1 - offset), y1 = chip.getSizeY() * (1 - offset);
    msp = start;
    mep = end;
    dsp.x = (float) meanrange * (msp.x - x0) / (x1 - x0);
    dep.x = (float) meanrange * (mep.x - x0) / (x1 - x0);
    dsp.y = (float) varrange * (msp.y - y0) / (y1 - y0);
    dep.y = (float) varrange * (mep.y - y0) / (y1 - y0);
}
项目:parabuild-ci    文件:CombinedDomainCategoryPlot.java   
/**
 * Multiplies the range on the range axis/axes by the specified factor.
 *
 * @param factor  the zoom factor.
 * @param info  the plot rendering info.
 * @param source  the source point.
 */
public void zoomRangeAxes(double factor, PlotRenderingInfo info, 
                          Point2D source) {
    CategoryPlot subplot = findSubplot(info, source);
    if (subplot != null) {
        subplot.zoomRangeAxes(factor, info, source);
    }
}
项目:AI-RRT-Motion-Planning    文件:Test.java   
/**
 * Returns whether the given configuration has sufficient area.
 *
 * @param cfg
 *            the configuration to test.
 * @return whether the given configuration has sufficient area.
 */
public boolean hasEnoughArea(ASVConfig cfg) {
    double total = 0;
    List<Point2D> points = cfg.getASVPositions();
    points.add(points.get(0));
    points.add(points.get(1));
    for (int i = 1; i < points.size() - 1; i++) {
        total += points.get(i).getX()
                * (points.get(i + 1).getY() - points.get(i - 1).getY());
    }
    double area = Math.abs(total) / 2;
    return (area >= getMinimumArea(cfg.getASVCount()) - maxError);
}
项目:litiengine    文件:Emitter.java   
private void renderParticles(final Graphics2D g, final ParticleRenderType renderType) {
  final Point2D origin = this.getLocation();
  this.particles.forEach(particle -> {
    if (particle.getParticleRenderType() == renderType) {
      particle.render(g, origin);
    }
  });
}
项目:OpenJSharp    文件:SunLayoutEngine.java   
public void layout(FontStrikeDesc desc, float[] mat, int gmask,
                   int baseIndex, TextRecord tr, int typo_flags,
                   Point2D.Float pt, GVData data) {
    Font2D font = key.font();
    FontStrike strike = font.getStrike(desc);
    long layoutTables = 0;
    if (font instanceof TrueTypeFont) {
        layoutTables = ((TrueTypeFont) font).getLayoutTableCache();
    }
    nativeLayout(font, strike, mat, gmask, baseIndex,
         tr.text, tr.start, tr.limit, tr.min, tr.max,
         key.script(), key.lang(), typo_flags, pt, data,
         font.getUnitsPerEm(), layoutTables);
}
项目:jaer    文件:RollingLinearRegression.java   
/** Sets the window length.  Clears the accumulated data.
 @param length the number of points to fit 
 @see #LENGTH_DEFAULT
 */
synchronized public void setLength(int length) {
    this.length = length;
    points=new LinkedList<Point2D.Float>();
    sx=0;
    sy=0;
    sxx=0;
    sxy=0;
}
项目:incubator-netbeans    文件:Term.java   
private void massage_glyphs(GlyphVector gv, int start, int n, Line l) {
    Point2D pos0 = gv.getGlyphPosition(0);

    // There's one big assumption here that in a monospaced font all the
    // Y placements are identical. So we use the placement for the first
    // glyph only.
    newp.y = (int) pos0.getY();

    int col = (int) pos0.getX();
    for (int gx = 0; gx < n; gx++) {
        newp.x = col;
        gv.setGlyphPosition(gx, newp);
        col += l.width(metrics, start + gx) * metrics.width;
    }
}
项目:MicroSim    文件:Micro_Sim.java   
public void start() {
    frameRate(1000);

    for(int i = 0; i < 5; i++) {
        AddGameObject(new Organism(this, new Point2D.Float(ThreadLocalRandom.current().nextInt(200, 800), ThreadLocalRandom.current().nextInt(200, 800))));
    }
    NextRound();
}
项目:DicomViewer    文件:DragAnim.java   
private void updateVelocity(final Point2D p0, final Point2D p1, final long t0, final long t1) {
    final double dt = t1 - t0;
    if ((dt < DT_MAX) && (dt > 0)){
        dragVelocity.set(p1, p0);
        dragVelocity.scale(1./dt); // Vitesse en pixel par milliseconde
        if (dragVelocity.getLength() > MAX_VELOCITY) { // Limitation de vitesse !
            dragVelocity.setLength(MAX_VELOCITY);    
        }
    } else {
        dragVelocity.set(0,0); // Vitesse nulle
    }
    lastEventTime = t1;
}
项目:geomapapp    文件:XMap.java   
/**
    Sets the coordinates of mouse to be displayed.
    @param p mouse location.
 */
public void setXY( Point p ) {
    if( p==null ) {
        if( app instanceof MapApp ) {
            ((MapApp)app).tools.info.setText("");
        } else if(app instanceof PolarMapApp ) {
            ((PolarMapApp)app).tools.info.setText("");
        }
        return;
    }
    Point2D.Double pt = (Point2D.Double)proj.getRefXY( getScaledPoint(p));
    setLonLat( pt );
}
项目:jaer    文件:Steadicam.java   
@Override
synchronized public void setFilterEnabled(boolean yes) {
    super.setFilterEnabled(yes);
    setCameraRotationEstimator(cameraRotationEstimator); // reflag enabled/disabled state of motion computation
    getEnclosedFilterChain().reset();
    if (!yes) {
        setPanTiltEnabled(false); // turn off servos, close interface
        if (chip.getAeViewer() != null && chip.getCanvas() != null && chip.getCanvas().getDisplayMethod() instanceof ChipRendererDisplayMethodRGBA) {
            ChipRendererDisplayMethodRGBA displayMethod = (ChipRendererDisplayMethodRGBA) chip.getCanvas().getDisplayMethod(); // TODO not ideal (tobi)
            displayMethod.setImageTransform(new Point2D.Float(0, 0), 0);
        }
    } else {
        resetFilter(); // reset on enabled to prevent large timestep anomalies
    }
}