static void Main(string[] args) { var figureList = new FigureList(); figureList.Add(new Circle(new Point(10, 20), 10)); figureList.Add(new Rectangle(new Point(5, 15), 15, 25)); figureList.Add(new Square(new Point(0, 0), 5)); var points = new List <Point> { new Point(14, 26), new Point(23, 18), new Point(96, 21) }; figureList.Add(new PolygonalChain(points)); foreach (var figure in figureList) { figure.Draw(); } var visitor = new JsonSerializerVisitor(); visitor.Visit(new Circle(new Point(10, 20), 10)); System.Console.WriteLine(visitor.Json); }
public FormMain() { InitializeComponent(); formD = new FormDialog(); GpanelHolst = panelHolst.CreateGraphics(); figlst = new FigureList(GpanelHolst); lListOfBs = (from lAssembly in AppDomain.CurrentDomain.GetAssemblies() from lType in lAssembly.GetTypes() where typeof(Figure).IsAssignableFrom(lType) select lType).ToList(); foreach (Type j in lListOfBs) { if (j.Name != "Figure") { figureToolStripMenuItem.DropDownItems.Add(j.Name); } } foreach (ToolStripMenuItem i in figureToolStripMenuItem.DropDownItems) { i.Click += new EventHandler(setCurrentFigure); } }
public Form1() { InitializeComponent(); g = Graphics.FromHwnd(Handle); flist = new FigureList(); ToolStripMenuItem item = new ToolStripMenuItem(); TypeList = Assembly.GetExecutingAssembly().GetTypes().ToList().Where(t => t.Namespace == "kurs.Classes").ToList<Type>(); for (int i = 0; i < TypeList.Count; i++) { if ((TypeList[i].Name != "Figure") && (TypeList[i].Name != "FigureList")) { item = new ToolStripMenuItem(); item.Name = TypeList[i].Name; item.Text = TypeList[i].Name; ShapeToolStripMenuItem.DropDownItems.Add(item); } } CurrentInstrument = "Selection"; labelCurrInstrument.Text = "Selection"; textBox_Width.Text = "1"; selectedIndex = selectionMode= -1; FillColor = Color.White; OutlineColor = Color.Black; needFilling = false; needOutline = true; tempX = tempY = panX = panY =0; }
public void Add(FigureList figures) { using (Transaction.Create(ActionManager, true)) { figures.ForEach(Add); } }
public void CheckRectangle() { var myList = new FigureList(); var list = new Do(); list.MyList = myList; var rnd = new Random(); for (int i = 0; i < 5; i++) { myList.Add(new Figure(2, i, i, i + 1, i + 1, rnd.Next(0, 8)), i); //+5 отреков с попарно разными myList.Add(new Figure(3, i, i, i, i, rnd.Next(0, 8)), i); //+5 кругов myList.Add(new Figure(2, i, i, i, i, rnd.Next(0, 8)), i); //+5 с одинаковыми XY координатами } var newLine = list.LinesToRectangle(); Figure item = newLine.head; var n = -1; while (item != null) { if (item.Type == 2) { n = 1; //отрезков не осталось } item = item.Next; } Assert.AreEqual(-1, n); }
public void CheckListByConst()//проверка метода создающего список из фигур площадь которых < конст { var myList = new FigureList(); var list = new Do(); list.MyList = myList; var newLine = list.BuildListByConst(10); Figure item = newLine.head; var n = -1; while (item != null) { if (item.Type == 2) { if ((item.XRD - item.XLU) * (item.YRD - item.YLU) < 10) { n = 1; } } if (item.Type == 2) { if (item.XRD * Math.PI * 2 < 10) { n = 1; } } item = item.Next; } Assert.AreEqual(-1, n); }
public void CheckEncode()//в файле 4 элемента было, проверял по длине, не додумался по-другому { var myList = new FigureList(); var list = new Do(); list.MyList = myList; list.Encode(); Assert.AreEqual(4, myList.Count()); }
public void CheckCorrectAdd() { var list = new FigureList(); for (int i = 0; i < 4; i++) { list.Add(new Figure(1, 1, 1, 1, 1, 1), 0); } Assert.AreEqual(1, list.Count()); }
private void openFileDialog_FileOk(object sender, CancelEventArgs e) { XmlSerializer reader = new XmlSerializer(typeof(FigureList)); StreamReader file = new StreamReader(openFileDialog.FileName); figlst = (FigureList)reader.Deserialize(file); figlst.holst = GpanelHolst; figlst.DrawList(); }
public void openVHDLFile(string filename) { My_FileAnalyzer analyzer = new My_FileAnalyzer(filename, core); analyzer.Analyze(); foreach (My_Figure fig in analyzer.figures) { FigureList.Add(fig); } Sort(); }
public void SaveData(FigureList figureList, bool append = false) { using (StreamWriter writer = File.CreateText(PATH)) { foreach (Shape obj in figureList.ObjectList) { string savedShape = XamlWriter.Save(obj); writer.WriteLine(savedShape); } } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); var figure = new Figure(); FigureControl.Ball = figure; FigureList.Add(FigureControl.Figure); }
public void CheckRemove() { var myList = new FigureList(); var rnd = new Random(); for (int i = 0; i < 7; i++) { myList.Add(new Figure(1, i, 0, 0, 0, 0), 0); } myList.Remove(new Figure(1, 0, 0, 0, 0, 0)); Assert.AreEqual(6, myList.Count()); }
public void HReverse(FigureList figures) { if (Figures.Any(f => f is Game.PBBall)) { figures.ForEach(f => f.BallHReverse(GetBallPoint())); } else { figures.ForEach(f => f.HReverse()); } Figures.UpdateVisual(); }
public static PBLine CreateLine(Drawing drawing, FigureList dependencies, Webb.Playbook.Geometry.Game.PBRoutePoint pbPoint) { PBLine retLine = new PBLine() { Drawing = drawing, Dependencies = dependencies, CapType = pbPoint.CapType, LineType = pbPoint.LineType, DashType = pbPoint.DashType, StrokeColor = pbPoint.StrokeColor, }; return(retLine); }
public void Add(FigureList figures, bool record) { if (record) { using (Transaction.Create(ActionManager, true)) { figures.ForEach(Add); } } else { figures.ForEach(AddWithoutRecord); } }
private static IFigureList ReadDependencies(XElement figureNode, Dictionary<string, IFigure> dictionary) { FigureList result = new FigureList(); foreach (var node in figureNode.Elements("Dependency")) { var name = node.ReadString("Name"); IFigure figure = null; if (dictionary.TryGetValue(name, out figure)) { result.Add(figure); } } return result; }
public static PBLine CreateLine(Drawing drawing, FigureList dependencies) { PBLine retLine = new PBLine() { Drawing = drawing, Dependencies = dependencies, }; if (Behavior.DrawVideo) { retLine.StrokeColor = Color; } return(retLine); }
private void LoadToList() { for (int i = 0; i < FCoords.Count(); i++) { FigureList.SelectedIndexChanged += FigureList_SelectedIndexChanged; FigureList.Items.Add(i); FigureList.SelectedIndexChanged -= FigureList_SelectedIndexChanged; } if (coords.Count != 0) { FigureList.SelectedIndexChanged += FigureList_SelectedIndexChanged; FigureList.SetSelected(0, true); FigureList.SelectedIndexChanged -= FigureList_SelectedIndexChanged; } }
public void openVHDLFile(string filename, string EntityName) { if (System.IO.File.Exists(filename) == false) { return; } My_FileAnalyzer analyzer = new My_FileAnalyzer(filename, core); analyzer.Analyze(EntityName); info.Entity = analyzer.SelectedEntity; foreach (My_Figure fig in analyzer.figures) { FigureList.Add(fig); } Sort(); }
public void CheckDecode() { var myList = new FigureList(); var list = new Do(); list.MyList = myList; var rnd = new Random(); for (int i = 0; i < 7; i++) { myList.Add(new Figure(rnd.Next(1, 4), rnd.Next(0, 6), rnd.Next(0, 6), rnd.Next(0, 4), rnd.Next(0, 4), rnd.Next(0, 4)), i); } list.Decode(); Assert.AreEqual(0, myList.Count()); }
public Form1() { InitializeComponent(); g = Graphics.FromHwnd(Handle); flist = new FigureList(); TypeList = Assembly.GetExecutingAssembly().GetTypes().ToList().Where(t => t.Namespace == "lab1.Classes").ToList<Type>(); for (int i = 0; i < TypeList.Count; i++) { if ((TypeList[i].Name != "Figure") && (TypeList[i].Name != "FigureList")) { ToolStripMenuItem item = new ToolStripMenuItem(); item.Name = TypeList[i].Name; item.Text = TypeList[i].Name; shapeToolStripMenuItem.DropDownItems.Add(item); } } }
private void Init() { Bitmap bmp = new Bitmap(this.Width, this.Height); Graphics graph = Graphics.FromImage(bmp); FigureList Figures = new FigureList(); Figures.Add(new Line(new Pen(Color.Red), 100, 100, 200, 200)); Figures.Add(new Triangle(new Pen(Color.Blue), 250, 200, 300, 50, 350, 200)); Figures.Add(new Rectangle(new Pen(Color.Black), 300, 300, 100, 200)); Figures.Add(new Ellipse(new Pen(Color.Purple), 300, 300, 100, 200)); Figures.Add(new Square(new Pen(Color.Green), 450, 300, 100)); Figures.Add(new Circle(new Pen(Color.Brown), 450, 300, 100)); for (int i = 0; i < Figures.Count; i++) { Figures[i].Draw(graph); } this.BackgroundImage = bmp; }
public FigureList GetOffFigures() { FigureList offfigurelist = new FigureList(); List <IFigure> pathFigures; IEnumerable <IFigure> PbFigure = this.GetPBplayer(); foreach (Game.PBPlayer pbplayer in PbFigure) { if (pbplayer.ScoutType == 0) { pathFigures = pbplayer.GetPatheExceptEndPlayer(pbplayer, null, 0).ToList(); offfigurelist.Add(pbplayer as IFigure); foreach (IFigure ifigure in pathFigures) { offfigurelist.Add(ifigure); } } } return(offfigurelist); }
public void CheckListByRectangleCoords() { var myList = new FigureList(); var list = new Do(); list.MyList = myList; var newLine = list.RectangleCoordinates(new Figure(1, 2, 3, 4, 5, 6)); Figure item = newLine.head; var n = -1; while (item != null) { if (item.XLU != 2 && item.YLU != 3) //проверка, есть ли фигуры с не такими параметрами { n = 1; //100% общая точка - у отрезков: одинаковая точка, } item = item.Next; //а у круга одна точка и радиус меньше длины одной из сторон } Assert.AreEqual(-1, n); }
public void AddPassBlockArea(Geometry.Drawing drawing, Geometry.Game.PBPlayer player) { IEnumerable <IFigure> figures = player.GetPathPointFigure(player, null, 0); if (figures.Count() > 0) {// have path IFigure figure = player.GetEndFigure(); if (figure is Game.PBPlayer) { IEnumerable <IFigure> allFigures = player.GetPathFigure(player, null, 0); IFigure lineFigure = allFigures.Last(); drawing.Remove(lineFigure); } player.ChangeLineType(CapType.BlockArea); } else {// no path player.ClearPath(); IFigure source = player as IFigure; var result = Factory.CreateSubPoint(drawing, new Point(player.Coordinates.X, player.Coordinates.Y - 0.8)); FigureList dependencies = new FigureList(); dependencies.Add(source); dependencies.Add(result); PBLine line = Factory.CreateLine(drawing, dependencies); List <IFigure> figuresPassBlock = new List <IFigure>(); figuresPassBlock.Add(line); figuresPassBlock.Add(result); drawing.Add(figuresPassBlock); if (!drawing.DrawingMode) { line.CapType = CapType.BlockArea; line.StrokeColor = Webb.Playbook.Data.ColorSetting.Instance.BlockColor; } //player.Assignment = "Pass Block Area"; } drawing.Figures.UpdateVisual(); }
public static PBLine CreateArrowLine(Drawing drawing, FigureList dependencies) { PBLine retLine = new PBLine() { Drawing = drawing, Dependencies = dependencies, CapType = CapType.Arrow, LineType = LineType, DashType = DashType }; if (drawing.DrawingMode) { retLine.CapType = CapType; retLine.StrokeColor = Color; retLine.StrokeThickness = StrokeThickness; } if (Behavior.DrawVideo) { retLine.StrokeColor = Color; } return(retLine); }
private void Window_Loaded(object sender, RoutedEventArgs e) { dataIO = new DataIO(PATH); figureList = new FigureList(); figureList.ObjectList = new List <Shape>(); try { figureList.ObjectList = dataIO.LoadData(); if (!(figureList.ObjectList.Count == 0)) { foreach (Shape obj in figureList.ObjectList) { FigureField.Children.Add(obj); } } RefreshPlugins(); InitializeGUIComponents(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public FigureList GetOffPBPlayer() { FigureList defpbplayer = new FigureList(); IEnumerable <IFigure> PbFigure = this.GetPBplayer(); foreach (Game.PBPlayer pbplayer in PbFigure) { if (pbplayer.ScoutType == 0) { defpbplayer.Add(pbplayer); } } Point point = new Point(0, 0); foreach (IFigure figure in Figures) { if (figure is Game.PBBall) { defpbplayer.Add(figure); break; } } return(defpbplayer); }
public FigureCreator() { FoundDependencies = new FigureList(); ExpectedDependencies = InitExpectedDependencies(); }
protected void InitFoundDependencies() { FoundDependencies = new FigureList(); }
internal static PathGeometry InternalCombine( Geometry geometry1, Geometry geometry2, GeometryCombineMode mode, Transform transform, double tolerance, ToleranceType type) { PathGeometry resultGeometry = null; unsafe { MilMatrix3x2D matrix = CompositionResourceManager.TransformToMilMatrix3x2D(transform); PathGeometryData data1 = geometry1.GetPathGeometryData(); PathGeometryData data2 = geometry2.GetPathGeometryData(); fixed(byte *pPathData1 = data1.SerializedData) { Debug.Assert(pPathData1 != (byte *)0); fixed(byte *pPathData2 = data2.SerializedData) { Debug.Assert(pPathData2 != (byte *)0); FillRule fillRule = FillRule.Nonzero; FigureList list = new FigureList(); int hr = UnsafeNativeMethods.MilCoreApi.MilUtility_PathGeometryCombine( &matrix, &data1.Matrix, data1.FillRule, pPathData1, data1.Size, &data2.Matrix, data2.FillRule, pPathData2, data2.Size, tolerance, type == ToleranceType.Relative, new AddFigureToListDelegate(list.AddFigureToList), mode, out fillRule); if (hr == (int)MILErrors.WGXERR_BADNUMBER) { // When we encounter NaNs in the renderer, we absorb the error and draw // nothing. To be consistent, we return an empty geometry. resultGeometry = new PathGeometry(); } else { HRESULT.Check(hr); resultGeometry = new PathGeometry(list.Figures, fillRule, null); } } } } return(resultGeometry); }
protected override void Reset() { base.Reset(); FoundDependencies = new FigureList(); RemoveTempPoint(); }
private void openToolStripMenuItem_Click(object sender, EventArgs e) { List<Figure> list; flist = new FigureList(); XmlSerializer formatter = new XmlSerializer(typeof(List<Figure>), TypeList.ToArray()); openFileDialog1.InitialDirectory = "C:\tmp"; openFileDialog1.Filter = "XML files (*.xml)|*.xml"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { using (FileStream fs = new FileStream(openFileDialog1.FileName, FileMode.OpenOrCreate)) list = (List<Figure>)formatter.Deserialize(fs); } catch (InvalidOperationException) { MessageBox.Show("Ошибка загрузки файла - отсутствуют требуемые классы"); return; } foreach (Figure f in list) { flist.Add(f); } g.Clear(Color.White); Form1_Paint(this,null); } }
public void VReverse(FigureList figures) { figures.ForEach(f => f.VReverse()); Figures.UpdateVisual(); }
internal static PathGeometry InternalCombine( Geometry geometry1, Geometry geometry2, GeometryCombineMode mode, Transform transform, double tolerance, ToleranceType type) { PathGeometry resultGeometry = null; unsafe { MilMatrix3x2D matrix = CompositionResourceManager.TransformToMilMatrix3x2D(transform); PathGeometryData data1 = geometry1.GetPathGeometryData(); PathGeometryData data2 = geometry2.GetPathGeometryData(); fixed (byte* pPathData1 = data1.SerializedData) { Debug.Assert(pPathData1 != (byte*)0); fixed (byte* pPathData2 = data2.SerializedData) { Debug.Assert(pPathData2 != (byte*)0); FillRule fillRule = FillRule.Nonzero; FigureList list = new FigureList(); int hr = UnsafeNativeMethods.MilCoreApi.MilUtility_PathGeometryCombine( &matrix, &data1.Matrix, data1.FillRule, pPathData1, data1.Size, &data2.Matrix, data2.FillRule, pPathData2, data2.Size, tolerance, type == ToleranceType.Relative, new AddFigureToListDelegate(list.AddFigureToList), mode, out fillRule); if (hr == (int)MILErrors.WGXERR_BADNUMBER) { // When we encounter NaNs in the renderer, we absorb the error and draw // nothing. To be consistent, we return an empty geometry. resultGeometry = new PathGeometry(); } else { HRESULT.Check(hr); resultGeometry = new PathGeometry(list.Figures, fillRule, null); } } } } return resultGeometry; }
private void newToolStripMenuItem_Click(object sender, EventArgs e) { g = Graphics.FromHwnd(Handle); g.Clear(Color.White); flist = new FigureList(); }