use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.
the class SvgReader method parseRectangle.
private AbstractEntity parseRectangle(Rectangle2D shape) {
Rectangle rectangle = new Rectangle(shape.getX(), shape.getY());
rectangle.setSize(new Size(shape.getWidth(), shape.getHeight()));
return rectangle;
}
use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.
the class SvgReader method parseEllipse.
private AbstractEntity parseEllipse(Ellipse2D shape) {
Ellipse circle = new Ellipse(shape.getX(), shape.getY());
circle.setSize(new Size(shape.getWidth(), shape.getHeight()));
return circle;
}
use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.
the class ResizeControl method performScaling.
private void performScaling(Point2D mousePosition) {
int decimals = 1;
Size size = getSelectionManager().getSize();
Entity target = getSelectionManager();
Point2D deltaMovement = new Point2D.Double(Utils.roundToDecimals(mousePosition.getX() - getPosition().getX() - startOffset.getX(), decimals), Utils.roundToDecimals(mousePosition.getY() - getPosition().getY() - startOffset.getY(), decimals));
Point2D scaleFactor = getScaleFactor(deltaMovement.getX() / size.getWidth(), deltaMovement.getY() / size.getHeight());
Size newSize = new Size(Utils.roundToDecimals(target.getSize().getWidth() * scaleFactor.getX(), decimals), Utils.roundToDecimals(target.getSize().getHeight() * scaleFactor.getY(), decimals));
// Do not scale if the entity will become too small after operation
if (newSize.getWidth() < 1 || newSize.getHeight() < 1) {
return;
}
target.move(getDeltaMovement(size, newSize));
target.setSize(newSize);
}
use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.
the class ResizeControl method getDeltaMovement.
private Point2D getDeltaMovement(Size size, Size newSize) {
Size deltaSize = new Size(size.getWidth() - newSize.getWidth(), size.getHeight() - newSize.getHeight());
Point2D movement = new Point2D.Double(0, 0);
if (location == Location.BOTTOM_LEFT) {
movement.setLocation(deltaSize.getWidth(), deltaSize.getHeight());
} else if (location == Location.BOTTOM_RIGHT) {
movement.setLocation(0, deltaSize.getHeight());
} else if (location == Location.TOP_LEFT) {
movement.setLocation(deltaSize.getWidth(), 0);
} else if (location == Location.LEFT) {
movement.setLocation(deltaSize.getWidth(), 0);
} else if (location == Location.BOTTOM) {
movement.setLocation(0, deltaSize.getHeight());
}
return movement;
}
use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.
the class DxfReader method parseCircles.
private Group parseCircles(DXFLayer layer) {
Group circlesGroup = new Group();
List<DXFCircle> circles = layer.getDXFEntities(DXFConstants.ENTITY_TYPE_CIRCLE);
if (circles != null) {
for (DXFCircle circle : circles) {
double radius = circle.getRadius() * MILLIMETERS_PER_INCH;
Ellipse ellipse = new Ellipse((circle.getCenterPoint().getX() * MILLIMETERS_PER_INCH) - radius, (circle.getCenterPoint().getY() * MILLIMETERS_PER_INCH) - radius);
ellipse.setSize(new Size(radius * 2, radius * 2));
circlesGroup.addChild(ellipse);
}
}
return circlesGroup;
}
Aggregations