Exemplo n.º 1
0
        public void PopState()
        {
            TurtleState lastPushedState = _turtleStatesStack.Pop();

            currentOrientation = lastPushedState.GetOrientation();
            currentPosition    = lastPushedState.GetPosition();
            currentStepLength  = lastPushedState.GetStepLength();
            currentThickness   = lastPushedState.GetThickness();
            currentProfile     = lastPushedState.GetProfile();

            //add the branch to the list of branches
            branchesStack.Pop();
            //branches.Add(branchesStack.Pop());
        }
Exemplo n.º 2
0
        public void PushState()
        {
            //clone the object
            Point3d     position    = new Point3d(currentPosition.X, currentPosition.Y, currentPosition.Z);
            Plane       orientation = new Plane(currentOrientation.Origin, currentOrientation.XAxis, currentOrientation.YAxis);
            TurtleState turtleState = new TurtleState(position, orientation, currentStepLength, currentThickness, currentProfile);

            _turtleStatesStack.Push(turtleState);

            Branch newBranch = new Branch(-1);

            branchesStack.Push(newBranch);
            branches.Add(newBranch);
            newBranch.AddProfile(currentProfile);
            //newBranch.AddState(turtleState);
        }
Exemplo n.º 3
0
 private void AddState(TurtleState state)
 {
     states.Add(state);
     //profiles.Add(state.GetProfile());
 }