/// <summary> /// Add a drawing operation into the list /// </summary> /// <param name="drawing">The drawing operation being added</param> public void Add(GOM_Interface_Drawing drawing) { rgDrawings.Add(drawing); }
/// <summary> /// Clone a drawing operation /// </summary> /// <param name="drawing">The original drawing operation</param> /// <returns>If successful, a drawing operation is returned. Otherwise, null is returned.</returns> private GOM_Interface_Drawing CloneDrawing(GOM_Interface_Drawing drawing) { if (drawing is GOM_Drawing_Line) { return new GOM_Drawing_Line(Points(drawing.Points[0].id), Points(drawing.Points[1].id), DrawingStyles(drawing.Style.id)); } if (drawing is GOM_Drawing_Arc) { return new GOM_Drawing_Arc(Points(drawing.Points[0].id), Points(drawing.Points[1].id), Points(drawing.Points[2].id), Points(drawing.Points[3].id), DrawingStyles(drawing.Style.id), 0); } if (drawing is GOM_Drawing_Bezier) { GOM_Points rgPts; rgPts = new GOM_Points(); for (int i = 0; i < drawing.Points.Count; i++) { rgPts.Add(Points(drawing.Points[i].id)); } return new GOM_Drawing_Bezier(rgPts, DrawingStyles(drawing.Style.id)); } return null; }