Search in sources :

Example 36 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class RectangleTest method getShapeShouldReturnATransformedShape.

@Test
public void getShapeShouldReturnATransformedShape() {
    Rectangle rectangle = new Rectangle(10, 10);
    rectangle.setWidth(10);
    rectangle.setHeight(10);
    AffineTransform transform = new AffineTransform();
    transform.translate(10, 10);
    rectangle.applyTransform(transform);
    assertEquals(20d, rectangle.getShape().getBounds2D().getX(), 0.01);
    assertEquals(20d, rectangle.getShape().getBounds2D().getY(), 0.01);
}
Also used : Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) AffineTransform(java.awt.geom.AffineTransform) Test(org.junit.Test)

Example 37 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class RectangleTest method rotateAroundPointShouldRotateRectangle.

@Test
public void rotateAroundPointShouldRotateRectangle() {
    Rectangle rectangle = new Rectangle();
    rectangle.setWidth(1);
    rectangle.setHeight(1);
    rectangle.setCenter(new Point2D.Double(10, 0));
    rectangle.rotate(new Point2D.Double(5, 0), 90);
    assertEquals(new Point2D.Double(4.5, -5.5), rectangle.getPosition());
    assertEquals(90, rectangle.getRotation(), 0.01);
}
Also used : Point2D(java.awt.geom.Point2D) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Test(org.junit.Test)

Example 38 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class RectangleTest method scaleShouldChangeSizeWhenRotated.

@Test
public void scaleShouldChangeSizeWhenRotated() {
    Rectangle rectangle = new Rectangle();
    rectangle.setPosition(new Point2D.Double(1, 1));
    rectangle.setWidth(100);
    rectangle.setHeight(100);
    rectangle.setRotation(90);
    assertEquals(1, rectangle.getPosition().getY(), 0.1);
    assertEquals(1, rectangle.getPosition().getX(), 0.1);
    rectangle.scale(0.5, 0.5);
    assertEquals(50, rectangle.getSize().getWidth(), 0.1);
    assertEquals(50, rectangle.getSize().getHeight(), 0.1);
    assertEquals(1, rectangle.getPosition().getX(), 0.1);
    assertEquals(1, rectangle.getPosition().getY(), 0.1);
}
Also used : Point2D(java.awt.geom.Point2D) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Test(org.junit.Test)

Example 39 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class RectangleTest method moveShouldTranslateScaledEntity.

@Test
public void moveShouldTranslateScaledEntity() {
    Rectangle rectangle = new Rectangle(10, 10);
    rectangle.applyTransform(AffineTransform.getScaleInstance(2, 2));
    rectangle.setWidth(10);
    rectangle.setHeight(10);
    assertEquals(new Point2D.Double(20, 20), rectangle.getPosition());
    assertEquals(new Point2D.Double(25, 25), rectangle.getCenter());
    rectangle.move(new Point2D.Double(-5, -5));
    assertEquals(new Point2D.Double(15, 15), rectangle.getPosition());
    assertEquals(new Point2D.Double(20, 20), rectangle.getCenter());
}
Also used : Point2D(java.awt.geom.Point2D) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Test(org.junit.Test)

Example 40 with Rectangle

use of com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle in project Universal-G-Code-Sender by winder.

the class SelectionManagerTest method setRotationShouldRotateAnEntityAroundItsCenter.

@Test
public void setRotationShouldRotateAnEntityAroundItsCenter() {
    Rectangle rectangle = new Rectangle();
    rectangle.setPosition(new Point2D.Double(10, 20));
    rectangle.setSize(new Size(10, 10));
    target.addSelection(rectangle);
    assertEquals(new Point2D.Double(15, 25), target.getCenter());
    target.setRotation(90);
    assertEquals(new Point2D.Double(15, 25), target.getCenter());
    assertEquals(new Point2D.Double(10, 20), target.getPosition());
    assertEquals(90, target.getRotation(), 0.1);
    assertEquals(10, rectangle.getPosition().getX(), 0.1);
    assertEquals(20, rectangle.getPosition().getY(), 0.1);
    assertEquals(90, rectangle.getRotation(), 0.1);
}
Also used : Point2D(java.awt.geom.Point2D) Size(com.willwinder.ugs.nbp.designer.model.Size) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Test(org.junit.Test)

Aggregations

Rectangle (com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle)43 Test (org.junit.Test)40 Point2D (java.awt.geom.Point2D)22 Size (com.willwinder.ugs.nbp.designer.model.Size)8 SimpleUndoManager (com.willwinder.ugs.nbp.designer.actions.SimpleUndoManager)6 MoveControl (com.willwinder.ugs.nbp.designer.entities.controls.MoveControl)6 SelectionManager (com.willwinder.ugs.nbp.designer.entities.selection.SelectionManager)6 MouseEntityEvent (com.willwinder.ugs.nbp.designer.gui.MouseEntityEvent)6 Controller (com.willwinder.ugs.nbp.designer.logic.Controller)6 Segment (com.willwinder.ugs.nbp.designer.io.gcode.path.Segment)2 SegmentType (com.willwinder.ugs.nbp.designer.io.gcode.path.SegmentType)2 Axis (com.willwinder.universalgcodesender.model.Axis)2 PartialPosition (com.willwinder.universalgcodesender.model.PartialPosition)2 AffineTransform (java.awt.geom.AffineTransform)2 List (java.util.List)2 Collectors (java.util.stream.Collectors)2 Assert (org.junit.Assert)2 AddAction (com.willwinder.ugs.nbp.designer.actions.AddAction)1 GcodePath (com.willwinder.ugs.nbp.designer.io.gcode.path.GcodePath)1 ActionEvent (java.awt.event.ActionEvent)1