3 import java.lang.reflect.Array;
4 import java.lang.reflect.Field;
5 import java.util.Arrays;
14 public abstract class GObject implements Comparable
34 abstract public boolean in(
int canvasX,
int canvasY,
GCoordSystem gcs);
41 public static int compare(Object a, Object b)
46 if ( !a.getClass().equals(b.getClass()))
48 if (a.getClass().equals(Point.class))
52 }
else if (b.getClass().equals(Point.class))
58 return a.getClass().hashCode() > b.getClass().hashCode() ? 1
65 if (ga.
view().getSelId() > gb.
view().getSelId())
67 if (ga.
view().getSelId() < gb.
view().getSelId())
72 Field[] fieldsA = a.getClass().getFields();
73 Field[] fieldsB = b.getClass().getFields();
76 for (
int i = 0; i < fieldsA.length && res == 0; i++)
78 Field fa = fieldsA[i];
80 if (fa.getType().equals(
Point[].class))
84 if (pa.length < pb.length)
86 if (pa.length > pb.length)
88 for (
int j = 0; j < pa.length; j++)
97 if (fa.getType().equals(Point.class))
103 if (fa.getType().getName().equals(
"int"))
105 if ((
int) (fa.get(a)) > (int) (fa.get(b)))
107 if ((
int) (fa.get(a)) < (int) (fa.get(b)))
110 if (fa.getType().getName().equals(
"long"))
112 if ((
long) (fa.get(a)) > (long) (fa.get(b)))
114 if ((
long) (fa.get(a)) < (long) (fa.get(b)))
117 if (fa.getType().getName().equals(
"double"))
119 if (geom.Accur.less((
double) (fa.get(a)),
120 (
double) (fa.get(b))))
122 if (geom.Accur.more((
double) (fa.get(a)),
123 (
double) (fa.get(b))))
128 }
catch (IllegalArgumentException | IllegalAccessException e)
abstract boolean in(int canvasX, int canvasY, GCoordSystem gcs)
Абстракная функция определяющая принадлежность точки объекту. Переопределяется в подклассах - конкрет...
abstract void draw(GCoordSystem gcs)
Абстракная функция рисования. Переопределяется в подклассах - конкретных графических объектах ...
int compareTo(Object obj)
Точка. Определяется двумя числами - координами в декартовой системе координат.
Главный класс отображения. У пользователя нет необходимости его использовать напрямую.
static int compare(Object a, Object b)
Абстрактный суперкласс для всех графических объектов