private void UpdateSegList() { SegList.Clear(); for (int i = 0; i < mHeModel.FaceStore.Count; i++) { HeFace f = mHeModel.FaceStore[i]; HalfEdge head = f.Head; HalfEdge c = head; for (; ;) { HalfEdge next = c.Next; SegList.Add(new IndexPair(c.Vertex, next.Vertex)); c = next; if (c == head) { break; } } } }
public void Clear() { var ary = new FlexArray <int>(); ary.Count.Is(0); ary.Clear(); ary.Count.Is(0); ary.Add(10); ary[0] = 10; ary[0].Is(10); ary.Clear(); ary.Count.Is(0); ary[0].Is(default(int)); ary.Add(10); ary.Add(20); ary.Clear(); ary.Count.Is(0); ary[0].Is(default(int)); ary[1].Is(default(int)); }
protected void DrawFigures(DrawContext dc) { if (dc == null) { return; } DrawParams pale_dp = default; DrawParams test_dp = default; DrawParams current_dp = default; DrawParams measure_dp = default; DrawParams empty_dp = default; empty_dp.Empty = true; pale_dp.LinePen = dc.GetPen(DrawTools.PEN_PALE_FIGURE); pale_dp.EdgePen = dc.GetPen(DrawTools.PEN_PALE_FIGURE); pale_dp.FillBrush = DrawBrush.NullBrush; pale_dp.TextBrush = dc.GetBrush(DrawTools.BRUSH_PALE_TEXT); test_dp.LinePen = dc.GetPen(DrawTools.PEN_TEST_FIGURE); test_dp.EdgePen = dc.GetPen(DrawTools.PEN_TEST_FIGURE); test_dp.FillBrush = DrawBrush.NullBrush; test_dp.TextBrush = dc.GetBrush(DrawTools.BRUSH_TEXT); current_dp.LinePen = dc.GetPen(DrawTools.PEN_FIGURE_HIGHLIGHT); current_dp.EdgePen = dc.GetPen(DrawTools.PEN_FIGURE_HIGHLIGHT); current_dp.FillBrush = DrawBrush.NullBrush; current_dp.TextBrush = dc.GetBrush(DrawTools.BRUSH_TEXT); measure_dp.LinePen = dc.GetPen(DrawTools.PEN_MEASURE_FIGURE); measure_dp.EdgePen = dc.GetPen(DrawTools.PEN_MEASURE_FIGURE); measure_dp.FillBrush = DrawBrush.NullBrush; measure_dp.TextBrush = dc.GetBrush(DrawTools.BRUSH_TEXT); AlphaFigList.Clear(); AlphaFigListCurrentLayer.Clear(); lock (DB) { foreach (CadLayer layer in mDB.LayerList) { if (!layer.Visible) { continue; } // Skip current layer. // It will be drawn at the end of this loop. if (layer == CurrentLayer) { continue; } foreach (CadFigure fig in layer.FigureList) { if (fig.Type == CadFigure.Types.DIMENTION_LINE) { AlphaFigList.Add(fig); continue; } if (fig.Current) { fig.DrawEach(dc, current_dp); } else { fig.DrawEach(dc, pale_dp); } } } // Draw current layer at last if (CurrentLayer != null && CurrentLayer.Visible) { foreach (CadFigure fig in CurrentLayer.FigureList) { if (fig.Type == CadFigure.Types.DIMENTION_LINE) { AlphaFigListCurrentLayer.Add(fig); continue; } if (fig.Current) { fig.DrawEach(dc, current_dp); } else { fig.DrawEach(dc); } } } foreach (CadFigure fig in TempFigureList) { if (fig.Type == CadFigure.Types.DIMENTION_LINE) { continue; } fig.DrawEach(dc, test_dp); } if (MeasureFigureCreator != null) { if (MeasureFigureCreator.Figure.Type != CadFigure.Types.DIMENTION_LINE) { MeasureFigureCreator.Figure.Draw(dc, measure_dp); } } // Alpha指定があるFigureを描画 foreach (CadFigure fig in AlphaFigList) { if (fig.Current) { fig.DrawEach(dc, current_dp); } else { fig.DrawEach(dc, pale_dp); } } foreach (CadFigure fig in AlphaFigListCurrentLayer) { if (fig.Current) { fig.DrawEach(dc, current_dp); } else { fig.DrawEach(dc); } } foreach (CadFigure fig in TempFigureList) { if (fig.Type != CadFigure.Types.DIMENTION_LINE) { continue; } fig.DrawEach(dc, test_dp); } if (MeasureFigureCreator != null) { if (MeasureFigureCreator.Figure.Type == CadFigure.Types.DIMENTION_LINE) { MeasureFigureCreator.Figure.Draw(dc, measure_dp); } } } }
public void Clear() { VertexStore.Clear(); FaceStore.Clear(); NormalStore.Clear(); }