GeomVis  0.1
Набор классов Java для визуализации результатов работы геометрических алгоритмов
Polygon.java
См. документацию.
1 package geom;
2 
3 import java.awt.AlphaComposite;
4 import java.awt.Color;
5 import java.awt.Color;
6 import java.awt.Composite;
7 import java.util.Arrays;
8 
13 public class Polygon extends GObject
14 {
15 
16  public Point[] p;
17 
18  public Polygon(Point[] p) {
19  this.p = Arrays.copyOf(p, p.length);
20  }
21 
22  @Override
23  public void draw(GCoordSystem gcs)
24  {
25  Composite prevac = gcs.getCanvas().getComposite();
26  Color prevcolor = gcs.getCanvas().getColor();
27  view().chooseColor(new Color(150, 150, 150), Color.YELLOW,
28  new Color(150, 200, 150), gcs);
29  AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
30  (float) 0.5);
31 
32  gcs.getCanvas().setComposite(ac);
33 
34  int[] drawpx = new int[p.length];
35  int[] drawpy = new int[p.length];
36  for (int i = 0; i < p.length; i++)
37  {
38  drawpx[i] = gcs.canvasX(p[i].x);
39  drawpy[i] = gcs.canvasY(p[i].y);
40  }
41  java.awt.Polygon drawpoly = new java.awt.Polygon(drawpx, drawpy,
42  p.length);
43  gcs.getCanvas().fillPolygon(drawpoly);
44  gcs.getCanvas().setColor(prevcolor);
45  gcs.getCanvas().setComposite(prevac);
46  }
47 
48  @Override
49  public boolean in(int canvasX, int canvasY, GCoordSystem gcs)
50  {
51  return false;
52  // TODO Auto-generated method stub
53  // Point p = new Point(gcs.realX(canvasX), gcs.realY(canvasY));
54  // return Math.abs(this.p1.distance(p) + p.distance(p2)- p1.
55  // distance(p2)) / gcs.getScale() < gcs.g�ps;
56  }
57 
58 }
Многоугольник. Определяется массивом точек
Definition: Polygon.java:13
Polygon(Point[] p)
Definition: Polygon.java:18
Точка. Определяется двумя числами - координами в декартовой системе координат.
Definition: Point.java:10
boolean in(int canvasX, int canvasY, GCoordSystem gcs)
Definition: Polygon.java:49
Главный класс отображения. У пользователя нет необходимости его использовать напрямую.
Абстрактный суперкласс для всех графических объектов
Definition: GObject.java:14
Point[] p
Definition: Polygon.java:16
GView view()
Definition: GObject.java:19
void draw(GCoordSystem gcs)
Definition: Polygon.java:23