Package cranks.geom

Examples of cranks.geom.Line


    }
    else if (step.getConstructionType() == THREE_POINTS) {
      Point point1 = (Point)step.getInputs()[0];
      Point point2 = (Point)step.getInputs()[1];
      Point point3 = (Point)step.getInputs()[2];
      Line line12 = new Line(point1, point2);
      Line line23 = new Line(point2, point3);
      if (!((line12.isParallel(line23))||(point1.equalTo(point2))
          || (point2.equalTo(point3)) || (point3.equalTo(point1))))  {
        Circle newCircle = new Circle(point1, point2, point3);
        newCircle.addToObjects(objects);
        clearAndHide();
View Full Code Here


                  step = new ConstructionStep(this,
                              new Object[]{objectToBeAdded}, POINT);
                break;

                case MOUSE_MODE_LINE:
                  objectToBeAdded = new Line(mouseClicks[0], mouseClicks[1]);
                  step = new ConstructionStep(this,
                              new Object[]{objectToBeAdded}, LINE);
                break;

                case MOUSE_MODE_TRIANGLE:
View Full Code Here

      cranks.geom.Point p = (cranks.geom.Point)objectToBeAdded;
      step.setOutputs(new Object[]{p});
      fireUndoableEditUpdate(new UndoableEditEvent(this, step));
    }
    else if (step.getConstructionType() == LINE) {
      Line l = (Line)objectToBeAdded;
      step.setOutputs(new Object[]{l.getStart(), l.getEnd(), l});
      fireUndoableEditUpdate(new UndoableEditEvent(this, step));
    }
    else if (step.getConstructionType() == TRIANGLE) {
      Triangle t = (Triangle)objectToBeAdded;
      step.setOutputs(new Object[]
View Full Code Here

        cranks.geom.Point p = (cranks.geom.Point)(step.getInputs()[0]);
        displayName = "Draw point at " + p.locationToString();
      break;

      case LINE:
        Line l = (Line)(step.getInputs()[0]);
        displayName = "Draw line from " +
                l.getStart().locationToString() + " to " + l.getEnd().locationToString();
      break;

      case TRIANGLE:
        Triangle t = (Triangle)(step.getInputs()[0]);
        displayName = "Draw triangle using points " +
View Full Code Here

    return ternaryAngle;
  }

  public Point getCouplerPoint() {
    if (ternary) {
      Angle slopeOfLink = (new Line(preJoint, postJoint)).getSlope();
      return (new Line(getPreviousJoint(), slopeOfLink.add(ternaryAngle),
                        ternaryLength)).getEnd();
    }
    else
      return null;
  }
View Full Code Here

                new FieldInfo(Integer.toString(ob.getNumber()), ob));
              field.add(subField);
            }
          break;
          case 3: //line
            Line l = ((Line)o);
            field = new DefaultMutableTreeNode(
                      new FieldInfo("Start Point", l.getStart()));
            object.add(field);
            field = new DefaultMutableTreeNode(
                      new FieldInfo("End Point", l.getEnd()));
            object.add(field);
            field = new DefaultMutableTreeNode(
                      new FieldInfo("Slope (Degrees)",
                                    Math.toDegrees(l.getSlope().getAngle())));
            object.add(field);
            field = new DefaultMutableTreeNode(
                      new FieldInfo("Length", l.getLength()));
            object.add(field);
            field = new DefaultMutableTreeNode(
                      new FieldInfo("Visibility", l.isVisible()));
            object.add(field);
            field = new DefaultMutableTreeNode(
                      new FieldInfo("AssociatedObjects", "Empty"));
            object.add(field);
            assocObjects = l.getAssocObjects();
            for (int j = 0; j<assocObjects.size(); j++) {
              GeometricalObject ob = assocObjects.elementAt(j);
              subField = new DefaultMutableTreeNode(
                new FieldInfo(Integer.toString(ob.getNumber()), ob));
              field.add(subField);
View Full Code Here

      for(int i = 0; i < step.getOutputs().length; i++)
        ((GeometricalObject)step.getOutputs()[i]).addToObjects(objects);
      if (step.getConstructionType() == ONE_POINT) {
        Object obj1 = step.getInputs()[1];
        Object obj2 = step.getInputs()[2];
        Line newLine = (Line)step.getOutputs()[1];
        if (!(obj1 instanceof Double))
          if (obj1 instanceof Line) {
            ((Line)obj1).addPropertyChangeListener(Line.PROP_LENGTH, newLine);
            newLine.addPropertyChangeListener(Line.PROP_LENGTH, (Line)obj1);
          }
          else {
            ((Circle)obj1).addPropertyChangeListener(Circle.PROP_RADIUS, newLine);
            newLine.addPropertyChangeListener(Circle.PROP_RADIUS, (Circle)obj1);
          }
        if (!(obj2 instanceof Double)) {
          ((Line)obj2).addPropertyChangeListener(Line.PROP_ANGLE, newLine);
          newLine.addPropertyChangeListener(Line.PROP_ANGLE, (Line)obj2);
        }
      }
    }
    else {
      System.err.println("Bad construction type");
View Full Code Here

                          point2, point3}, THREE_POINTS);
      doConstruction(step);
    }
    if (tabbedPane.getSelectedComponent() == pPointLine) {
      Point vertexPoint = (Point)cPoint.getSelectedItem();
      Line edgeLine = (Line)cLine.getSelectedItem();
      ConstructionStep step = new ConstructionStep(this,
                          new Object[]{vertexPoint, edgeLine}, POINT_LINE);
      doConstruction(step);
    }
  }
View Full Code Here

  public void doConstruction(ConstructionStep step) {
    if (step.getConstructionType() == THREE_POINTS) {
      Point P1 = (Point)step.getInputs()[0];
      Point P2 = (Point)step.getInputs()[1];
      Point P3 = (Point)step.getInputs()[2];
      Line line12 = new Line(P1, P2);
      Line line23 = new Line(P2, P3);
      if (!((line12.getSlope().equalTo(line23.getSlope()))||(P1.equalTo(P2))
          || (P2.equalTo(P3)) || (P3.equalTo(P1))))  {
        Triangle newTriangle = new Triangle(P1, P2, P3);
        newTriangle.addToObjects(objects);
        clearAndHide();
        step.setOutputs(new Object[]
             {newTriangle.getSides()[0], newTriangle.getSides()[1],
              newTriangle.getSides()[2], newTriangle});
        fireUndoableEditUpdate(new UndoableEditEvent(this, step));
      }
      else {
        JOptionPane.showMessageDialog(this, "Please select three distinct"+
              " non-collinear points", "Try Again", JOptionPane.ERROR_MESSAGE);
        initDialog();
      }
    }
    else if (step.getConstructionType() == POINT_LINE) {
      Point P1 = (Point)step.getInputs()[0];
      Line L1 = (Line)step.getInputs()[1];
      if (!(P1.canIntersect(L1))) {
        Triangle newTriangle = new Triangle(P1, L1);
        newTriangle.addToObjects(objects);
        clearAndHide();
        step.setOutputs(new Object[]
View Full Code Here

      lPickSide.setVisible(true);
      cPickSide.setVisible(true);
    }
    if (initialized && ((e.getActionCommand().equalsIgnoreCase("Old Side")) ||
                        (e.getActionCommand().equalsIgnoreCase("New Side")))) {
      Line selectedSide = (Line)(cPickSide.getSelectedItem());
      Line newSide = (Line)(cNewSide.getSelectedItem());
      lOrientation.setText("<HTML><CENTER>Select final position of<p>" +
                           selectedSide.getStart() + " of " + selectedSide +
                           "<p>after move</CENTER></HTML>");
      cSelectOrientation.removeAllItems();
      cSelectOrientation.addItem(newSide.getStart());
      cSelectOrientation.addItem(newSide.getEnd());
      pOrientation.setVisible(true);
      lOrientation.setVisible(true);
      cSelectOrientation.setVisible(true);
    }
  }
View Full Code Here

TOP

Related Classes of cranks.geom.Line

Copyright © 2018 www.massapicom. 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.