Search in sources :

Example 6 with Polyline

use of net.sf.latexdraw.model.api.shape.Polyline in project latexdraw by arnobl.

the class PlotViewComputation method updateLine.

default Polyline updateLine(final Plot shape, final double posX, final double posY, final double minX, final double maxX, final double step) {
    final Polyline pl = ShapeFactory.INST.createPolyline(fillPoints(shape, posX, posY, minX, maxX, step));
    pl.copy(shape);
    return pl;
}
Also used : Polyline(net.sf.latexdraw.model.api.shape.Polyline)

Example 7 with Polyline

use of net.sf.latexdraw.model.api.shape.Polyline in project latexdraw by arnobl.

the class ShapeFactoryImpl method createPolylineFrom.

@Override
@NotNull
public Polyline createPolylineFrom(final Polyline sh, final Point pointToAdd) {
    if (sh == null || !MathUtils.INST.isValidPt(pointToAdd)) {
        throw new IllegalArgumentException();
    }
    final List<Point> pts = new ArrayList<>(sh.getPoints());
    pts.add(pointToAdd);
    final Polyline copy = createPolyline(pts);
    copy.copy(sh);
    return copy;
}
Also used : ArrayList(java.util.ArrayList) Polyline(net.sf.latexdraw.model.api.shape.Polyline) Point(net.sf.latexdraw.model.api.shape.Point) NotNull(org.jetbrains.annotations.NotNull)

Example 8 with Polyline

use of net.sf.latexdraw.model.api.shape.Polyline in project latexdraw by arnobl.

the class TestCanvasCreation method testDrawPolylines.

@Test
public void testDrawPolylines() {
    final Point2D pos = point(canvas).query();
    Cmds.of(CmdFXVoid.of(() -> editing.setCurrentChoice(EditionChoice.LINES)), () -> moveTo(pos).clickOn(MouseButton.PRIMARY).moveBy(-20d, -100d).clickOn(MouseButton.PRIMARY).moveBy(-100d, 50d).clickOn(MouseButton.SECONDARY)).execute();
    assertEquals(1, drawing.size());
    assertTrue(drawing.getShapeAt(0).orElseThrow() instanceof Polyline);
    final Polyline sh = (Polyline) drawing.getShapeAt(0).orElseThrow();
    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) Polyline(net.sf.latexdraw.model.api.shape.Polyline) Test(org.junit.Test)

Example 9 with Polyline

use of net.sf.latexdraw.model.api.shape.Polyline in project latexdraw by arnobl.

the class ModifyShapePropertyTest method commonCanDoFixture.

@Override
protected void commonCanDoFixture() {
    shapes = ShapeFactory.INST.createGroup();
    final Grid grid = ShapeFactory.INST.createGrid(ShapeFactory.INST.createPoint());
    final Axes axes = ShapeFactory.INST.createAxes(ShapeFactory.INST.createPoint());
    final Dot dot = ShapeFactory.INST.createDot(ShapeFactory.INST.createPoint());
    final Circle circle = ShapeFactory.INST.createCircle();
    final Ellipse ell = ShapeFactory.INST.createEllipse();
    final Text txt = ShapeFactory.INST.createText();
    final BezierCurve bc = ShapeFactory.INST.createBezierCurve(Collections.emptyList());
    final Polyline pl = ShapeFactory.INST.createPolyline(Collections.emptyList());
    final Polygon pg = ShapeFactory.INST.createPolygon(Collections.emptyList());
    final Triangle tr = ShapeFactory.INST.createTriangle();
    final Rhombus rh = ShapeFactory.INST.createRhombus();
    final Rectangle r1 = ShapeFactory.INST.createRectangle();
    final Plot plot = ShapeFactory.INST.createPlot(ShapeFactory.INST.createPoint(), 0d, 1d, "x", false);
    final CircleArc carc = ShapeFactory.INST.createCircleArc();
    final Square sq = ShapeFactory.INST.createSquare();
    final Freehand 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 Rectangle 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);
    dot.setDotStyle(DotStyle.DIAMOND);
    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);
    sq.setFillingStyle(FillingStyle.GRAD);
    shapes.addShape(r1);
    shapes.addShape(txt);
    shapes.addShape(grid);
    shapes.addShape(pl);
    shapes.addShape(pg);
    shapes.addShape(r2);
    shapes.addShape(axes);
    shapes.addShape(ell);
    shapes.addShape(circle);
    shapes.addShape(tr);
    shapes.addShape(rh);
    shapes.addShape(dot);
    shapes.addShape(bc);
    shapes.addShape(plot);
    shapes.addShape(carc);
    shapes.addShape(sq);
    shapes.addShape(fh);
}
Also used : Circle(net.sf.latexdraw.model.api.shape.Circle) Ellipse(net.sf.latexdraw.model.api.shape.Ellipse) Grid(net.sf.latexdraw.model.api.shape.Grid) Plot(net.sf.latexdraw.model.api.shape.Plot) Dot(net.sf.latexdraw.model.api.shape.Dot) Triangle(net.sf.latexdraw.model.api.shape.Triangle) Rectangle(net.sf.latexdraw.model.api.shape.Rectangle) Freehand(net.sf.latexdraw.model.api.shape.Freehand) Text(net.sf.latexdraw.model.api.shape.Text) Rhombus(net.sf.latexdraw.model.api.shape.Rhombus) Square(net.sf.latexdraw.model.api.shape.Square) Polyline(net.sf.latexdraw.model.api.shape.Polyline) CircleArc(net.sf.latexdraw.model.api.shape.CircleArc) Axes(net.sf.latexdraw.model.api.shape.Axes) BezierCurve(net.sf.latexdraw.model.api.shape.BezierCurve) Polygon(net.sf.latexdraw.model.api.shape.Polygon)

Example 10 with Polyline

use of net.sf.latexdraw.model.api.shape.Polyline in project latexdraw by arnobl.

the class TestPolyline method testConstructor.

@Test
public void testConstructor() {
    final Point pt1 = ShapeFactory.INST.createPoint(1, 1);
    final Point pt2 = ShapeFactory.INST.createPoint(2, 2);
    final Polyline pol = ShapeFactory.INST.createPolyline(Arrays.asList(pt1, pt2));
    assertEquals(pt1, pol.getPtAt(0));
    assertEquals(pt2, pol.getPtAt(-1));
}
Also used : Polyline(net.sf.latexdraw.model.api.shape.Polyline) Point(net.sf.latexdraw.model.api.shape.Point) Test(org.junit.Test) HelperTest(net.sf.latexdraw.HelperTest)

Aggregations

Polyline (net.sf.latexdraw.model.api.shape.Polyline)21 Test (org.junit.jupiter.api.Test)14 Point (net.sf.latexdraw.model.api.shape.Point)3 Polygon (net.sf.latexdraw.model.api.shape.Polygon)3 Test (org.junit.Test)3 HelperTest (net.sf.latexdraw.HelperTest)2 BezierCurve (net.sf.latexdraw.model.api.shape.BezierCurve)2 Circle (net.sf.latexdraw.model.api.shape.Circle)2 Freehand (net.sf.latexdraw.model.api.shape.Freehand)2 ModifiablePointsShape (net.sf.latexdraw.model.api.shape.ModifiablePointsShape)2 Rectangle (net.sf.latexdraw.model.api.shape.Rectangle)2 Shape (net.sf.latexdraw.model.api.shape.Shape)2 NotNull (org.jetbrains.annotations.NotNull)2 Click (io.github.interacto.jfx.interaction.library.Click)1 DnD (io.github.interacto.jfx.interaction.library.DnD)1 MultiClick (io.github.interacto.jfx.interaction.library.MultiClick)1 PointsData (io.github.interacto.jfx.interaction.library.PointsData)1 Press (io.github.interacto.jfx.interaction.library.Press)1 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1