Examples of IPoint


Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint


  @Override
  @Test
  public void testMirrorHorizontal() {
    IPoint pt2 = ShapeFactory.createPoint(3,1);
    IPoint pt4 = ShapeFactory.createPoint(1,3);

    shape.setPosition(pt4);
    shape.setWidth(pt2.getX()-pt4.getX());

    shape.mirrorHorizontal(shape.getGravityCentre());
    HelperTest.assertEqualsDouble(3., shape.getPtAt(0).getX());
    HelperTest.assertEqualsDouble(1., shape.getPtAt(1).getX());
    HelperTest.assertEqualsDouble(1., shape.getPtAt(2).getX());
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint


  @Override
  @Test
  public void testMirrorVertical() {
    IPoint pt2 = ShapeFactory.createPoint(3,1);
    IPoint pt4 = ShapeFactory.createPoint(1,3);

    shape.setPosition(pt4);
    shape.setWidth(pt2.getX()-pt4.getX());

    shape.mirrorVertical(shape.getGravityCentre());
    HelperTest.assertEqualsDouble(1., shape.getPtAt(0).getX());
    HelperTest.assertEqualsDouble(3., shape.getPtAt(1).getX());
    HelperTest.assertEqualsDouble(3., shape.getPtAt(2).getX());
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint


  @Override
  @Test
  public void testTranslate() {
    IPoint pt2 = ShapeFactory.createPoint(3,1);
    IPoint pt4 = ShapeFactory.createPoint(1,3);

    shape.setPosition(pt4);
    shape.setWidth(pt2.getX()-pt4.getX());

    shape.translate(10, 0);
    HelperTest.assertEqualsDouble(11., shape.getPtAt(0).getX());
    HelperTest.assertEqualsDouble(13., shape.getPtAt(1).getX());
    HelperTest.assertEqualsDouble(13., shape.getPtAt(2).getX());
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint

  }


  @Override
  public IPoint getLazyTopLeftPoint() {
    final IPoint centre = getPosition();
    return ShapeFactory.createPoint(centre.getX() - radius / 2., centre.getY() - radius / 2.);
  }
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint

    emptyCache();

    final StringBuilder rotation;
    final StringBuilder params  = getPropertiesCode(ppc);
    final IPoint tl  = shape.getTopLeftPoint();
    final IPoint br  = shape.getBottomRightPoint();
    final double x1      = tl.getX() - position.getX();
    final double x2      = br.getX() - position.getX();
    final double y1      = position.getY() - tl.getY();
    final double y2      = position.getY() - br.getY();

    if(shape.isRoundCorner())
      params.append(", framearc=").append((float)LNumber.getCutNumber(shape.getLineArc())); //$NON-NLS-1$

    rotation = getRotationHeaderCode(ppc, position);
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint



  @Override
  public IPoint getLazyBottomRightPoint() {
    final IPoint centre = getPosition();
    return ShapeFactory.createPoint(centre.getX() + radius / 2., centre.getY() + radius / 2.);
  }
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint

  @Override
  public SVGElement toSVG(final SVGDocument doc) {
    if(doc==null || doc.getFirstChild().getDefs()==null)
      throw new IllegalArgumentException();

    final IPoint tl = shape.getTopLeftPoint();
    final IPoint br = shape.getBottomRightPoint();
    final double tlx = tl.getX();
    final double tly = tl.getY();
    final double brx = br.getX();
    final double bry = br.getY();
    SVGElement elt;
    final SVGElement root = new SVGGElement(doc);
        root.setAttribute(LNamespace.LATEXDRAW_NAMESPACE+':'+LNamespace.XML_TYPE, LNamespace.XML_TYPE_ELLIPSE);
        root.setAttribute(SVGAttributes.SVG_ID, getSVGID());
        final double gap   = getPositionGap();
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint

  /**
   * Updates the cache with the code of the freehand shape having the Line style.
   */
  protected void updateCacheLines(final StringBuilder coord, final double originx, final double originy, final double ppc) {
    final List<IPoint> pts = shape.getPoints();
    IPoint p = pts.get(0);
    int i;
    final int size = shape.getNbPoints();
    final int interval = shape.getInterval();

    coord.append("\\moveto(").append(LNumber.getCutNumber((float)((p.getX()-originx)/ppc)));//$NON-NLS-1$
    coord.append(',').append(LNumber.getCutNumber((float)((originy-p.getY())/ppc))).append(')').append('\n');

    for(i=interval; i<size; i+=interval) {
      p = pts.get(i);
      coord.append("\\lineto(").append(LNumber.getCutNumber((float)((p.getX()-originx)/ppc)));//$NON-NLS-1$
      coord.append(',').append(LNumber.getCutNumber((float)((originy-p.getY())/ppc))).append(')').append('\n');
    }

    if(i-interval<size)
      coord.append("\\lineto(").append(LNumber.getCutNumber((float)((pts.get(pts.size()-1).getX()-originx)/ppc))).append(//$NON-NLS-1$
        ',').append(LNumber.getCutNumber((float)((originy-pts.get(pts.size()-1).getY())/ppc))).append(')').append('\n');
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint

    emptyCache();

    int i;
        final int size       = shape.getNbPoints();
        IPoint pt;
        IPoint ctrlPt1;
        IPoint ctrlPt2;
        final StringBuilder arrowsStyle= getArrowsStyleCode();
    final StringBuilder params   = getPropertiesCode(ppc);
    final StringBuilder coord   = new StringBuilder();
    final List<IPoint> pts     = shape.getPoints();
    final List<IPoint> fCtrlPts   = shape.getFirstCtrlPts();
    final List<IPoint> sCtrlPts   = shape.getSecondCtrlPts();
    final double originx       = origin.getX();
    final double originy       = origin.getY();

    if(size<2)
      return ;

    coord.append('(').append((float)LNumber.getCutNumber((pts.get(0).getX()-originx)/ppc));
    coord.append(',').append((float)LNumber.getCutNumber((originy-pts.get(0).getY())/ppc));
    coord.append(')').append('(').append((float)LNumber.getCutNumber((fCtrlPts.get(0).getX()-originx)/ppc));
    coord.append(',').append((float)LNumber.getCutNumber((originy-fCtrlPts.get(0).getY())/ppc));
    coord.append(')').append('(').append((float)LNumber.getCutNumber((fCtrlPts.get(1).getX()-originx)/ppc));
    coord.append(',').append((float)LNumber.getCutNumber((originy-fCtrlPts.get(1).getY())/ppc));
    coord.append(')').append('(').append((float)LNumber.getCutNumber((pts.get(1).getX()-originx)/ppc));
    coord.append(',').append((float)LNumber.getCutNumber((originy-pts.get(1).getY())/ppc));
    coord.append(')');

    for(i=2; i<size; i++) {
      ctrlPt1 = fCtrlPts.get(i);
      ctrlPt2 = sCtrlPts.get(i-1);

      coord.append('(').append(LNumber.getCutNumber((float)((ctrlPt2.getX()-originx)/ppc)));
      coord.append(',').append(LNumber.getCutNumber((float)((originy-ctrlPt2.getY())/ppc)));
      coord.append(')').append('(').append(LNumber.getCutNumber((float)((ctrlPt1.getX()-originx)/ppc)));
      coord.append(',').append(LNumber.getCutNumber((float)((originy-ctrlPt1.getY())/ppc)));
      coord.append(')').append('(');

      pt = pts.get(i);
      coord.append(LNumber.getCutNumber((float)((pt.getX()-originx)/ppc))).append(',');
      coord.append(LNumber.getCutNumber((float)((originy-pt.getY())/ppc))).append(')');
    }

    if(shape.isClosed()) {
      ctrlPt1 = sCtrlPts.get(0);
      ctrlPt2 = sCtrlPts.get(sCtrlPts.size()-1);

      coord.append('(').append(LNumber.getCutNumber((float)((ctrlPt2.getX()-originx)/ppc)));
      coord.append(',').append(LNumber.getCutNumber((float)((originy-ctrlPt2.getY())/ppc)));
      coord.append(')').append('(').append(LNumber.getCutNumber((float)((ctrlPt1.getX()-originx)/ppc)));
      coord.append(',').append(LNumber.getCutNumber((float)((originy-ctrlPt1.getY())/ppc)));
      coord.append(')').append('(');

      pt = pts.get(0);
View Full Code Here

Examples of net.sf.latexdraw.glib.models.interfaces.shape.IPoint

  @Override
  public IPoint rotatePoint(final IPoint gravityC, final double theta) {
    if(!GLibUtilities.isValidPoint(gravityC) || !GLibUtilities.isValidCoordinate(theta))
      return null;

    final IPoint pt     = ShapeFactory.createPoint();
    final double cosTheta;
    final double sinTheta;
    double angle   = theta;
    final double gx     = gravityC.getX();
    final double gy     = gravityC.getY();

    if(angle<0.)
      angle = 2.*PI + angle;

        angle %= 2. * PI;

    if(LNumber.equalsDouble(angle, 0.))
      return (IPoint)clone();

    if(LNumber.equalsDouble(angle-PI/2., 0.)) {
      cosTheta = 0.;
      sinTheta = 1.;
    }
    else if(LNumber.equalsDouble(angle-PI, 0.)) {
        cosTheta = -1.;
        sinTheta = 0.;
      }
      else if(LNumber.equalsDouble(angle-3.*PI/2., 0.)) {
          cosTheta = 0.;
          sinTheta = -1.;
        }
        else {
          cosTheta = Math.cos(angle);
          sinTheta = Math.sin(angle);
        }

    pt.setX(cosTheta * (x - gx) - sinTheta * (y - gy) + gx);
    pt.setY(sinTheta * (x - gx) + cosTheta * (y - gy) + gy);

    return pt;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.