Ejemplo n.º 1
0
        protected virtual void ExecuteFigureInstanceCommand(string[] splitCommand)
        {
            switch (splitCommand[0])
            {
            case "translate":
            {
                Vector3D transVector = Vector3D.Parse(splitCommand[1]);
                this.currentFigure.Translate(transVector);
                break;
            }

            case "rotate":
            {
                Vector3D center  = Vector3D.Parse(splitCommand[1]);
                double   degrees = double.Parse(splitCommand[2]);
                this.currentFigure.RotateInXY(center, degrees);
                break;
            }

            case "scale":
            {
                Vector3D center = Vector3D.Parse(splitCommand[1]);
                double   factor = double.Parse(splitCommand[2]);
                this.currentFigure.Scale(center, factor);
                break;
            }

            case "center":
            {
                Vector3D figCenter = this.currentFigure.GetCenter();
                Console.WriteLine(figCenter.ToString());
                break;
            }

            case "measure":
            {
                Console.WriteLine("{0:0.00}", this.currentFigure.GetPrimaryMeasure());
                break;
            }
            }
        }
Ejemplo n.º 2
0
        public override void ExecuteFigureCreationCommand(string[] splitFigString)
        {
            switch (splitFigString[0])
            {
            case "circle":
            {
                Vector3D center = Vector3D.Parse(splitFigString[1]);
                double   radius = Double.Parse(splitFigString[2]);
                currentFigure = new Circle(center, radius);
                break;
            }

            case "cylinder":
            {
                Vector3D top    = Vector3D.Parse(splitFigString[1]);
                Vector3D bottom = Vector3D.Parse(splitFigString[2]);
                double   radius = Double.Parse(splitFigString[3]);
                currentFigure = new Cylinder(top, bottom, radius);
                break;
            }
            }

            base.ExecuteFigureCreationCommand(splitFigString);
        }