use of com.ramussoft.pb.idef.elements.Point in project ramus by Vitaliy-Yakovchuk.
the class DFDFunctionEllipse method mouseClicked.
public void mouseClicked(final FloatPoint point) {
if (movingArea.getChangingState() == MovingArea.ARROW_CHANGING_STATE) {
final int type = getTriangle(point);
final Ordinate x = new Ordinate(Ordinate.TYPE_X);
final Ordinate y = new Ordinate(Ordinate.TYPE_Y);
final Point p = new Point(x, y);
final SectorRefactor.PerspectivePoint pp = new SectorRefactor.PerspectivePoint();
pp.point = p;
switch(type) {
case LEFT:
{
pp.setFunction(getFunction(), LEFT);
y.setPosition(getBounds().getY() + point.getY());
x.setPosition(getX(y.getPosition(), true, getBounds()));
}
break;
case TOP:
{
pp.setFunction(getFunction(), TOP);
x.setPosition(getBounds().getX() + point.getX());
y.setPosition(getY(x.getPosition(), true, getBounds()));
}
break;
case BOTTOM:
{
pp.setFunction(getFunction(), BOTTOM);
x.setPosition(getBounds().getX() + point.getX());
y.setPosition(getY(x.getPosition(), false, getBounds()));
}
break;
case RIGHT:
{
pp.setFunction(getFunction(), RIGHT);
y.setPosition(getBounds().getY() + point.getY());
x.setPosition(getX(y.getPosition(), false, getBounds()));
}
break;
default:
return;
}
if (movingArea.getPointChangingType() == SectorRefactor.TYPE_START) {
pp.type = SectorRefactor.TYPE_START;
movingArea.getRefactor().setPoint(pp);
movingArea.doSector();
} else if (movingArea.getPointChangingType() == SectorRefactor.TYPE_END) {
pp.type = SectorRefactor.TYPE_END;
movingArea.getRefactor().setPoint(pp);
movingArea.doSector();
}
}
}
use of com.ramussoft.pb.idef.elements.Point in project ramus by Vitaliy-Yakovchuk.
the class IDLImporter method setSegment.
private void setSegment(Arrowseg seg, MovingArea area) {
if (seg.seted)
return;
List<Arrowseg> source = loadConnected(seg.source);
List<Arrowseg> sink = loadConnected(seg.sink);
if (source != null) {
for (Arrowseg s : source) {
if (!s.seted)
setSegment(s, area);
}
Crosspoint c = null;
for (Arrowseg s : source) {
if (s.sector.getEnd() != null) {
c = (NCrosspoint) s.sector.getEnd();
}
}
if (c == null)
c = dataPlugin.createCrosspoint();
seg.sector.getSector().getStart().setCrosspointA(c);
seg.sector.getSector().getStart().commit();
for (Arrowseg s : source) {
if (s.sector.getEnd() == null) {
s.sector.getSector().getEnd().setCrosspointA(c);
s.sector.getSector().getEnd().commit();
}
}
}
PaintSector ps = seg.sector;
Point[] points = new Point[seg.pointsList.size()];
int type = seg.getFirstPinType();
Ordinate x = null;
Ordinate y = null;
if (source != null) {
for (Arrowseg arrowseg : source) {
int sType = arrowseg.getLastPinType();
if (type == sType) {
if (arrowseg.sector.getLastPin().getType() == Ordinate.TYPE_X) {
y = arrowseg.sector.getLastPin().getOrdinate();
x = arrowseg.sector.getLastPin().getPOrdinate();
} else {
x = arrowseg.sector.getLastPin().getOrdinate();
y = arrowseg.sector.getLastPin().getPOrdinate();
}
} else {
if (arrowseg.sector.getLastPin().getType() == Ordinate.TYPE_Y) {
x = arrowseg.sector.getLastPin().getOrdinate();
y = arrowseg.sector.getLastPin().getPOrdinate();
} else {
y = arrowseg.sector.getLastPin().getOrdinate();
x = arrowseg.sector.getLastPin().getPOrdinate();
}
}
}
}
if (x == null) {
x = new Ordinate(Ordinate.TYPE_X);
x.setPosition(seg.pointsList.get(0).getX());
}
if (y == null) {
y = new Ordinate(Ordinate.TYPE_Y);
y.setPosition(seg.pointsList.get(0).getY());
}
points[0] = new Point(x, y);
for (int i = 1; i < seg.pointsList.size(); i++) {
FloatPoint point = seg.pointsList.get(i);
type = seg.getPinType(i - 1);
if (type == Ordinate.TYPE_X) {
x = new Ordinate(Ordinate.TYPE_X);
x.setPosition(point.getX());
} else {
y = new Ordinate(Ordinate.TYPE_Y);
y.setPosition(point.getY());
}
if ((i == seg.pointsList.size() - 1) && (sink != null) && (sink.size() == 1)) {
Arrowseg s = sink.get(0);
List<Arrowseg> list = loadConnected(s.source);
for (Arrowseg arrowseg : list) {
if (arrowseg.seted) {
Point point2 = arrowseg.sector.getLastPin().getEnd();
Ordinate xo = point2.getXOrdinate();
for (Point point3 : xo.getPoints()) {
point3.setXOrdinate(x);
}
Ordinate yo = point2.getYOrdinate();
for (Point point3 : yo.getPoints()) {
point3.setYOrdinate(y);
}
}
}
}
points[i] = new Point(x, y);
}
ps.setPoints(points);
if (source == null)
initCrosspoint(seg.sector.getSector().getStart(), seg.source, area, seg.sector, true, seg);
if (sink == null) {
initCrosspoint(seg.sector.getSector().getEnd(), seg.sink, area, seg.sector, false, seg);
}
seg.seted = true;
}
use of com.ramussoft.pb.idef.elements.Point in project ramus by Vitaliy-Yakovchuk.
the class DFDObject method mouseClicked.
public void mouseClicked(final FloatPoint point) {
if (movingArea.getChangingState() == MovingArea.ARROW_CHANGING_STATE) {
final int type = getTriangle(point);
final Ordinate x = new Ordinate(Ordinate.TYPE_X);
final Ordinate y = new Ordinate(Ordinate.TYPE_Y);
final Point p = new Point(x, y);
final SectorRefactor.PerspectivePoint pp = new SectorRefactor.PerspectivePoint();
pp.point = p;
switch(type) {
case LEFT:
{
pp.setFunction(getFunction(), LEFT);
y.setPosition(getBounds().getY() + point.getY());
x.setPosition(getX(y.getPosition(), true, getBounds()));
}
break;
case TOP:
{
pp.setFunction(getFunction(), TOP);
x.setPosition(getBounds().getX() + point.getX());
y.setPosition(getY(x.getPosition(), true, getBounds()));
}
break;
case BOTTOM:
{
pp.setFunction(getFunction(), BOTTOM);
x.setPosition(getBounds().getX() + point.getX());
y.setPosition(getY(x.getPosition(), false, getBounds()));
}
break;
case RIGHT:
{
pp.setFunction(getFunction(), RIGHT);
y.setPosition(getBounds().getY() + point.getY());
x.setPosition(getX(y.getPosition(), false, getBounds()));
}
break;
default:
return;
}
if (movingArea.getPointChangingType() == SectorRefactor.TYPE_START) {
pp.type = SectorRefactor.TYPE_START;
movingArea.getRefactor().setPoint(pp);
movingArea.doSector();
} else if (movingArea.getPointChangingType() == SectorRefactor.TYPE_END) {
pp.type = SectorRefactor.TYPE_END;
movingArea.getRefactor().setPoint(pp);
movingArea.doSector();
}
}
}
use of com.ramussoft.pb.idef.elements.Point in project ramus by Vitaliy-Yakovchuk.
the class DFDObject method getTriangle.
protected int getTriangle(final FloatPoint point) {
int res = -1;
FloatPoint l = getLocation();
for (int type = MovingPanel.RIGHT; type <= MovingPanel.TOP; type++) {
GeneralPath gp = getTrianglePath(type);
double y = point.getY() + l.getY();
double x = point.getX() + l.getX();
if (gp.contains(new Point2D.Double(x, y))) {
res = type;
break;
}
}
return res;
}
use of com.ramussoft.pb.idef.elements.Point in project ramus by Vitaliy-Yakovchuk.
the class AbstractClassicTemplate method createOutPoint.
private void createOutPoint(final MovingArea movingArea, final Function f) {
SectorRefactor.PerspectivePoint pp;
final Ordinate x = new Ordinate(Ordinate.TYPE_X);
final Ordinate y = new Ordinate(Ordinate.TYPE_Y);
final Point p = new Point(x, y);
pp = new SectorRefactor.PerspectivePoint();
pp.point = p;
pp.setFunction(f, RIGHT);
pp.type = SectorRefactor.TYPE_START;
x.setPosition(f.getBounds().getRight());
y.setPosition(getY(f));
movingArea.getRefactor().setPoint(pp);
movingArea.doSector();
}
Aggregations