static void Main(string[] args) { #region Shapes var shapes = new IGeometricShape[] { new Rectangle { Width = 3, Height = 4 }, new Rectangle { Width = 4, Height = 5 }, new Rectangle { Width = 5, Height = 6 }, new EquilateralTriangle { SideLenght = 3 } }; var calculator = new ShapesCalculator(); calculator.Calculate(shapes); Console.WriteLine($"Total area: {calculator.TotalAreas} \n" + $"Total perimeter: {calculator.TotalPerimeters}"); Console.ReadKey(); #endregion }
static void Main(string[] args) { //composition var rectcomp1 = new RectComp(3, 9); Console.WriteLine($"The Perimeter of the rectcomp1 is {rectcomp1.Perimeter()}"); Console.WriteLine($"The Area of the rectcomp1 is {rectcomp1.Area()}"); Quad fred = new Rectangle(); Console.WriteLine($"Fred is a {fred.WhatAmI()}"); var sqr1 = new Square(4); Console.WriteLine($"The Perimeter of the Square is {sqr1.Perimeter()}"); Console.WriteLine($"The Area of the Square is {sqr1.Area()}"); Console.WriteLine($"The sqr1 is a {sqr1.WhatAmI()}"); var rect1 = new Rectangle(5, 3); Console.WriteLine($"The Perimeter of the Rectangle is {rect1.Perimeter()}"); Console.WriteLine($"The Area of the Rectangle is {rect1.Area()}"); Console.WriteLine($"The rect1 is a {rect1.WhatAmI()}"); var quad1 = new Quad(3, 4, 5, 6); { //Side1 = 3 //Side2 = 4 //Side3 = 5 //Side4 = 6 } Console.WriteLine($"The Perimeter of the Quadrilateral is {quad1.Perimeter()}"); Console.WriteLine($"The quad1 is a {quad1.WhatAmI()}"); var collection = new Quad[] { fred, sqr1, rect1, quad1 }; foreach (var geo in collection) { Console.WriteLine($"Shape is {geo.WhatAmI()}"); var hello = geo as Rectangle; if (hello != null) { Console.WriteLine($"The area of Shape {hello.Area()}"); } } var geoshapes = new IGeometricShape[] { new Circle(1), new Circle(2), new Rectangle(3, 7), new Square(5), }; foreach (var shape in geoshapes) { Console.WriteLine($"The Perimeter is {shape.Perimeter()} The Area is {shape.Area()}"); } }
private static void Main(string[] args) { var figuras = new IGeometricShape[] { new Rectangle { Width = 10, Height = 5 }, new EquilateralTriangle { SideLength = 5 }, new Rectangle { Width = 4, Height = 6 }, new Square { SideLength = 10 }, new Rectangle { Width = 8, Height = 9 }, new Square { SideLength = 8 }, new EquilateralTriangle { SideLength = 5 } }; var calculator = new GreatCalculator(); calculator.Calculate(figuras); Console.WriteLine($"Área total: {calculator.TotalAreas}\nPerímetro total:{calculator.TotalPerimeters}"); Console.ReadKey(); }
static void Main(string[] args) { var figuras = new IGeometricShape[] { new Rectangle { Width = 10, Height = 5 }, new EquilateralTriangle { SideLength = 10 }, new Square { SideLength = 20 }, new Rectangle { Width = 3, Height = 1 }, new Square { SideLength = 32 } }; GreatCalculator calculator = new GreatCalculator(); calculator.Calculate(figuras); Console.WriteLine("Suma de areas: " + calculator.TotalAreas); Console.WriteLine("Suma de perimetros: " + calculator.TotalPerimeters); Console.ReadKey(); }
public static void Main(string[] args) { var figures = new IGeometricShape[] { new Rectangle { Width = 10, Height = 5 }, new EquilateralTriangle { SideLength = 5 }, new Rectangle { Width = 4, Height = 6 }, new Rectangle { Width = 8, Height = 9 }, new EquilateralTriangle { SideLength = 5 } }; var sumAreas = AreaOperation.Sum(figures); var sumPerimeters = PerimeterOperation.Sum(figures); Console.WriteLine($"Total Area: {sumAreas}"); Console.WriteLine($"Total Perimeters: {sumPerimeters}"); Console.ReadKey(); }
public static double GetPerimeter(IGeometricShape shape) { Punct[] points = shape.GetAllPoints(); double totalPerimeter = 0; if (points.Length > 2) { for (int i = 0; i < points.Length; i++) { if (i == points.Length - 1) { totalPerimeter = totalPerimeter + DistanceBetween2Points(points[0], points[i]); } else { totalPerimeter = totalPerimeter + DistanceBetween2Points(points[i], points[i + 1]); } } } else if (points.Length == 2) { totalPerimeter = totalPerimeter + DistanceBetween2Points(points[0], points[1]); } return(totalPerimeter); }
static void Main(string[] args) { Quadrilaterial rect = new Rectangle(); Console.WriteLine(rect.WhatAmI()); var quad1 = new Quadrilaterial(3, 4, 6, 5); Console.WriteLine($"The Perimeter of the quad is {quad1.Perimeter()}"); var rect1 = new Rectangle(5, 3); Console.WriteLine($"The Perimeter of the quad is {rect1.Perimeter()}"); Console.WriteLine($"The Area of the quad is {rect1.Area()}"); var sqr1 = new Square(4); Console.WriteLine($"The Perimeter of the quad is {sqr1.Perimeter()}"); Console.WriteLine($"The Area of the quad is {sqr1.Area()}"); Console.WriteLine($"The sqr1 is {sqr1.WhatAmI()}"); Console.WriteLine($"The rect1 is {rect1.WhatAmI()}"); Console.WriteLine($"The quad1 is {quad1.WhatAmI()}"); var collection = new Quadrilaterial[] { rect, sqr1, rect1, quad1 }; foreach (Quadrilaterial shape in collection) { Console.WriteLine($"The shape is {shape.WhatAmI()}."); } //Working with Interfaces var geoShapes = new IGeometricShape[] { new Circle(1), new Circle(2), new Rectangle(3, 7), new Square(5) }; var geoShapes2 = new IGeometricShape[2]; geoShapes2[0] = new Circle(3); geoShapes2[1] = new Circle(4); geoShapes2.Prepend(new Circle(5)); foreach (var shape in geoShapes) { Console.WriteLine($"The Perimiter is {shape.Perimeter()}. The area is {shape.Area()}"); } var square = rect1 as Square; if (square is null) { Console.WriteLine("The value is null"); } var rectComp = new RectComp(3, 9); Console.WriteLine($"The perimeter of rect comp is {rectComp.Perimeter()}"); Console.WriteLine($"The Area of rect comp is {rectComp.Area()}"); }
static void Main(string[] args) { var rectComp = new RectComp(3, 9); Console.WriteLine($"The Perimeter of the rectComp is {rectComp.Perimeter()}"); Console.WriteLine($"The Area of the rectComp is {rectComp.Area()}"); Rect fred = new Rect(7, 11); Console.WriteLine($"Fred is a {fred.WhatAmI()}"); Sqr sqr1 = new Sqr(4); Console.WriteLine($"The Perimeter of the sqr is {sqr1.Perimeter()}"); Console.WriteLine($"The Area of the sqr is {sqr1.Area()}"); Console.WriteLine($"The sqr1 is a {sqr1.WhatAmI()}"); var rect1 = new Rect(5, 3); //int p = rect1.Perimeter(); Console.WriteLine($"The Perimeter of the rect is {rect1.Perimeter()}"); Console.WriteLine($"The Area of the rect is {rect1.Area()}"); Console.WriteLine($"The rect1 is a {rect1.WhatAmI()}"); var quad1 = new Quad(3, 4, 5, 6); Console.WriteLine($"The Perimeter of the quad is {quad1.Perimeter()}"); Console.WriteLine($"The quad1 is a {quad1.WhatAmI()}"); var collection = new Quad[] { fred, sqr1, rect1, quad1 }; foreach (var geo in collection) { Console.WriteLine($"geo is a {geo.WhatAmI()}"); var rect = geo as Rect; if (rect != null) { Console.WriteLine($"The area of geo is {rect.Area()}"); } } var geoshapes = new IGeometricShape[] { new Circle(1), new Circle(2), new Rect(3, 7), new Sqr(5) }; //var geoshapes2 = new IGeometricShape[2]; //geoshapes2[0] = new Circle(3); //geoshapes2[1] = new Circle(4); foreach (var shape in geoshapes) { Console.WriteLine($"Perimeter: {shape.Perimeter()}, Area: {shape.Area()}"); } }
public static IGeometricShape ShapeMove(IGeometricShape shape, int dx, int dy) { Punct[] points = shape.GetAllPoints(); for (int i = 0; i < points.Length; i++) { points[i].X = points[i].X + dx; points[i].Y = points[i].Y + dy; } return(shape); }
public bool Intersects(IGeometricShape geometricShape, out List<Vector2D> points) { if (geometricShape.ShapeType == GeometricShapeTypes.Rectangle) { GameRectangle temp = (GameRectangle)geometricShape; return temp.Intersects(this, out points); } if (geometricShape.ShapeType == GeometricShapeTypes.Circle) { GameCircle circle = (GameCircle)geometricShape; points = GeometricAlgorithms.IntersectCircles(this, circle); return points.Count > 0; } throw new NotImplementedException(); }
static void Main(string[] args) { var figuras = new IGeometricShape[] { new Square { SideLength = 10 }, new EquilateralTriangle { SideLength = 5 } }; var calculator = new GreatCalculator(); calculator.Calculate(figuras); Console.WriteLine($"Area Total:{calculator.TotalAreas} "); }
static void Main(string[] args) { //This is the object that will make the shapes. ShapeFactory fact = new ShapeFactory(); //This is a shape, at first the shape will be line. IGeometricShape shape = fact.getShape((ShapeFactory.ShapeType) 0); shape.draw(); for (int i = 1; i < Enum.GetValues(typeof(ShapeFactory.ShapeType)).Length; i++) { shape = fact.getShape((ShapeFactory.ShapeType)i); //if shape name does not exist. if (shape == null) { Console.WriteLine("SHAPE " + (ShapeFactory.ShapeType)i + " NOT FOUND."); } else { shape.draw(); } } }
public GeometricShapeToShapeAdapter(IGeometricShape geometricShape) { this.geometricShape = geometricShape; }
public FreeShape(ContextManager manager, PointCollectionGeometry geom) : base(manager) { BaseShape = geom; }
public FormaGeometrica(EGeometricShapes eGeometricShapes, decimal side1, decimal?side2, decimal?base1, decimal?base2, decimal?height) { _iGeometricShape = GeometricShapeFactory.GetGeometricShape(eGeometricShapes, side1, side2, base1, base2, height); }
/// <summary> /// Дали правоаголникот се сече или се допира со некоја друга геометриска фигура. /// Враќа и листа од некои точки со кои тој се сече. /// </summary> /// <param name="geometricShape"></param> /// <param name="points"></param> /// <returns></returns> public bool Intersects(IGeometricShape geometricShape, out List<Vector2D> points) { points = new List<Vector2D>(); if (geometricShape.ShapeType == GeometricShapeTypes.Rectangle) { return this.Intersects((GameRectangle)geometricShape, points); } else if (geometricShape.ShapeType == GeometricShapeTypes.Circle) { return this.Intersects((GameCircle)geometricShape, points); } throw new NotImplementedException(); }
public GeometricShapeObjectAdapter(IGeometricShape adaptee) { this.adaptee = adaptee; }
public LineShape(ContextManager cm, LineGeometry ln) : base(cm) { BaseShape = ln; }