예제 #1
0
 public SetTrajectoryInitialNodeTool(Trajectory trajectory, TrajectoryDataControl trajectoryDataControl, NodeDataControl nodeDataControl)
 {
     this.trajectory                = trajectory;
     this.trajectoryDataControl     = trajectoryDataControl;
     this.nodeDataControl           = nodeDataControl;
     this.oldInitialNodeDataControl = trajectoryDataControl.getInitialNode();
 }
예제 #2
0
 public DeleteTrajectoryNodeTool(DataControl dataControl, Trajectory trajectory, TrajectoryDataControl trajectoryDataControl)
 {
     this.oldNodeDataControl    = (NodeDataControl)dataControl;
     this.trajectory            = trajectory;
     this.trajectoryDataControl = trajectoryDataControl;
     this.oldSides   = new List <SideDataControl>();
     this.wasInitial = (trajectoryDataControl.getInitialNode() == oldNodeDataControl);
 }
예제 #3
0
 public AddTrajectorySideTool(NodeDataControl startNode, NodeDataControl endNode, Trajectory trajectory, TrajectoryDataControl trajectoryDataControl, SceneDataControl sceneDataControl)
 {
     this.startNode             = startNode;
     this.endNode               = endNode;
     this.trajectory            = trajectory;
     this.trajectoryDataControl = trajectoryDataControl;
     this.sceneDataControl      = sceneDataControl;
 }
    /**
     * Add a new side to the trajectory
     *
     * @param startNode
     *            the start node data control of the side
     * @param endNode
     *            the end node data control of the side
     * @return bool indicating if the side was added
     */
    public bool addSide(NodeDataControl startNode, NodeDataControl endNode)
    {
        if (startNode == endNode)
        {
            return(false);
        }

        Controller.getInstance().addTool(new AddTrajectorySideTool(startNode, endNode, trajectory, this, sceneDataControl));

        return(true);
    }
    public override bool doTool()
    {
        string id = "node" + (new System.Random().Next(10000));

        newNode            = trajectory.addNode(id, x, y, 1.0f);
        newNodeDataControl = new NodeDataControl(sceneDataControl, newNode, trajectory);
        trajectoryDataControl.getNodes().Add(newNodeDataControl);
        if (trajectory.getInitial() == newNode)
        {
            trajectoryDataControl.initialNode = newNodeDataControl;
            wasInitial = true;
        }
        return(true);
    }
    /**
     * Constructor.
     *
     * @param sceneDataControl
     *            Link to the parent scene controller
     * @param barriersList
     *            List of activeAreas
     */
    public TrajectoryDataControl(SceneDataControl sceneDataControl, Trajectory trajectory)
    {
        this.sceneDataControl = sceneDataControl;
        this.trajectory       = trajectory;

        sideDataControlList = new List <SideDataControl>();
        nodeDataControlList = new List <NodeDataControl>();
        if (trajectory != null)
        {
            foreach (Node node in trajectory.getNodes())
            {
                nodeDataControlList.Add(new NodeDataControl(sceneDataControl, node, trajectory));
                if (node == trajectory.getInitial())
                {
                    initialNode = nodeDataControlList[nodeDataControlList.Count - 1];
                    initialNode.setInitial(true);
                }
            }
            foreach (Side side in trajectory.getSides())
            {
                sideDataControlList.Add(new SideDataControl(sceneDataControl, this, side));
            }
        }
    }
 /**
  * Set the initial node of the trajectory to the given one
  *
  * @param nodeDataControl
  *            The new initial node data control
  */
 public void setInitialNode(NodeDataControl nodeDataControl)
 {
     Controller.getInstance().addTool(new SetTrajectoryInitialNodeTool(trajectory, this, nodeDataControl));
 }