private void LoadSketchStrokesFromXML(System.Xml.XmlNode node) { rgSketchSet.Clear(); for( int i=0; i<node.ChildNodes.Count; i++ ) { if ( string.Compare(node.ChildNodes[i].Name, GOM_TAGS.SKETCH_STROKE, true) == 0 ) { System.Collections.ArrayList stroke = new System.Collections.ArrayList(); System.Xml.XmlNodeList points = node.ChildNodes[i].ChildNodes; for ( int j=0; j<points.Count; j++ ) { if ( string.Compare(points[j].Name, GOM_TAGS.SKETCH_POINT,true) == 0 ) { SketchPoint pt = new SketchPoint(); pt.LoadFromXML(points[j], null); stroke.Add(pt); } } if ( stroke.Count > 0 ) { rgSketchSet.Add(stroke); } } } }
public GOM_Interface_Graphic_Object Clone() { GOM_Object_Sketch obj; obj = new GOM_Object_Sketch(); System.Collections.ArrayList rgStroke, rgStrokeNew; SketchPoint pt1, pt2; for (int i = 0; i < rgSketchSet.Count; i++) { rgStroke = (System.Collections.ArrayList)rgSketchSet[i]; rgStrokeNew = new System.Collections.ArrayList(); for (int j = 0; j < rgStroke.Count; j++) { pt1 = (SketchPoint)rgStroke[j]; pt2 = new SketchPoint(); pt2.x = pt1.x; pt2.y = pt1.y; pt2.time = pt1.time; rgStrokeNew.Add(pt2); } obj.rgSketchSet.Add(rgStrokeNew); } return obj; }