void Read(MIFPolyline mp, GType gType) { for (int p = 0; p < mp.parts; p++) { Point[] pnt = new Point[mp.points[p].Length]; for (int i = 0; i < mp.points[p].Length; i++) { pnt[i].X = (int)((mp.points[p][i].X * 100.0)); pnt[i].Y = (int)((mp.points[p][i].Y * 100.0)); UpdateBounds(pnt[i]); } GPolyline gobj = new GPolyline(gType, pnt); SetCaption(gobj); SetName(gobj); } }
public MIFTestClass(string file) { using (MIFFileReader mfr = new MIFFileReader(file)) { while (mfr.Read()) { // Console.WriteLine(mfr.mifType.ToString()); switch (mfr.mifType) { case MIFUnit.Point: { MIFPoint obj = (MIFPoint)mfr.Get( ); break; } case MIFUnit.Region: { MIFRegion obj = (MIFRegion)mfr.Get(); /* for ( int i = 0; i < obj.parts; i++ ) * for ( int j = 0; j < obj.points[ i ].Length; j++ ) * Console.WriteLine( "[" + i.ToString( ) + "][" + j.ToString( ) + "] = " + * obj.points[ i ][ j ].X.ToString( ) + " " + * obj.points[ i ][ j ].Y.ToString( ) ); * */ break; } case MIFUnit.Polyline: { MIFPolyline obj = (MIFPolyline)mfr.Get( ); /* for ( int i = 0; i < obj.parts; i++ ) * for ( int j = 0; j < obj.points[ i ].Length; j++ ) * Console.WriteLine( "[" + i.ToString( ) + "][" + j.ToString( ) + "] = " + * obj.points[ i ][ j ].X.ToString( ) + " " + * obj.points[ i ][ j ].Y.ToString( ) ); * */ break; } case MIFUnit.Line: { MIFLine obj = (MIFLine)mfr.Get( ); /* Console.WriteLine( * obj.point1.X.ToString( ) + " " + obj.point1.Y.ToString( ) + " " + * obj.point2.X.ToString( ) + " " + obj.point2.Y.ToString( ), * mfr.mifType.ToString( ) ); */ break; } } // Console.WriteLine( mfr.mifType.ToString() ); // Console.WriteLine( mfr.RowLine().ToString() ); string attrs = null; for (int i = 0; i < mfr.attrs.Length; i++) { attrs += mfr.GetAttrNames()[i].ToString() + "(" + mfr.GetAttrTypes()[i].ToString() + ")" + " = " + mfr.attrs[i].ToString() + "\n"; } // Console.WriteLine(attrs); } Console.WriteLine(MIFPolyline.cnt.ToString(), "Polyline"); Console.WriteLine(MIFLine.cnt.ToString(), "Line"); Console.WriteLine(MIFPoint.cnt.ToString(), "Point"); Console.WriteLine(MIFRegion.cnt.ToString(), "Region"); Console.WriteLine(MIFArc.cnt.ToString(), "Arc"); Console.WriteLine(MIFText.cnt.ToString(), "Text"); Console.WriteLine(MIFRectangle.cnt.ToString(), "Rect"); Console.WriteLine(MIFRectangle.cnt.ToString(), "RoundRect"); Console.WriteLine(MIFRectangle.cnt.ToString(), "Ellipse"); /* Console.WriteLine( mfr.version, "version" ); * Console.WriteLine( mfr.charset , "charset" ); * Console.WriteLine( mfr.delimiter , "delimiter" ); * Console.WriteLine( mfr.unique , "unique" ); * Console.WriteLine( mfr.index , "index" ); * Console.WriteLine( mfr.coordsys , "coordsys" ); * Console.WriteLine( mfr.transform , "transform" ); * */ /* for( int i = 0; i < mfr.fieldcount; i++ ) * Console.WriteLine( mfr.fieldname[i] + " " + mfr.fieldtype[i] ); */ } }