List of usage examples for javafx.scene.shape Polygon setId
public final void setId(String value)
From source file:editeurpanovisu.EditeurPanovisu.java
private ScrollPane afficheLegende() { double positionX = 0; double positionY = 0; AnchorPane apLegende = new AnchorPane(); ScrollPane spLegende = new ScrollPane(apLegende); spLegende.getStyleClass().add("legendePane"); apLegende.setMinWidth(1000);//from ww w. j av a2 s . c o m apLegende.setMinHeight(150); apLegende.setPrefWidth(1000); apLegende.setPrefHeight(150); apLegende.setMaxWidth(1000); apLegende.setMaxHeight(150); positionY = (pano.getLayoutY() + pano.getPrefHeight() + 10); Circle point = new Circle(30, 20, 5); point.setFill(Color.YELLOW); point.setStroke(Color.RED); point.setCursor(Cursor.DEFAULT); Circle point2 = new Circle(30, 60, 5); point2.setFill(Color.BLUE); point2.setStroke(Color.YELLOW); point2.setCursor(Cursor.DEFAULT); Circle point3 = new Circle(30, 100, 5); point3.setFill(Color.GREEN); point3.setStroke(Color.YELLOW); point3.setCursor(Cursor.DEFAULT); Polygon polygon = new Polygon(); polygon.getPoints().addAll(new Double[] { 15.0, 2.0, 2.0, 2.0, 2.0, 15.0, -2.0, 15.0, -2.0, 2.0, -15.0, 2.0, -15.0, -2.0, -2.0, -2.0, -2.0, -15.0, 2.0, -15.0, 2.0, -2.0, 15.0, -2.0 }); polygon.setStrokeLineJoin(StrokeLineJoin.MITER); polygon.setFill(Color.BLUEVIOLET); polygon.setStroke(Color.YELLOW); polygon.setId("PoV"); polygon.setLayoutX(500); polygon.setLayoutY(20); Label lblHS = new Label(rb.getString("main.legendeHS")); Label lblHSImage = new Label(rb.getString("main.legendeHSImage")); //Label lblHSHTML = new Label(rb.getString("main.legendeHSHTML")); Label lblPoV = new Label(rb.getString("main.legendePoV")); Label lblNord = new Label(rb.getString("main.legendeNord")); Line ligneNord = new Line(500, 45, 500, 65); ligneNord.setStroke(Color.RED); ligneNord.setStrokeWidth(3); lblHS.setLayoutX(50); lblHS.setLayoutY(10); lblHSImage.setLayoutX(50); lblHSImage.setLayoutY(50); //lblHSHTML.setLayoutX(50); //lblHSHTML.setLayoutY(90); lblPoV.setLayoutX(520); lblPoV.setLayoutY(10); lblNord.setLayoutX(520); lblNord.setLayoutY(50); // apLegende.getChildren().addAll(lblHS, point, lblHSImage, point2, lblHSHTML, point3, lblPoV, polygon, lblNord, ligneNord); apLegende.getChildren().addAll(lblHS, point, lblHSImage, point2, lblPoV, polygon, lblNord, ligneNord); apLegende.setId("legende"); apLegende.setVisible(true); if (largeurMax - 50 < 1004) { spLegende.setPrefWidth(largeurMax - 50); spLegende.setMaxWidth(largeurMax - 50); positionX = 25; } else { spLegende.setPrefWidth(1004); spLegende.setMaxWidth(1004); positionX = (largeurMax - 1004) / 2.d; } spLegende.setLayoutX(positionX); spLegende.setLayoutY(positionY); spLegende.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spLegende.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); return spLegende; }
From source file:editeurpanovisu.EditeurPanovisu.java
private void affichePoV(double longitude, double latitude) { double largeur = imagePanoramique.getFitWidth(); double X = (longitude + 180.0d) * largeur / 360.0d + imagePanoramique.getLayoutX(); double Y = (90.0d - latitude) * largeur / 360.0d; Node ancPoV = (Node) pano.lookup("#PoV"); if (ancPoV != null) { pano.getChildren().remove(ancPoV); }/* w w w . j ava2 s .c o m*/ Polygon polygon = new Polygon(); polygon.getPoints().addAll(new Double[] { 20.0, 2.0, 2.0, 2.0, 2.0, 20.0, -2.0, 20.0, -2.0, 2.0, -20.0, 2.0, -20.0, -2.0, -2.0, -2.0, -2.0, -20.0, 2.0, -20.0, 2.0, -2.0, 20.0, -2.0 }); polygon.setStrokeLineJoin(StrokeLineJoin.MITER); polygon.setFill(Color.BLUEVIOLET); polygon.setStroke(Color.YELLOW); polygon.setId("PoV"); polygon.setLayoutX(X); polygon.setLayoutY(Y); polygon.setCursor(Cursor.DEFAULT); polygon.setOnDragDetected((MouseEvent me1) -> { polygon.setFill(Color.YELLOW); polygon.setStroke(Color.BLUEVIOLET); dragDrop = true; me1.consume(); }); polygon.setOnMouseDragged((MouseEvent me1) -> { double XX = me1.getSceneX() - imagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > imagePanoramique.getFitWidth()) { XX = imagePanoramique.getFitWidth(); } polygon.setLayoutX(XX + imagePanoramique.getLayoutX()); double YY = me1.getSceneY() - pano.getLayoutY() - 109; if (YY < 0) { YY = 0; } if (YY > imagePanoramique.getFitHeight()) { YY = imagePanoramique.getFitHeight(); } polygon.setLayoutY(YY); me1.consume(); }); polygon.setOnMouseReleased((MouseEvent me1) -> { double X1 = me1.getSceneX(); double Y1 = me1.getSceneY(); double mouseX1 = X1 - imagePanoramique.getLayoutX(); if (mouseX1 < 0) { mouseX1 = 0; } if (mouseX1 > imagePanoramique.getFitWidth()) { mouseX1 = imagePanoramique.getFitWidth(); } double mouseY1 = Y1 - pano.getLayoutY() - 109; if (mouseY1 < 0) { mouseY1 = 0; } if (mouseY1 > imagePanoramique.getFitHeight()) { mouseY1 = imagePanoramique.getFitHeight(); } double regardX = 360.0f * mouseX1 / largeur - 180; double regardY = 90.0d - 2.0f * mouseY1 / largeur * 180.0f; panoramiquesProjet[panoActuel].setLookAtX(regardX); panoramiquesProjet[panoActuel].setLookAtY(regardY); polygon.setFill(Color.BLUEVIOLET); polygon.setStroke(Color.YELLOW); me1.consume(); }); pano.getChildren().add(polygon); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @param iLargeur/* ww w . j av a 2s. c o m*/ * @param iHauteur * @param bMasqueZones */ private static void afficheBarrePersonnalisee(int iLargeur, int iHauteur, boolean bMasqueZones) { apImgBarrePersonnalisee.getChildren().clear(); apZoneBarrePersonnalisee.getChildren().clear(); ImageView ivBarrePersonnalisee = new ImageView(imgBarrePersonnalisee); apImgBarrePersonnalisee.getChildren().add(ivBarrePersonnalisee); apImgBarrePersonnalisee.setPrefWidth(imgBarrePersonnalisee.getWidth()); apImgBarrePersonnalisee.setPrefHeight(imgBarrePersonnalisee.getHeight()); apImgBarrePersonnalisee.setCursor(Cursor.CROSSHAIR); apImgBarrePersonnalisee.setLayoutX((iLargeur - 300 - apImgBarrePersonnalisee.getPrefWidth()) / 2.d); apImgBarrePersonnalisee.setLayoutY((iHauteur - apImgBarrePersonnalisee.getPrefHeight()) / 2.d); if ((iNombreZones > 0) && !bMasqueZones) { for (int i = 0; i < iNombreZones; i++) { ZoneTelecommande zone = zones[i]; String[] strPoints = zone.getStrCoordonneesZone().split(","); double[] points = new double[strPoints.length]; for (int ij = 0; ij < strPoints.length; ij++) { points[ij] = Double.parseDouble(strPoints[ij]); } final String strIdZone = zone.getStrTypeZone() + "-" + i; switch (zone.getStrTypeZone()) { case "circle": Circle cercle = new Circle(points[0], points[1], points[2]); cercle.setFill(Color.rgb(255, 255, 0, 0.5)); cercle.setStroke(Color.FORESTGREEN); cercle.setCursor(Cursor.DEFAULT); apImgBarrePersonnalisee.getChildren().add(cercle); cercle.setId(strIdZone); cercle.setOnMouseClicked((t) -> { choixZone(iLargeur, iHauteur, bMasqueZones, strIdZone, t); t.consume(); }); break; case "rect": double largRect = points[2] - points[0]; double hautRect = points[3] - points[1]; Rectangle rect = new Rectangle(points[0], points[1], largRect, hautRect); rect.setFill(Color.rgb(255, 255, 0, 0.5)); rect.setStroke(Color.FORESTGREEN); rect.setCursor(Cursor.DEFAULT); apImgBarrePersonnalisee.getChildren().add(rect); rect.setId(strIdZone); rect.setOnMouseClicked((t) -> { choixZone(iLargeur, iHauteur, bMasqueZones, strIdZone, t); t.consume(); }); break; case "poly": Polygon poly = new Polygon(points); poly.setFill(Color.rgb(255, 255, 0, 0.5)); poly.setStroke(Color.FORESTGREEN); poly.setStrokeWidth(3); poly.setCursor(Cursor.DEFAULT); poly.setStrokeLineCap(StrokeLineCap.ROUND); poly.setId(strIdZone); apImgBarrePersonnalisee.getChildren().add(poly); poly.setOnMouseClicked((t) -> { choixZone(iLargeur, iHauteur, bMasqueZones, strIdZone, t); t.consume(); }); break; } } } }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * Affiche la croix reprsentant le point de vue * * @param longitude longitude/* ww w . jav a2 s. c o m*/ * @param latitude latitude * @param fov Champ de vision */ private static void affichePoV(double longitude, double latitude, double fov) { double largeur = ivImagePanoramique.getFitWidth(); double X = (longitude + 180.0d) * largeur / 360.0d + ivImagePanoramique.getLayoutX(); double Y = (90.0d - latitude) * largeur / 360.0d; Node nodeAncienPoV = (Node) panePanoramique.lookup("#PoV"); if (nodeAncienPoV != null) { panePanoramique.getChildren().remove(nodeAncienPoV); } Polygon plgPoV = new Polygon(); plgPoV.getPoints().addAll(new Double[] { 20.0, 2.0, 2.0, 2.0, 2.0, 20.0, -2.0, 20.0, -2.0, 2.0, -20.0, 2.0, -20.0, -2.0, -2.0, -2.0, -2.0, -20.0, 2.0, -20.0, 2.0, -2.0, 20.0, -2.0 }); plgPoV.setStrokeLineJoin(StrokeLineJoin.MITER); plgPoV.setFill(Color.BLUEVIOLET); plgPoV.setStroke(Color.YELLOW); plgPoV.setId("PoV"); plgPoV.setLayoutX(X); plgPoV.setLayoutY(Y); plgPoV.setCursor(Cursor.DEFAULT); plgPoV.setOnDragDetected((mouseEvent1) -> { plgPoV.setFill(Color.YELLOW); plgPoV.setStroke(Color.BLUEVIOLET); bDragDrop = true; mouseEvent1.consume(); }); plgPoV.setOnMouseDragged((mouseEvent1) -> { double XX = mouseEvent1.getSceneX() - ivImagePanoramique.getLayoutX(); if (XX < 0) { XX = 0; } if (XX > ivImagePanoramique.getFitWidth()) { XX = ivImagePanoramique.getFitWidth(); } plgPoV.setLayoutX(XX + ivImagePanoramique.getLayoutX()); double YY = mouseEvent1.getSceneY() - panePanoramique.getLayoutY() - 130 - getiDecalageMac(); if (YY < 0) { YY = 0; } if (YY > ivImagePanoramique.getFitHeight()) { YY = ivImagePanoramique.getFitHeight(); } plgPoV.setLayoutY(YY); afficheLoupe(XX, YY); mouseEvent1.consume(); }); plgPoV.setOnMouseReleased((mouseEvent1) -> { double X1 = mouseEvent1.getSceneX(); double Y1 = mouseEvent1.getSceneY(); double mouseX1 = X1 - ivImagePanoramique.getLayoutX(); if (mouseX1 < 0) { mouseX1 = 0; } if (mouseX1 > ivImagePanoramique.getFitWidth()) { mouseX1 = ivImagePanoramique.getFitWidth(); } double mouseY1 = Y1 - panePanoramique.getLayoutY() - 130 - getiDecalageMac(); if (mouseY1 < 0) { mouseY1 = 0; } if (mouseY1 > ivImagePanoramique.getFitHeight()) { mouseY1 = ivImagePanoramique.getFitHeight(); } double regardX = 360.0f * mouseX1 / largeur - 180; double regardY = 90.0d - 2.0f * mouseY1 / largeur * 180.0f; navigateurPanoramique.setLongitude(regardX - 180); navigateurPanoramique.setLatitude(regardY); navigateurPanoramique.setFov(fov); navigateurPanoramique.affiche(); getPanoramiquesProjet()[getiPanoActuel()].setRegardX(regardX); getPanoramiquesProjet()[getiPanoActuel()].setRegardY(regardY); plgPoV.setFill(Color.BLUEVIOLET); plgPoV.setStroke(Color.YELLOW); mouseEvent1.consume(); }); panePanoramique.getChildren().add(plgPoV); }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @return/* ww w . j av a2s . c o m*/ */ private static ScrollPane spAfficheLegende() { double positionX; double positionY; AnchorPane apLegende = new AnchorPane(); ScrollPane spLegende = new ScrollPane(apLegende); spLegende.getStyleClass().add("legendePane"); apLegende.setMinWidth(1000); apLegende.setMinHeight(150); apLegende.setPrefWidth(1000); apLegende.setPrefHeight(150); apLegende.setMaxWidth(1000); apLegende.setMaxHeight(150); positionY = (spVuePanoramique.getPrefHeight() - apLegende.getPrefHeight() - 15); Circle circPoint = new Circle(30, 20, 5); circPoint.setFill(Color.YELLOW); circPoint.setStroke(Color.RED); circPoint.setCursor(Cursor.DEFAULT); Circle circPoint2 = new Circle(30, 40, 5); circPoint2.setFill(Color.BLUE); circPoint2.setStroke(Color.YELLOW); circPoint2.setCursor(Cursor.DEFAULT); Circle circPoint3 = new Circle(30, 60, 5); circPoint3.setFill(Color.GREEN); circPoint3.setStroke(Color.YELLOW); circPoint3.setCursor(Cursor.DEFAULT); Polygon polygonCroix = new Polygon(); polygonCroix.getPoints().addAll(new Double[] { 15.0, 2.0, 2.0, 2.0, 2.0, 15.0, -2.0, 15.0, -2.0, 2.0, -15.0, 2.0, -15.0, -2.0, -2.0, -2.0, -2.0, -15.0, 2.0, -15.0, 2.0, -2.0, 15.0, -2.0 }); polygonCroix.setStrokeLineJoin(StrokeLineJoin.MITER); polygonCroix.setFill(Color.BLUEVIOLET); polygonCroix.setStroke(Color.YELLOW); polygonCroix.setId("PoV"); polygonCroix.setLayoutX(500); polygonCroix.setLayoutY(20); Label lblHS = new Label(rbLocalisation.getString("main.legendeHS")); Label lblHSImage = new Label(rbLocalisation.getString("main.legendeHSImage")); Label lblHSHTML = new Label(rbLocalisation.getString("main.legendeHSHTML")); Label lblPoV = new Label(rbLocalisation.getString("main.legendePoV")); Label lblNord = new Label(rbLocalisation.getString("main.legendeNord")); Line lineNord = new Line(500, 45, 500, 65); lineNord.setStroke(Color.RED); lineNord.setStrokeWidth(3); lblHS.setLayoutX(50); lblHS.setLayoutY(15); lblHSImage.setLayoutX(50); lblHSImage.setLayoutY(35); lblHSHTML.setLayoutX(50); lblHSHTML.setLayoutY(55); lblPoV.setLayoutX(520); lblPoV.setLayoutY(15); lblNord.setLayoutX(520); lblNord.setLayoutY(55); apLegende.getChildren().addAll(lblHS, circPoint, lblHSImage, circPoint2, lblHSHTML, circPoint3, lblPoV, polygonCroix, lblNord, lineNord); apLegende.setId("legende"); apLegende.setVisible(true); if (largeurMax - 50 < 1004) { spLegende.setPrefWidth(largeurMax - 50); spLegende.setMaxWidth(largeurMax - 50); positionX = 25; } else { spLegende.setPrefWidth(1004); spLegende.setMaxWidth(1004); positionX = (largeurMax - 1004) / 2.d; } spLegende.setLayoutX(positionX); spLegende.setLayoutY(positionY); spLegende.setVbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); spLegende.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED); return spLegende; }