Search in sources :

Example 1 with IPolygon

use of net.sf.latexdraw.models.interfaces.shape.IPolygon in project latexdraw by arnobl.

the class PlotViewHelper method updatePolygon.

public IPolygon updatePolygon(final IPlot shape, final double posX, final double posY, final double minX, final double maxX, final double step) {
    final IPolygon pg = ShapeFactory.INST.createPolygon(fillPoints(shape, posX, posY, minX, maxX, step));
    pg.copy(shape);
    return pg;
}
Also used : IPolygon(net.sf.latexdraw.models.interfaces.shape.IPolygon)

Example 2 with IPolygon

use of net.sf.latexdraw.models.interfaces.shape.IPolygon in project latexdraw by arnobl.

the class LShapeFactory method createPolygonFrom.

@Override
public IPolygon createPolygonFrom(final IPolygon sh, final IPoint pointToAdd) {
    if (sh == null || !MathUtils.INST.isValidPt(pointToAdd))
        return null;
    final List<IPoint> pts = new ArrayList<>(sh.getPoints());
    pts.add(pointToAdd);
    final IPolygon copy = createPolygon(pts);
    copy.copy(sh);
    return copy;
}
Also used : ArrayList(java.util.ArrayList) IPoint(net.sf.latexdraw.models.interfaces.shape.IPoint) IPolygon(net.sf.latexdraw.models.interfaces.shape.IPolygon)

Example 3 with IPolygon

use of net.sf.latexdraw.models.interfaces.shape.IPolygon in project latexdraw by arnobl.

the class TestCanvasCreation method testDrawPolygon.

@Test
public void testDrawPolygon() {
    pencil.setCurrentChoice(EditionChoice.POLYGON);
    final Point2D pos = point(canvas).query();
    moveTo(pos).clickOn(MouseButton.PRIMARY).moveBy(-20d, -100d).clickOn(MouseButton.PRIMARY).moveBy(-100d, 50d).clickOn(MouseButton.SECONDARY).sleep(SLEEP);
    assertEquals(1, drawing.size());
    assertTrue(drawing.getShapeAt(0) instanceof IPolygon);
    final IPolygon sh = (IPolygon) drawing.getShapeAt(0);
    assertEquals(-Canvas.getMargins() + canvas.screenToLocal(pos).getX(), sh.getPtAt(0).getX(), 1d);
    assertEquals(-Canvas.getMargins() + canvas.screenToLocal(pos).getY(), sh.getPtAt(0).getY(), 1d);
    assertEquals(3, sh.getNbPoints());
}
Also used : Point2D(javafx.geometry.Point2D) IPolygon(net.sf.latexdraw.models.interfaces.shape.IPolygon) Test(org.junit.Test)

Example 4 with IPolygon

use of net.sf.latexdraw.models.interfaces.shape.IPolygon in project latexdraw by arnobl.

the class TestModifyShapeProperty method configureShapes.

private void configureShapes() {
    final IGrid grid = ShapeFactory.INST.createGrid(ShapeFactory.INST.createPoint());
    final IAxes axes = ShapeFactory.INST.createAxes(ShapeFactory.INST.createPoint());
    final IDot dot = ShapeFactory.INST.createDot(ShapeFactory.INST.createPoint());
    final ICircle circle = ShapeFactory.INST.createCircle();
    final IEllipse ell = ShapeFactory.INST.createEllipse();
    final IText txt = ShapeFactory.INST.createText();
    final IBezierCurve bc = ShapeFactory.INST.createBezierCurve(Collections.emptyList());
    final IPolyline pl = ShapeFactory.INST.createPolyline(Collections.emptyList());
    final IPolygon pg = ShapeFactory.INST.createPolygon(Collections.emptyList());
    final ITriangle tr = ShapeFactory.INST.createTriangle();
    final IRhombus rh = ShapeFactory.INST.createRhombus();
    final IRectangle r1 = ShapeFactory.INST.createRectangle();
    final IPlot plot = ShapeFactory.INST.createPlot(ShapeFactory.INST.createPoint(), 0d, 1d, "x", false);
    final ICircleArc carc = ShapeFactory.INST.createCircleArc();
    final ISquare sq = ShapeFactory.INST.createSquare();
    final IFreehand fh = ShapeFactory.INST.createFreeHand(Collections.emptyList());
    r1.setLineStyle(LineStyle.DASHED);
    r1.setBordersPosition(BorderPos.INTO);
    r1.setFillingStyle(FillingStyle.PLAIN);
    r1.setThickness(2.3);
    r1.setHasDbleBord(true);
    r1.setLineArc(0.2);
    r1.setDbleBordSep(1.3);
    r1.setHatchingsAngle(0.33);
    r1.setHatchingsSep(9.1);
    r1.setHatchingsWidth(12.11);
    r1.setShadowAngle(0.1);
    r1.setGradMidPt(0.66);
    r1.setHatchingsCol(DviPsColors.CYAN);
    r1.setLineColour(DviPsColors.NAVYBLUE);
    r1.setShadowSize(87.2);
    r1.setFillingCol(DviPsColors.CARNATIONPINK);
    r1.setShadowCol(DviPsColors.CORNFLOWERBLUE);
    r1.setDashSepBlack(1.2);
    r1.setDashSepWhite(2.1);
    r1.setDotSep(23.1);
    r1.setGradAngle(1.3);
    r1.setDbleBordCol(DviPsColors.RED);
    r1.setGradColEnd(DviPsColors.BITTERSWEET);
    r1.setGradColStart(DviPsColors.FORESTGREEN);
    r1.setShowPts(true);
    final IRectangle r2 = ShapeFactory.INST.createRectangle();
    r2.setLineStyle(LineStyle.SOLID);
    r2.setBordersPosition(BorderPos.MID);
    r2.setFillingStyle(FillingStyle.HLINES);
    r2.setThickness(6.3);
    r2.setHasShadow(true);
    r2.setLineArc(0.33);
    r2.setDbleBordSep(2.3);
    r2.setHatchingsAngle(-0.53);
    r2.setHatchingsSep(1.1);
    r2.setHatchingsWidth(2.11);
    r2.setShadowAngle(-0.1);
    r2.setGradMidPt(0.31);
    r2.setHatchingsCol(DviPsColors.APRICOT);
    r2.setLineColour(DviPsColors.YELLOW);
    r2.setShadowSize(8.1);
    r2.setFillingCol(DviPsColors.CERULEAN);
    r2.setShadowCol(DviPsColors.DARKORCHID);
    r1.setDashSepBlack(11.2);
    r1.setDashSepWhite(21.1);
    r1.setDotSep(231.1);
    r1.setGradAngle(11.3);
    r1.setDbleBordCol(DviPsColors.ROYALBLUE);
    r1.setGradColEnd(DviPsColors.CADETBLUE);
    r1.setGradColStart(DviPsColors.OLIVE);
    txt.copy(r1);
    ell.copy(r1);
    circle.copy(r2);
    dot.copy(r2);
    bc.copy(r2);
    pl.copy(r1);
    pg.copy(r2);
    tr.copy(r1);
    rh.copy(r2);
    plot.copy(r1);
    carc.copy(r2);
    sq.copy(r1);
    fh.copy(r2);
    group.addShape(r1);
    group.addShape(txt);
    group.addShape(grid);
    group.addShape(pl);
    group.addShape(pg);
    group.addShape(r2);
    group.addShape(axes);
    group.addShape(ell);
    group.addShape(circle);
    group.addShape(tr);
    group.addShape(rh);
    group.addShape(dot);
    group.addShape(bc);
    group.addShape(plot);
    group.addShape(carc);
    group.addShape(sq);
    group.addShape(fh);
}
Also used : IPlot(net.sf.latexdraw.models.interfaces.shape.IPlot) ICircle(net.sf.latexdraw.models.interfaces.shape.ICircle) IDot(net.sf.latexdraw.models.interfaces.shape.IDot) IEllipse(net.sf.latexdraw.models.interfaces.shape.IEllipse) IGrid(net.sf.latexdraw.models.interfaces.shape.IGrid) IAxes(net.sf.latexdraw.models.interfaces.shape.IAxes) IPolygon(net.sf.latexdraw.models.interfaces.shape.IPolygon) IFreehand(net.sf.latexdraw.models.interfaces.shape.IFreehand) IBezierCurve(net.sf.latexdraw.models.interfaces.shape.IBezierCurve) IPolyline(net.sf.latexdraw.models.interfaces.shape.IPolyline) ITriangle(net.sf.latexdraw.models.interfaces.shape.ITriangle) ICircleArc(net.sf.latexdraw.models.interfaces.shape.ICircleArc) IText(net.sf.latexdraw.models.interfaces.shape.IText) ISquare(net.sf.latexdraw.models.interfaces.shape.ISquare) IRhombus(net.sf.latexdraw.models.interfaces.shape.IRhombus) IRectangle(net.sf.latexdraw.models.interfaces.shape.IRectangle)

Example 5 with IPolygon

use of net.sf.latexdraw.models.interfaces.shape.IPolygon in project latexdraw by arnobl.

the class TestParsingPspolygon method testFloatSigns.

@Test
public void testFloatSigns() {
    parser("\\pspolygon(+++35.5,--50.5)(--+12, -1)(---+12, ++1)");
    IPolygon line = getShapeAt(0);
    assertEquals(3, line.getNbPoints());
    assertEquals(35.5 * IShape.PPC, line.getPtAt(0).getX(), 0.0001);
    assertEquals(-50.5 * IShape.PPC, line.getPtAt(0).getY(), 0.0001);
    assertEquals(12d * IShape.PPC, line.getPtAt(1).getX(), 0.0001);
    assertEquals(1d * IShape.PPC, line.getPtAt(1).getY(), 0.0001);
    assertEquals(-12d * IShape.PPC, line.getPtAt(2).getX(), 0.0001);
    assertEquals(-1d * IShape.PPC, line.getPtAt(2).getY(), 0.0001);
}
Also used : IPolygon(net.sf.latexdraw.models.interfaces.shape.IPolygon) Test(org.junit.Test)

Aggregations

IPolygon (net.sf.latexdraw.models.interfaces.shape.IPolygon)15 Test (org.junit.Test)9 IPoint (net.sf.latexdraw.models.interfaces.shape.IPoint)4 IBezierCurve (net.sf.latexdraw.models.interfaces.shape.IBezierCurve)2 IFreehand (net.sf.latexdraw.models.interfaces.shape.IFreehand)2 IPolyline (net.sf.latexdraw.models.interfaces.shape.IPolyline)2 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1 Collections (java.util.Collections)1 Function (java.util.function.Function)1 Platform (javafx.application.Platform)1 ObjectProperty (javafx.beans.property.ObjectProperty)1 SimpleObjectProperty (javafx.beans.property.SimpleObjectProperty)1 Point2D (javafx.geometry.Point2D)1 Point3D (javafx.geometry.Point3D)1 Cursor (javafx.scene.Cursor)1 MouseButton (javafx.scene.input.MouseButton)1 FileChooser (javafx.stage.FileChooser)1 AddShape (net.sf.latexdraw.commands.shape.AddShape)1 InitTextSetter (net.sf.latexdraw.commands.shape.InitTextSetter)1