Search in sources :

Example 16 with Size

use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.

the class EntityGroupTest method setSizeShouldResizeChildrenRelativly.

@Test
public void setSizeShouldResizeChildrenRelativly() {
    EntityGroup entityGroup = new EntityGroup();
    Rectangle rectangle1 = new Rectangle(10, 10);
    rectangle1.setWidth(10);
    rectangle1.setHeight(10);
    entityGroup.addChild(rectangle1);
    Rectangle rectangle2 = new Rectangle(20, 20);
    rectangle2.setWidth(10);
    rectangle2.setHeight(10);
    entityGroup.addChild(rectangle2);
    assertEquals(20, entityGroup.getSize().getWidth(), 0.1);
    assertEquals(20, entityGroup.getSize().getHeight(), 0.1);
    entityGroup.setSize(new Size(40, 40));
    assertEquals(10, rectangle1.getPosition().getX(), 0.1);
    assertEquals(10, rectangle1.getPosition().getX(), 0.1);
    assertEquals(20, rectangle1.getSize().getWidth(), 0.1);
    assertEquals(20, rectangle1.getSize().getHeight(), 0.1);
    assertEquals(30, rectangle2.getPosition().getX(), 0.1);
    assertEquals(30, rectangle2.getPosition().getX(), 0.1);
    assertEquals(20, rectangle2.getSize().getWidth(), 0.1);
    assertEquals(20, rectangle2.getSize().getHeight(), 0.1);
}
Also used : Size(com.willwinder.ugs.nbp.designer.model.Size) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Test(org.junit.Test)

Example 17 with Size

use of com.willwinder.ugs.nbp.designer.model.Size 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)

Example 18 with Size

use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.

the class SelectionManagerTest method moveShouldMoveAllEntites.

@Test
public void moveShouldMoveAllEntites() {
    Rectangle firstEntity = new Rectangle();
    firstEntity.setPosition(new Point2D.Double(10, 20));
    firstEntity.setSize(new Size(10, 10));
    target.addSelection(firstEntity);
    Rectangle secondEntity = new Rectangle();
    secondEntity.setPosition(new Point2D.Double(20, 30));
    secondEntity.setSize(new Size(40, 40));
    target.addSelection(secondEntity);
    target.move(new Point2D.Double(10, 10));
    assertEquals(50, target.getSize().getWidth(), 0.1);
    assertEquals(50, target.getSize().getHeight(), 0.1);
    assertEquals(new Point2D.Double(20, 30), target.getPosition());
    assertEquals(new Point2D.Double(45, 55), target.getCenter());
    assertEquals(0, target.getRotation(), 0.1);
    assertEquals(new Point2D.Double(20, 30), firstEntity.getPosition());
    assertEquals(new Point2D.Double(30, 40), secondEntity.getPosition());
}
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)

Example 19 with Size

use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.

the class EntityComparatorTest method generateEntities.

private List<Cuttable> generateEntities(int widthAndHeight) {
    List<Cuttable> entities = new ArrayList<>();
    double count = 0;
    while (count++ < 1000) {
        Ellipse ellipse = new Ellipse(RandomUtils.nextDouble(0, widthAndHeight), RandomUtils.nextDouble(0, widthAndHeight));
        ellipse.setSize(new Size(0.1, 0.1));
        entities.add(ellipse);
    }
    return entities;
}
Also used : Ellipse(com.willwinder.ugs.nbp.designer.entities.cuttable.Ellipse) Cuttable(com.willwinder.ugs.nbp.designer.entities.cuttable.Cuttable) Size(com.willwinder.ugs.nbp.designer.model.Size) ArrayList(java.util.ArrayList)

Example 20 with Size

use of com.willwinder.ugs.nbp.designer.model.Size in project Universal-G-Code-Sender by winder.

the class DrillCenterToolPathTest method drillCenterShouldDrillInCenterOfShape.

@Test
public void drillCenterShouldDrillInCenterOfShape() {
    Rectangle rectangle = new Rectangle();
    rectangle.setSize(new Size(15, 15));
    rectangle.setPosition(new Point2D.Double(10, 10));
    DrillCenterToolPath drillCenterToolPath = new DrillCenterToolPath(rectangle);
    drillCenterToolPath.setDepthPerPass(10);
    drillCenterToolPath.setTargetDepth(10);
    GcodePath gcodePath = drillCenterToolPath.toGcodePath();
    assertEquals(8, gcodePath.getSegments().size());
    assertEquals(SegmentType.MOVE, gcodePath.getSegments().get(0).type);
    assertEquals(SegmentType.MOVE, gcodePath.getSegments().get(1).type);
    assertEquals(SegmentType.MOVE, gcodePath.getSegments().get(2).type);
    assertEquals(SegmentType.POINT, gcodePath.getSegments().get(3).type);
    assertEquals(0, gcodePath.getSegments().get(3).point.getZ(), 0.01);
    assertEquals(SegmentType.POINT, gcodePath.getSegments().get(4).type);
    assertEquals(17.5, gcodePath.getSegments().get(4).point.getX(), 0.01);
    assertEquals(17.5, gcodePath.getSegments().get(4).point.getY(), 0.01);
    assertEquals(0, gcodePath.getSegments().get(4).point.getZ(), 0.01);
    assertEquals(SegmentType.POINT, gcodePath.getSegments().get(5).type);
    assertEquals(-10, gcodePath.getSegments().get(5).point.getZ(), 0.01);
    assertEquals(SegmentType.POINT, gcodePath.getSegments().get(6).type);
    assertEquals(0, gcodePath.getSegments().get(6).point.getZ(), 0.01);
    assertEquals(SegmentType.MOVE, gcodePath.getSegments().get(7).type);
}
Also used : Point2D(java.awt.geom.Point2D) GcodePath(com.willwinder.ugs.nbp.designer.io.gcode.path.GcodePath) Size(com.willwinder.ugs.nbp.designer.model.Size) Rectangle(com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle) Test(org.junit.Test)

Aggregations

Size (com.willwinder.ugs.nbp.designer.model.Size)23 Point2D (java.awt.geom.Point2D)10 Test (org.junit.Test)10 Rectangle (com.willwinder.ugs.nbp.designer.entities.cuttable.Rectangle)8 Ellipse (com.willwinder.ugs.nbp.designer.entities.cuttable.Ellipse)4 Design (com.willwinder.ugs.nbp.designer.model.Design)3 Entity (com.willwinder.ugs.nbp.designer.entities.Entity)2 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 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 Cuttable (com.willwinder.ugs.nbp.designer.entities.cuttable.Cuttable)1 Group (com.willwinder.ugs.nbp.designer.entities.cuttable.Group)1 Text (com.willwinder.ugs.nbp.designer.entities.cuttable.Text)1 GcodePath (com.willwinder.ugs.nbp.designer.io.gcode.path.GcodePath)1 ActionEvent (java.awt.event.ActionEvent)1