public override bool doTool() { node.setValues(newX, newY, newScale); if (newX != oldX || newY != oldY) { foreach (Trajectory.Side side in trajectory.getSides()) { if (side.getIDEnd().Equals(node.getID()) || side.getIDStart().Equals(node.getID())) { oldLengths.Add(side.getIDStart() + ";" + side.getIDEnd(), side.getLength()); Trajectory.Node start = trajectory.getNodeForId(side.getIDStart()); Trajectory.Node end = trajectory.getNodeForId(side.getIDEnd()); float x = start.getX() - end.getX(); float y = start.getY() - end.getY(); side.setLenght((float)Mathf.Sqrt(Mathf.Pow(x, 2) + Mathf.Pow(y, 2))); side.setRealLength((float)Mathf.Sqrt(Mathf.Pow(x, 2) + Mathf.Pow(y, 2))); } } } return(true); }
public override bool redoTool() { trajectory.getNodes().Add(newNode); trajectoryDataControl.getNodes().Add(newNodeDataControl); if (wasInitial) { trajectory.setInitial(newNode.getID()); trajectoryDataControl.initialNode = newNodeDataControl; } Controller.getInstance().updatePanel(); return(true); }
public override bool doTool() { node.setValues(newX, newY, newScale); if (newX != oldX || newY != oldY) { foreach (Trajectory.Side side in trajectory.getSides()) { if (side.getIDEnd().Equals(node.getID()) || side.getIDStart().Equals(node.getID())) { Node start = trajectory.getNodeForId(side.getIDStart()); Node end = trajectory.getNodeForId(side.getIDEnd()); float x = start.getX() - end.getX(); float y = start.getY() - end.getY(); var newLength = new Vector2(x, y).magnitude; if (Mathf.Approximately(side.getLength(), side.getRealLength())) { side.setLenght(newLength); } side.setRealLength(newLength); } } } return(true); }
public SetNodeValuesTool(Node node, Trajectory trajectory, int newX, int newY, float newScale) { this.newX = newX; this.newY = newY; this.newScale = newScale; this.oldX = node.getX(); this.oldY = node.getY(); this.oldScale = node.getScale(); this.oldLength = new Dictionary <string, float>(); bool isEnd; foreach (Trajectory.Side side in trajectory.getSides()) { isEnd = side.getIDEnd().Equals(node.getID()); if (isEnd || side.getIDStart().Equals(node.getID())) { oldLength.Add(isEnd ? side.getIDStart() : side.getIDEnd(), side.getLength()); } } this.node = node; this.trajectory = trajectory; }
public override bool undoTool() { Node temp = (Node)oldNodeDataControl.getContent(); trajectory.getNodes().Add(temp); trajectoryDataControl.getNodes().Add(oldNodeDataControl); if (wasInitial) { trajectory.setInitial(temp.getID()); trajectoryDataControl.initialNode = oldNodeDataControl; } foreach (SideDataControl side in oldSides) { trajectory.getSides().Add((Side)side.getContent()); trajectoryDataControl.getSides().Add(side); } Controller.Instance.updatePanel(); return(true); }