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; } } }
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); }