Java 类java.awt.geom.Point2D.Double 实例源码
项目:open-ig
文件:AttackPlanner.java
@Override
public int compare(AIPlanet o1, AIPlanet o2) {
double value1 = planetValue(o1);
double value2 = planetValue(o2);
double relation1 = getDiplomaticMultiplier(o1.owner);
double relation2 = getDiplomaticMultiplier(o2.owner);
double distance1 = Math.hypot(o1.planet.x - center.x, o1.planet.y - center.y);
double distance2 = Math.hypot(o2.planet.x - center.x, o2.planet.y - center.y);
int c = java.lang.Double.compare(relation1, relation2);
if (c == 0) {
c = java.lang.Double.compare(value1, value2);
}
if (c == 0) {
c = java.lang.Double.compare(distance1, distance2);
}
return c;
}
项目:youscope
文件:ChristofidesAlgorithmResource.java
@Override
public List<PositionInformation> getPath(Map<PositionInformation, ? extends Double> positions)
throws ResourceException {
// Represent all positions in the microplate as a Vertex.
ArrayList<Vertex> vertices;
try {
vertices = new ArrayList<>(OptimizerHelper.toVertices(positions));
} catch (Exception e1) {
throw new ResourceException("Could not calculate shortest path.", e1);
}
if(vertices.size() <= 0)
return new ArrayList<PositionInformation>(0);
// Calculate shortest path approximation
Vertex[] hamiltonianCycle;
try {
hamiltonianCycle = OptimizerHelper.salesmanChristofides(vertices, OptimizerHelper.getMetric(getConfiguration().getMetric()));
} catch (Exception e) {
throw new ResourceException("Could not calculate shortest path.", e);
}
return OptimizerHelper.toOutput(hamiltonianCycle);
}
项目:BLELocalization
文件:DataServlet.java
private void updateSampleInfo(DBObject sampling, DBObject refpoint) {
DBObject info = (DBObject) sampling.get("information");
if (info.containsField("refid") && info.containsField("x") && info.containsField("y")) {
if (refpoint == null) {
refpoint = mCollRef.findOne(new BasicDBObject("_id", info.get("refid")));
if (refpoint == null) {
System.err.println("No refpoint: " + JSON.serialize(info));
return;
}
}
DBObject set = new BasicDBObject();
AffineTransform at = new AffineTransform();
at.translate(((Number) refpoint.get("x")).doubleValue(), ((Number) refpoint.get("y")).doubleValue());
at.rotate(Math.toRadians(((Number) refpoint.get("rotate")).doubleValue()));
Point2D.Double src = new Point2D.Double(((Number) info.get("x")).doubleValue(), ((Number) info.get("y")).doubleValue());
Point2D.Double dst = new Point2D.Double();
at.transform(src, dst);
set.put("information.absx", dst.getX());
set.put("information.absy", dst.getY());
set.put("information.floor", refpoint.get("floor"));
set.put("information.floor_num", refpoint.get("floor_num"));
mCollSamp.update(new BasicDBObject("_id", sampling.get("_id")), new BasicDBObject("$set", set));
System.out.println(JSON.serialize(set));
}
}
项目:mytourbook
文件:Mercator.java
private Point2D.Double geoToPixelDouble(final GeoPosition geoPosition, final int zoomLevel, final MP mp) {
final double latitude = geoPosition.latitude;
final double longitude = geoPosition.longitude;
final Point2D mapCenterInPixels = mp.getMapCenterInPixelsAtZoom(zoomLevel);
final double x = mapCenterInPixels.getX() + (longitude * mp.getLongitudeDegreeWidthInPixels(zoomLevel));
double e = Math.sin(latitude * (Math.PI / 180.0));
if (e > 0.9999) {
e = 0.9999;
}
if (e < -0.9999) {
e = -0.9999;
}
final double y = mapCenterInPixels.getY()
+ 0.5
* Math.log((1 + e) / (1 - e))
* -1
* mp.getLongitudeRadianWidthInPixels(zoomLevel);
return new Point2D.Double(x, y);
}
项目:mytourbook
文件:Mercator.java
private Point2D.Double geoToPixelDouble(final GeoPosition geoPosition, final int zoomLevel, final MP mp) {
final double latitude = geoPosition.latitude;
final double longitude = geoPosition.longitude;
final Point2D mapCenterInPixels = mp.getMapCenterInPixelsAtZoom(zoomLevel);
final double x = mapCenterInPixels.getX() + (longitude * mp.getLongitudeDegreeWidthInPixels(zoomLevel));
double e = Math.sin(latitude * (Math.PI / 180.0));
if (e > 0.9999) {
e = 0.9999;
}
if (e < -0.9999) {
e = -0.9999;
}
final double y = mapCenterInPixels.getY()
+ 0.5
* Math.log((1 + e) / (1 - e))
* -1
* mp.getLongitudeRadianWidthInPixels(zoomLevel);
return new Point2D.Double(x, y);
}
项目:grumpy
文件:ProjectorTest.java
@Test
public void testTransformWrapping() {
ProjectorTarget target = new ProjectorTarget(300, 200);
ProjectorBounds bounds = new ProjectorBounds("EPSG:3857", 18924313.4349, -4865942.2795,
-18924313.4349, -3503549.8435);
Projector projector = new Projector(bounds, target);
Point p = projector.getGeometryPointInSrs(-35, 140);
Double point = projector.getTargetPoint(p);
System.out.println("x1=" + p.getX() + " point=" + point);
assertEquals(26.470588235578038, point.getX(), PRECISION);
assertEquals(96.93701801560695, point.getY(), PRECISION);
Point p2 = projector
.getGeometryPointInSrsRelativeTo(-35, 141, -35, 140, p.getX(), p.getY());
System.out.println("x2=" + p2.getX());
assertEquals(1.5696048201851575E7, p2.getX(), PRECISION);
double x3 = p.getX() - projector.periodAtLat(-35);
Double point3 = projector.getTargetPoint(projector.createPoint(x3, p.getY()));
System.out.println("x3=" + x3 + " point=" + point3);
double x4 = p.getX() + projector.periodAtLat(-35);
Double point4 = projector.getTargetPoint(projector.createPoint(x4, p.getY()));
System.out.println("x4=" + x4 + " point=" + point4);
}
项目:grumpy
文件:RendererUtilTest.java
@Test
public void testTransformWrapping() {
ProjectorTarget target = new ProjectorTarget(300, 200);
ProjectorBounds bounds = new ProjectorBounds("EPSG:3857", 18924313.4349, -4865942.2795, -18924313.4349,
-3503549.8435);
Projector projector = new Projector(bounds, target);
Point p = projector.getGeometryPointInSrs(-35, 140);
Double point = projector.getTargetPoint(p);
System.out.println("x1=" + p.getX() + " point=" + point);
Point p2 = projector.getGeometryPointInSrsRelativeTo(-35, 141, -35, 140, p.getX(), p.getY());
System.out.println("x2=" + p2.getX());
double x3 = p.getX() - projector.periodAtLat(-35);
Double point3 = projector.getTargetPoint(projector.createPoint(x3, p.getY()));
System.out.println("x3=" + x3 + " point=" + point3);
double x4 = p.getX() + projector.periodAtLat(-35);
Double point4 = projector.getTargetPoint(projector.createPoint(x4, p.getY()));
System.out.println("x4=" + x4 + " point=" + point4);
}
项目:BW4T
文件:RobotEntity.java
/**
* @return All bounded moveable objects of class T that are visible to the
* robot. Excluding the one the robot is holding.
* @param <T>
* @param type
*/
private <T extends BoundedMoveableInterface> Set<T> getVisible(Class<T> type) {
Set<T> set = new HashSet<>();
if (context == null) {
return set;
}
// Add all objects in the same room as the robot.
Iterable<Object> allObjects = context.getObjects(type);
Zone zone = ZoneLocator.getZoneAt(ourRobotLocation.getX(), ourRobotLocation.getY());
for (Object b : allObjects) {
@SuppressWarnings("unchecked")
T aObject = (T) b;
Double p = new Point2D.Double(aObject.getLocation().getX(), aObject.getLocation().getY());
if (zone != null && zone.getBoundingBox().contains(p)) {
set.add(aObject);
}
}
return set;
}
项目:OgorSheeptipper
文件:AntigravityWheel.java
@Override
public void act() {
ArrayList<RadialForce> forces = getRobotForces();
Point2D.Double vector = getTotalForceVector(forces);
double turnAngle = getTurnAngle(vector);
if (Math.abs(getTurnAngle(vector)) > (Math.PI / 2)) {// go backwards
robot.setAhead(-1000);
robot.setTurnRightRadians(-Utils.normalRelativeAngle(turnAngle));
} else {//go forwards
robot.setAhead(1000);
robot.setTurnRightRadians(Utils.normalRelativeAngle(turnAngle));
}
}
项目:OgorSheeptipper
文件:AntigravityWheel.java
private Point2D.Double getTotalForceVector(ArrayList<RadialForce> forces) {
Point2D.Double totalVector = new Point2D.Double();
for (RadialForce force : forces) {
Util.paintCircle(robot, force.getX(), force.getY(), 5, Color.magenta);
double heading = MathUtils.getHeading(force.getX(), force.getY(),
robot.getX(), robot.getY());
double eforce = force.getEffectiveForce(robot);
double x = MathUtils.computeXComponent(eforce, heading);
double y = MathUtils.computeYComponent(eforce, heading);
totalVector.x += x;
totalVector.y += y;
}
Util.paintLine(robot, totalVector.getX(), totalVector.getY(),
Color.blue);
return totalVector;
}
项目:chronomotion
文件:Timeline.java
public Point2D pointOnCurve(double t, CubicCurve2D curve) {
Point2D.Double resultHere;
if (null != curve) {
double x1 = curve.getX1(), y1 = curve.getY1();
double cx1 = curve.getCtrlX1(), cy1 = curve.getCtrlY1();
double cx2 = curve.getCtrlX2(), cy2 = curve.getCtrlY2();
double x2 = curve.getX2(), y2 = curve.getY2();
// Coefficients of the parametric representation of the cubic
double ax = cx1 - x1, ay = cy1 - y1;
double bx = cx2 - cx1 - ax, by = cy2 - cy1 - ay;
double cx = x2 - cx2 - ax - bx - bx; // instead of ...-ax-2*bx. Does
// it worth?
double cy = y2 - cy2 - ay - by - by;
double x = x1 + (t * ((3 * ax) + (t * ((3 * bx) + (t * cx)))));
double y = y1 + (t * ((3 * ay) + (t * ((3 * by) + (t * cy)))));
resultHere = new Point2D.Double(x, y);
} else {
resultHere = null;
}
return resultHere;
}
项目:jenkins-inheritance-plugin
文件:SVGUnion.java
public void moveTo(Double pos) {
if (pos == null) { return; }
//Get the bounds of the entire union
Rectangle2D.Double bounds = this.getBounds();
//Calculate the translation that the entire union needs to undergo
Point2D.Double offset = new Point2D.Double(
pos.x - bounds.getMinX(),
pos.y - bounds.getMinY()
);
//Translating all subelements by that delta
for (SVGPrimitive p : elements) {
p.translate(offset);
}
this.bounds = null;
}
项目:jenkins-inheritance-plugin
文件:SVGUnion.java
public Rectangle2D.Double getBounds() {
if (this.bounds == null) {
Rectangle2D.Double rect = null;
for (SVGPrimitive p : elements) {
if (rect == null) {
rect = p.getBounds();
} else {
Rectangle2D.Double newRect = new Rectangle2D.Double();
Rectangle2D.Double.union(rect, p.getBounds(), newRect);
rect = newRect;
}
}
this.bounds = rect;
}
return this.bounds;
}
项目:anemone
文件:Environment.java
public Environment(PApplet p){
this.parent = p;
if (!Neat) {
this.fishGod = new HyperNeatFishGod();
this.sharkGod = new HyperNeatSharkGod();
} else {
this.fishGod = new NeatFishGod();
this.sharkGod = new NeatSharkGod();
}
this.fishes = new ArrayList<Agent>();
this.sharks = new ArrayList<Agent>();
Environment.food = new ArrayList<Food>();
this.wall = new ArrayList<Wall>();
this.seaweed = new ArrayList<Seaweed>();
this.agentNumSegments = Agent.configNumSegments;
this.foodPos = new ArrayList<Point2D.Double>();
this.scheduledRemove = new ArrayList<Agent>();
buildBox2DWorld();
}
项目:Calico
文件:CGroup.java
private void applyAffineTransform()
{
Rectangle oldBounds = getBounds().getBounds();
PAffineTransform piccoloTextTransform = getPTransform();
GeneralPath p = (GeneralPath) Geometry.getBezieredPoly(points).createTransformedShape(piccoloTextTransform);
this.setPathTo(p);
if (p.getBounds().width == 0 || p.getBounds().height == 0)
{
this.setBounds(new java.awt.geom.Rectangle2D.Double(p.getBounds2D().getX(), p.getBounds2D().getY(), 1d, 1d));
//CalicoDraw.setNodeBounds(this, new java.awt.geom.Rectangle2D.Double(p.getBounds2D().getX(), p.getBounds2D().getY(), 1d, 1d));
}
else
{
// this.setBounds(p.getBounds());
}
this.groupArea = calico.Geometry.computePolygonArea(Geometry.getPolyFromPath(p.getPathIterator(null)));
// CCanvasController.canvasdb.get(cuid).getCamera().validateFullPaint();
/*a*/
//CCanvasController.canvasdb.get(cuid).getCamera().repaintFrom(new PBounds(Geometry.getCombinedBounds(new Rectangle[] {oldBounds, this.getBounds().getBounds()})), this);
//this.repaint();
if (CCanvasController.getCurrentUUID() == getCanvasUID())
CalicoDraw.repaintNode(this);
}
项目:Calico
文件:CGroup.java
public long calculateParent(int x, int y) {
long smallestGUID = 0L;
double smallestGroupArea = java.lang.Double.MAX_VALUE;
// Now, we check all other groups.
long[] grouparr = CCanvasController.canvasdb.get(cuid).getChildGroups();
if (grouparr.length > 0) {
for (int i = 0; i < grouparr.length; i++) {
if (!CGroupController.exists(grouparr[i]) || !CGroupController.groupdb.get(grouparr[i]).isPermanent() || !this.isPermanent())
continue;
if (grouparr[i] != this.uuid
&& smallestGroupArea > CGroupController.groupdb.get(grouparr[i]).getArea()
&& CGroupController.canParentChild(grouparr[i], this.uuid, x, y))
{
smallestGroupArea = CGroupController.groupdb.get(grouparr[i]).getArea();
smallestGUID = grouparr[i];
}
}
}
return smallestGUID;
}
项目:jvarkit
文件:VcfToHilbert.java
@Override
void segment(
final Point2D.Double beg,
final Point2D.Double end,
final long chromStart,
final long chromEnd
)
{
if(this.genomicStart > chromEnd) return;
if(this.genomicEnd < chromStart) return;
long p0= Math.max(this.genomicStart,chromStart);
long p1= Math.min(this.genomicEnd,chromEnd);
double segsize=chromEnd-chromStart;
if(segsize==0) segsize=1.0;
double r0= (p0-(double)chromStart)/segsize;
double r1= (p1-(double)chromStart)/segsize;
double x0= beg.x + (end.x - beg.x)*r0;
double y0= beg.y + (end.y - beg.y)*r0;
double x1= beg.x + (end.x - beg.x)*r1;
double y1= beg.y + (end.y - beg.y)*r1;
g.draw(new Line2D.Double(x0,y0,x1,y1));
}
项目:workcraft
文件:CpogSelectionTool.java
public void insertLoose(VisualCpog visualCpog, Double coordinate) {
for (Node node : visualCpog.getSelection()) {
if (node instanceof VisualVertex) {
VisualVertex v = (VisualVertex) node;
v.setPosition(new Double(v.getX(), v.getY() + coordinate.getY()));
}
}
}
项目:workcraft
文件:CpogSelectionTool.java
public void noRootLayout(LinkedHashMap<String, VisualVertex> vertexMap, int n, int i) {
double y = maxY + 2.5;
for (VisualVertex v : vertexMap.values()) {
double radius = Math.max(minRadius, expandRadius * n / Math.PI
/ 2.0);
Double pos = new Double(maxX + radius
* Math.cos(2.0 * Math.PI * i / n), y + radius * Math.sin(2.0 * Math.PI * i / n));
v.setPosition(pos);
if (pos.y > highestY) {
highestY = pos.y;
}
i++;
}
}
项目:workcraft
文件:CpogSelectionTool.java
public void startDrag(GraphEditorMouseEvent e) {
super.startDrag(e);
WorkspaceEntry we = e.getEditor().getWorkspaceEntry();
final VisualCpog visualCpog = WorkspaceUtils.getAs(we, VisualCpog.class);
prevPoints.clear();
for (Node n : visualCpog.getSelection()) {
if (n instanceof VisualVertex) {
VisualVertex v = (VisualVertex) n;
prevPoints.put(v.getLabel(), new Point2D.Double(v.getPosition().getX(), v.getPosition().getY()));
}
}
}
项目:workcraft
文件:CpogSelectionTool.java
public void addUsedReferences(VisualCpog visualCpog, GraphEditor editor, ArrayList<String> usedReferences, HashMap<String, VisualVertex> localVertices, ArrayList<Node> prevSelection) {
for (String k : usedReferences) {
visualCpog.selectNone();
ArrayList<VisualVertex> pageVerts = new ArrayList<>();
if (referenceMap.containsKey(k)) {
GraphReference g = referenceMap.get(k);
HashMap<String, VisualVertex> vMap = g.getVertMap();
for (String k1 : vMap.keySet()) {
localVertices.get(k1).setPosition(new Point2D.Double(vMap.get(k1).getX(), vMap.get(k1).getY()));
pageVerts.add(localVertices.get(k1));
if (visualCpog.getVertices(visualCpog.getCurrentLevel()).contains(localVertices.get(k1))) {
visualCpog.add(localVertices.get(k1));
}
visualCpog.addToSelection(localVertices.get(k1));
}
prevSelection.removeAll(pageVerts);
includeArcsInPage(visualCpog);
pageSelection(editor);
if (visualCpog.getSelection().size() == 1) {
for (Node n1 : visualCpog.getSelection()) {
if (n1 instanceof VisualPage) {
VisualPage vp = (VisualPage) n1;
vp.setLabel(k);
vp.setIsCollapsed(false);
vp.setParent(visualCpog.getCurrentLevel());
prevSelection.add(vp);
referenceMap.get(k).addRefPage(vp);
refPages.add(vp);
}
}
}
}
visualCpog.addToSelection(prevSelection);
}
}
项目:workcraft
文件:CpogSelectionTool.java
public void updateReferenceNormalForm(ArrayList<VisualPage> relaventPages, VisualCpog visualCpog, GraphEditor editor) {
if (relaventPages.size() > 0) {
Container previousLevel = visualCpog.getCurrentLevel();
Collection<Node> selection = visualCpog.getSelection();
VisualPage page = relaventPages.get(0);
visualCpog.setCurrentLevel((Container) page.getParent());
visualCpog.select(page);
String newExpression = parsingTool.getExpressionFromGraph(visualCpog);
newExpression = newExpression.replace("\n", "");
newExpression = newExpression.trim();
GraphReference g = referenceMap.get(page.getLabel());
int eqLocation;
eqLocation = newExpression.indexOf('=');
g.updateNormalForm(newExpression.substring(eqLocation + 1));
HashMap<String, VisualVertex> vertMap = (HashMap<String, VisualVertex>) insertExpression(newExpression, visualCpog, true, true, true, false).clone();
for (VisualVertex v : vertMap.values()) {
Point2D.Double newPosition = new Point2D.Double(g.getVertMap().get(v.getLabel()).getX(), g.getVertMap().get(v.getLabel()).getY());
v.setPosition(newPosition);
}
g.updateVertMap(vertMap);
visualCpog.setCurrentLevel(previousLevel);
visualCpog.select(selection);
}
}
项目:workcraft
文件:CpogParsingTool.java
public BooleanFormula parseBool(String bool, final VisualCpog visualCpog) throws ParseException {
Func<String, BooleanVariable> boolVars = new Func<String, BooleanVariable>() {
public BooleanVariable eval(final String label) {
if (variableMap.containsKey(label)) {
if (!visualCpog.getVariables(visualCpog.getRoot()).contains(variableMap.get(label))) {
if (variableMap.get(label).getParent() != null) {
return variableMap.get(label);
} else variableMap.remove(label);
} else {
variableMap.remove(label);
}
}
VisualVariable visVar = visualCpog.createVisualVariable();
visVar.setLabel(label);
visVar.setPosition(new Point2D.Double(xpos, -2));
xpos++;
variableMap.put(label, visVar.getMathVariable());
return variableMap.get(label);
}
};
BooleanFormula boolForm;
try {
boolForm = BooleanFormulaParser.parse(bool, boolVars);
} catch (ParseException e) {
throw new ParseException("Boolean error in: " + bool);
}
return boolForm;
}
项目:workcraft
文件:CpogParsingTool.java
public double positionNodes(double originalX, double originalY, ArrayList<ArrayList<Node>> outer) {
Double centre = new Double(0, originalY);
double x = originalX;
double y = 0;
Iterator<ArrayList<Node>> it = outer.iterator();
while (it.hasNext()) {
ArrayList<Node> inner = it.next();
if (inner.size() > 1) {
y = centre.getY() - (inner.size() / 2);
} else {
y = centre.getY();
}
for (Node n : inner) {
if (n instanceof VisualVertex) {
VisualVertex v = (VisualVertex) n;
if ((v.getParent() instanceof VisualPage) && (refMap.containsKey(((VisualPage) v.getParent()).getLabel()))) {
VisualPage p = (VisualPage) v.getParent();
Point2D.Double newPosition = new
Point2D.Double(refMap.get(p.getLabel()).getVertMap().get(v.getLabel()).getX(),
refMap.get(p.getLabel()).getVertMap().get(v.getLabel()).getY());
v.setPosition(newPosition);
} else {
v.setPosition(new Double(x, y));
}
}
y += 1.5;
}
if (it.hasNext()) {
x += 2.5;
}
}
y += 2.5;
return x;
}
项目:PhET
文件:WireSegment.java
public CapacitorToCapacitorWireSegment( final Capacitor topCapacitor, final Capacitor bottomCapacitor ) {
super( new Point2D.Double( topCapacitor.getBottomPlateCenter().getX(), topCapacitor.getBottomPlateCenter().getY() ),
new Point2D.Double( bottomCapacitor.getTopPlateCenter().getX(), bottomCapacitor.getTopPlateCenter().getY() ) );
this.topCapacitor = topCapacitor;
this.bottomCapacitor = bottomCapacitor;
topCapacitor.addPlateSeparationObserver( this );
bottomCapacitor.addPlateSeparationObserver( this );
}
项目:cmoct-sourcecode
文件:LineControler.java
public LineControler(ROIPanel panel)
{
super(panel);
setMaxPoints(2);
addPoint(new Point2D.Double(0, 0));
addPoint(new Point2D.Double(0, 0));
}
项目:cmoct-sourcecode
文件:LineControler.java
public double getSize()
{
if (points.size() == 2)
{
Point2D.Double p1 = points.get(0);
Point2D.Double p2 = points.get(1);
return p1.distance(p2);
}
return 0;
}
项目:cmoct-sourcecode
文件:PolygonControler.java
/**
* ~This will attempt to find points near to the given point and return its
* index in the vector that is used to store all the current points. if no
* point is found it will return -1;
*
* @param point
* @param distance
* @return
*/
public int findNearbyPoint(Point point, double distance)
{
int count = 0;
for (Point2D.Double p : points)
{
if (p.distance(point) < distance)
{
return count;
}
count++;
}
return -1;
}
项目:cmoct-sourcecode
文件:PolygonControler.java
public void setData(Vector<Point2D.Double> data)
{
points.removeAllElements();
if (data != null)
{
points.addAll(data);
}
}
项目:cmoct-sourcecode
文件:PolygonControler.java
@Override
public void mouseClicked(MouseEvent e)
{
getPanel().resetPresed();
Rectangle rect = panel.getImagePanelBounds();
if (!bindPointsInImage || rect.contains(e.getPoint()))
{
lastMouse.setLocation(e.getPoint());
updateContacts();
if (e.getButton() == MouseEvent.BUTTON1)
{
if (lineNear)
{
addPoint(lineNearIndex + 1, (Double) lastMouse.clone());
} else if (!pointNear)
{
addPoint((Double) lastMouse.clone());
}
dataChanged();
} else if (e.getButton() == MouseEvent.BUTTON3)
{
if (pointNear)
{
points.remove(pointNearIndex);
} else if (lineNear)
{
points.remove(lineNearIndex);
points.remove(lineNearIndex);
}
dataChanged();
}
}
updateContacts();
panel.repaint();
}
项目:cmoct-sourcecode
文件:PolygonControler.java
public static Point2D[] getUserPath(BufferedImage imgA)
{
final ROIPanel panel = new ROIPanel(false);
panel.setImage(imgA);
PolygonControler pol = new PolygonControler(panel);
panel.setControler(pol);
FrameWaitForClose wait = new FrameWaitForClose(
FrameFactroy.getFrame(panel.getInPanel()));
wait.waitForClose();
return pol.points.toArray(new Point2D.Double[0]);
}
项目:BLELocalization
文件:DataServlet.java
private void updateSamplingData(DBObject data) {
if (data.containsField("information")) {
DBObject info = (DBObject) data.get("information");
if (info.containsField("refid") && info.containsField("x") && info.containsField("y")) {
DBObject refpoint = mCollRef.findOne(info.get("refid"));
if (refpoint != null && refpoint.containsField("x") && refpoint.containsField("y") && refpoint.containsField("floor")
&& refpoint.containsField("floor_num")) {
AffineTransform at = new AffineTransform();
at.translate(((Number) refpoint.get("x")).doubleValue(), ((Number) refpoint.get("y")).doubleValue());
at.rotate(Math.toRadians(((Number) refpoint.get("rotate")).doubleValue()));
Point2D.Double src = new Point2D.Double(((Number) info.get("x")).doubleValue(), ((Number) info.get("y")).doubleValue());
Point2D.Double dst = new Point2D.Double();
at.transform(src, dst);
info.put("absx", dst.getX());
info.put("absy", dst.getY());
info.put("floor", refpoint.get("floor"));
info.put("floor_num", refpoint.get("floor_num"));
System.out.println(JSON.serialize(info));
} else {
info.put("absx", ((Number) info.get("x")).doubleValue());
info.put("absy", ((Number) info.get("y")).doubleValue());
}
}
}
}
项目:omr
文件:ImageDocVO.java
public java.lang.Double getImgRefWidth(){
Point2D.Double brCornerImg = determineBottomRightCorner();
Point2D.Double tlCornerImg = determineTopLeftCorner();
double imgRefWidth = brCornerImg.getX() - tlCornerImg.getX();
return new java.lang.Double(imgRefWidth);
}
项目:omr
文件:ImageDocVO.java
public java.lang.Double getImgRefHeigth(){
Point2D.Double brCornerImg = determineBottomRightCorner();
Point2D.Double tlCornerImg = determineTopLeftCorner();
java.lang.Double imgRefHeigth = brCornerImg.getY() - tlCornerImg.getY();
return imgRefHeigth;
}
项目:omr
文件:ImageDocVO.java
public java.lang.Double getImgRefWidth(){
Point2D.Double brCornerImg = determineBottomRightCorner();
Point2D.Double tlCornerImg = determineTopLeftCorner();
double imgRefWidth = brCornerImg.getX() - tlCornerImg.getX();
return new java.lang.Double(imgRefWidth);
}
项目:omr
文件:ImageDocVO.java
public java.lang.Double getImgRefHeigth(){
Point2D.Double brCornerImg = determineBottomRightCorner();
Point2D.Double tlCornerImg = determineTopLeftCorner();
java.lang.Double imgRefHeigth = brCornerImg.getY() - tlCornerImg.getY();
return imgRefHeigth;
}
项目:omr
文件:ImageDocVO.java
public java.lang.Double getImgRefWidth(){
Point2D.Double brCornerImg = determineBottomRightCorner();
Point2D.Double tlCornerImg = determineTopLeftCorner();
double imgRefWidth = brCornerImg.getX() - tlCornerImg.getX();
return new java.lang.Double(imgRefWidth);
}
项目:omr
文件:ImageDocVO.java
public java.lang.Double getImgRefHeigth(){
Point2D.Double brCornerImg = determineBottomRightCorner();
Point2D.Double tlCornerImg = determineTopLeftCorner();
java.lang.Double imgRefHeigth = brCornerImg.getY() - tlCornerImg.getY();
return imgRefHeigth;
}
项目:omr
文件:ImageDocVO.java
public java.lang.Double getImgRefWidth(){
Point2D.Double brCornerImg = determineBottomRightCorner();
Point2D.Double tlCornerImg = determineTopLeftCorner();
double imgRefWidth = brCornerImg.getX() - tlCornerImg.getX();
return new java.lang.Double(imgRefWidth);
}
项目:omr
文件:ImageDocVO.java
public java.lang.Double getImgRefHeigth(){
Point2D.Double brCornerImg = determineBottomRightCorner();
Point2D.Double tlCornerImg = determineTopLeftCorner();
java.lang.Double imgRefHeigth = brCornerImg.getY() - tlCornerImg.getY();
return imgRefHeigth;
}