Examples of Vec2D


Examples of toxi.geom.Vec2D

  public void checkForCollision(SliceSlot otherSlot) {

    float tempWidthThis = slice.thickness / SETTINGS.scale;

    Vec2D corner1This = this.getPos().add(this.dir.getRotated(0).scale(
        tempWidthThis / 2));
    Vec2D corner2This = this.getPos().add(this.dir.getRotated(0).scale(
        -tempWidthThis / 2));
    Vec2D corner3This = this.getPos().add(
        this.dir.getRotated((float) Math.PI / 2).scale(this.slotLen))
        .add(dir.getRotated(0).scale(-tempWidthThis / 2));
    Vec2D corner4This = this.getPos().add(
        this.dir.getRotated((float) Math.PI / 2).scale(this.slotLen))
        .add(dir.getRotated(0).scale(tempWidthThis / 2));

    float tempWidthThat = otherSlot.slice.thickness / SETTINGS.scale;

    Vec2D corner1That = otherSlot.getPos().add(otherSlot.dir.getRotated(0)
        .scale(tempWidthThis / 2));
    Vec2D corner2That = otherSlot.getPos().add(otherSlot.dir.getRotated(0)
        .scale(-tempWidthThis / 2));

    //not very scientific add 10 units to the end of each path to make sure it breaks though the edge
    Vec2D corner3That = otherSlot.getPos().add(
        otherSlot.dir.getRotated((float) Math.PI / 2).scale(
            otherSlot.slotLen + 10)).add(
        dir.getRotated(0).scale(-tempWidthThat / 2));
    Vec2D corner4That = otherSlot.getPos().add(
        otherSlot.dir.getRotated((float) Math.PI / 2).scale(
            otherSlot.slotLen + 10)).add(
        dir.getRotated(0).scale(tempWidthThat / 2));

    if (functions
View Full Code Here

Examples of toxi.geom.Vec2D

      extendLen = -extendLen;
   
    float tempWidth = slice.thickness / SETTINGS.scale;
    float tempLength = sLen + (fingerTollerance * 2)-(extendLen*2);

    Vec2D corner1 = getPos().add(
        dir.getRotated((float) Math.PI / 2).scale(offset+extendLen)).add(
        dir.getRotated(0).normalize().scale(tempWidth / 2));
    Vec2D corner2 = getPos().add(
        dir.getRotated((float) Math.PI / 2).scale(offset+extendLen)).add(
        dir.getRotated(0).normalize().scale(-tempWidth / 2));
    Vec2D corner3 = getPos().add(
        dir.getRotated((float) Math.PI / 2).scale(offset + tempLength+extendLen))
        .add(dir.getRotated(0).scale(-tempWidth / 2));
    Vec2D corner4 = getPos().add(
        dir.getRotated((float) Math.PI / 2).scale(offset + tempLength+extendLen))
        .add(dir.getRotated(0).scale(tempWidth / 2));

    vec2Ds.add(new SketchPoint(corner1));
    vec2Ds.add(new SketchPoint(corner2));
View Full Code Here

Examples of toxi.geom.Vec2D

         
         
   
    */

    Vec2D corner1, corner2, corner3, corner4;
   
    float s1 = 0, s2 = 0, s3 = 0, s4 = 0;
    if (this.onEdge) {
      float extendLen = GLOBAL.SketchGlobals.slotPierceLen;
      if (dirToEdge.equalsWithTolerance(new Vec2D(0, 1), 1f))
        s3 = +extendLen;

      if (dirToEdge.equalsWithTolerance(new Vec2D(1, 0), 1f))
        s2 = extendLen;

      if (dirToEdge.equalsWithTolerance(new Vec2D(0, -1), 1f))
        s3 = -extendLen;

      if (dirToEdge.equalsWithTolerance(new Vec2D(-1, 0), 1f))
        s4 = extendLen;
    }
    //tempWidth = tempWidth * (.1f / SETTINGS.scale  );
    corner1 = getPos().add(
        dir.getRotated((float) Math.PI / 2).scale(offset + s3)).add(
        dir.getRotated(0).normalize().scale((tempWidth / 2) + s4));
    corner2 = getPos().add(
        dir.getRotated((float) Math.PI / 2).scale(offset + s3)).add(
        dir.getRotated(0).normalize().scale((-tempWidth / 2) - s2));
    corner3 = getPos().add(
        dir.getRotated((float) Math.PI / 2).scale(
            (offset + tempLength) - s1)).add(
        dir.getRotated(0).normalize().scale((-tempWidth / 2) - s2));
    corner4 = getPos().add(
        dir.getRotated((float) Math.PI / 2).scale(
            (offset + tempLength) - s1)).add(
        dir.getRotated(0).normalize().scale((tempWidth / 2) + s4));

    gPath.moveTo(corner1.x, corner1.y);
    gPath.moveTo(corner2.x, corner2.y);
    gPath.lineTo(corner3.x, corner3.y);
    gPath.lineTo(corner4.x, corner4.y);
    gPath.lineTo(corner1.x, corner1.y);
    outlineArea.add(new Area(gPath));

    if (GLOBAL.shapePack.add_guide_divets) {
      float r = GLOBAL.shapePack.inner_corner_radius;

      Vec2D radCentre1 = getPos().add(
          dir.getRotated((float) Math.PI / 2).scale(-(r / 2))).add(
          dir.getRotated(0).normalize().scale(-tempWidth / 2));
      Vec2D radCentre2 = getPos().add(
          dir.getRotated((float) Math.PI / 2).scale(-(r / 2))).add(
          dir.getRotated(0).normalize().scale(tempWidth / 2));

      Ellipse2D.Float ellipse = new Ellipse2D.Float(radCentre1.x
          - (r / 2), radCentre1.y - (r / 2), r, r);
      outlineArea.add(new Area(ellipse));

      ellipse = new Ellipse2D.Float(radCentre2.x - (r / 2), radCentre2.y
          - (r / 2), r, r);
      outlineArea.add(new Area(ellipse));

    }
   
   
    if (GLOBAL.shapePack.addDogbones) {
      float r = GLOBAL.shapePack.inner_corner_radius;
     
//LOGGER.info(dirToEdge.toString());
     

      int sign = -1;
     
       
      Vec2D radCentre1 = getPos().add(
          dir.getRotated((float) Math.PI / 2).scale(
              (offset + tempLength+(r / 2)) - s1)).add(
                  dir.getRotated(0).normalize().scale((-(tempWidth+(r / 2)) / 2) - s2));

      Vec2D radCentre2 = getPos().add(
          dir.getRotated((float) Math.PI / 2).scale(
              (offset + tempLength+(r / 2)) - s1)).add(
                  dir.getRotated(0).normalize().scale((+(tempWidth+(r / 2)) / 2) - s2));

      Ellipse2D.Float ellipse = new Ellipse2D.Float(radCentre1.x
View Full Code Here

Examples of toxi.geom.Vec2D

  }

  public Vec2D getVec2DpickBuffer(int col) {

    Vec2D vec = this.selectedPlanes.getVec2DpickBuffer(col);
    if (vec != null)
      return vec;

    vec = this.slicePlanesSlatSlices.getVec2DpickBuffer(col);
    if (vec != null)
View Full Code Here

Examples of toxi.geom.Vec2D

  public Vec2D setVec2DpickBuffer(int col, SketchPoint selectedVec,
      SketchShape selectedShape, SlicePlane selectedVecPlane,
      boolean isSelectedVecOnOutline) {

    Vec2D vec = this.selectedPlanes.setVec2DpickBuffer(col, selectedVec,
        selectedShape, selectedVecPlane, isSelectedVecOnOutline);
    if (vec != null)
      return vec;

    vec = this.slicePlanesSlatSlices.setVec2DpickBuffer(col, selectedVec,
View Full Code Here

Examples of toxi.geom.Vec2D

        updateLen = true;
      } else {
        if (this.selectedPlanes.size() > 0) {
          SlicePlane tempPlane = this.selectedPlanes.get(0);
          ;
          Vec2D tempP = new Vec2D(GLOBAL.uiTools.mouseX,
              GLOBAL.uiTools.mouseY);
          SketchPath tempPath = new SketchPath(tempPlane.getSketch());
          tempPath.add(new SketchPoint(GLOBAL.uiTools
              .getPointOnPlane(tempP, tempPlane.getPlane())));
          tempPath.add(new SketchPoint(GLOBAL.uiTools
View Full Code Here

Examples of toxi.geom.Vec2D

     
     
      //GLOBAL.uiTools.setCurrentTool(UITools.SLICES_GROUP_SLICES);

     
      Vec2D pointOnPlan = GLOBAL.uiTools.getPointOnPlane(new Vec2D(
          GLOBAL.uiTools.mouseX, GLOBAL.uiTools.mouseY), this.plane
          .getPlane());

     
      this.mousePercent = this.path.getClosestPercent(pointOnPlan.x,
          pointOnPlan.y);

     
    //  LOGGER.info("UPDATE SLICE clicks "+clicks + " percent " +this.mousePercent  );

     
     
      if (this.type == CrossSliceSelection.SINGLE_SLICE) {


        if (clicks == 0) {
          this.start = this.mousePercent;
          this.end = this.mousePercent;
        }

        if (clicks == 1) {
          editing = false;
          this.plane.unselect();
          this.path.unselect();
        }

      } else {
       
        GLOBAL.uiTools.sliceToolMode = UITools.SLICE_EDIT_MODE_SPACING;
       

        if (clicks == 0) {
          this.start = this.mousePercent;
          GLOBAL.uiTools.sliceToolMode = UITools.SLICE_EDIT_MODE_ADD;

        }

        if (clicks == 1) {
          this.end = this.mousePercent;
          GLOBAL.uiTools.sliceToolMode = UITools.SLICE_EDIT_MODE_POS;


        }

        if (clicks == 2) {
          float spacingVal = Math.abs(this.mousePercent - this.end);
          this.spacing = spacingVal * 300;
        }
       
        if(clicks == 3){
        //  this.plane.unselect();
        //  this.path.unselect();
          GLOBAL.uiTools.SketchTools.selectTool(SketchTools.SELECT_TOOL);
        //  editing = false;
        //  clicks = 0;
        //  return;
        }

      }

      if ((this.type == CrossSliceSelection.SLICES || this.type == CrossSliceSelection.SLATSLICES)
          && this.spacing < SETTINGS.MIN_SPACING)
        this.spacing = SETTINGS.MIN_SPACING;
    }

    //is  plane not on a edge so move the construction lines
    if (editing && this.type == CrossSliceSelection.PLANE) {

      Vec2D pointOnPlan = GLOBAL.uiTools.getPointOnPlane(new Vec2D(
          GLOBAL.uiTools.mouseX, GLOBAL.uiTools.mouseY), this.plane
          .getPlane());

      if (clicks == 1) {
        SketchPath tempP = (SketchPath) this.path;
View Full Code Here

Examples of toxi.geom.Vec2D

    g.line(minX - measureLineModelOffset, maxY, minX - measureLineLen
        + measureLineModelOffset, maxY);
    g.line(minX - measureLineModelOffset, minY, minX - measureLineLen
        + measureLineModelOffset, minY);

    Vec2D arrowSideBottom = new Vec2D(minX + measureLineModelOffset
        - (measureLineLen * measureLineProportion), maxY);
    Vec2D arrowSideTop = new Vec2D(minX + measureLineModelOffset
        - (measureLineLen * measureLineProportion), minY);

    g.line(arrowSideTop.x, arrowSideTop.y, arrowSideBottom.x,
        arrowSideBottom.y);
    g.triangle(arrowSideTop.x, arrowSideTop.y, arrowSideTop.x + arrowWidth
        / 2, arrowSideTop.y + arrowHeight, arrowSideTop.x - arrowWidth
        / 2, arrowSideTop.y + arrowHeight);
    g.triangle(arrowSideBottom.x, arrowSideBottom.y, arrowSideBottom.x
        + arrowWidth / 2, arrowSideBottom.y - arrowHeight,
        arrowSideBottom.x - arrowWidth / 2, arrowSideBottom.y
            - arrowHeight);

    Vec2D texPosY = arrowSideBottom.copy().sub(
        arrowSideBottom.sub(arrowSideTop).scale(.5f));
    texPosY.x -= 30;
    g.textAlignY = PConstants.CENTER;
    g.textSize((float) (12f / GLOBAL.getZOOM()));
    g.text(Float.toString(lenY) + " :mm", texPosY.x, texPosY.y);

    g.line(minX, minY - measureLineModelOffset, minX, minY - measureLineLen
        + measureLineModelOffset);
    g.line(maxX, minY - measureLineModelOffset, maxX, minY - measureLineLen
        + measureLineModelOffset);

    Vec2D arrowTopLeft = new Vec2D(minX, minY + measureLineModelOffset
        - (measureLineLen * measureLineProportion));
    Vec2D arrowTopRight = new Vec2D(maxX, minY + measureLineModelOffset
        - (measureLineLen * measureLineProportion));

    g.line(arrowTopLeft.x, arrowTopLeft.y, arrowTopRight.x, arrowTopRight.y);
    g.triangle(arrowTopLeft.x, arrowTopLeft.y,
        arrowTopLeft.x + arrowHeight, arrowTopLeft.y + arrowWidth / 2,
        arrowTopLeft.x + arrowHeight, arrowTopLeft.y - arrowWidth / 2);
    g.triangle(arrowTopRight.x, arrowTopRight.y, arrowTopRight.x
        - arrowHeight, arrowTopRight.y + arrowWidth / 2,
        arrowTopRight.x - arrowHeight, arrowTopRight.y - arrowWidth / 2);

    Vec2D textPosX = arrowTopLeft.copy().sub(
        arrowTopLeft.sub(arrowTopRight).scale(.5f));
    textPosX.y -= 10;
    g.textAlign = PConstants.CENTER;

    g.text(Float.toString(lenX) + " :mm", textPosX.x, textPosX.y);
View Full Code Here

Examples of toxi.geom.Vec2D

  public void mousePressed(float mouseX, float mouseY) {

    if (GLOBAL.uiTools.getCurrentTool() == UITools.MEASURE_TOOL) {
      if (startPoint == null)
        startPoint = new Vec2D(mouseX, mouseY);

      this.currentPoint = new Vec2D(mouseX, mouseY);
    }
  }
View Full Code Here

Examples of toxi.geom.Vec2D

    float minX = getMinX();
    float minY = getMinY();   
   
    for (int i = 0; i < this.l.size(); i++) {
      spOutline outline = (spOutline) l.get(i);
      outline.translate(new Vec2D(-minX,-minY));

    }
  }
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.