use of com.ramussoft.pb.idef.elements.SectorRefactor in project ramus by Vitaliy-Yakovchuk.
the class IDEF0Object method centerAddedSetors.
/**
* Метод вирівнює розташування всіх під’єднаних до функціонального блока
* секторів.
*/
@SuppressWarnings("unchecked")
public void centerAddedSetors() {
final Vector<Point>[] vectors = new Vector[4];
vectors[LEFT] = new Vector<Point>();
vectors[RIGHT] = new Vector<Point>();
vectors[TOP] = new Vector<Point>();
vectors[BOTTOM] = new Vector<Point>();
final SectorRefactor refactor = movingArea.getRefactor();
for (int i = 0; i < refactor.getSectorsCount(); i++) {
final PaintSector sector = refactor.getSector(i);
if (function.equals(sector.getSector().getStart().getFunction()))
vectors[sector.getSector().getStart().getFunctionType()].add(sector.getStartPoint());
if (function.equals(sector.getSector().getEnd().getFunction()))
vectors[sector.getSector().getEnd().getFunctionType()].add(sector.getEndPoint());
}
for (int i = 0; i < 4; i++) centerPoints(vectors[i], i == LEFT || i == RIGHT ? Ordinate.TYPE_Y : Ordinate.TYPE_X, i);
for (int i = 0; i < refactor.getSectorsCount(); i++) {
final PaintSector sector = refactor.getSector(i);
if (function.equals(sector.getSector().getStart().getFunction()))
sector.tryRemovePin(getMovingArea());
else if (function.equals(sector.getSector().getEnd().getFunction()))
sector.tryRemovePin(getMovingArea());
}
}
Aggregations