using System;\r
using System.Collections.Generic;\r
using System.Text;\r
-using Microsoft.DirectX;\r
-using Microsoft.DirectX.Direct3D;\r
\r
namespace Tso2MqoGui\r
{\r
- public partial struct Point2\r
+ public partial struct Point2 : IComparable<Point2>\r
{\r
public float x, y;\r
\r
{\r
return X+","+Y;\r
}\r
+\r
+ public static Point2 Parse(string[] t, int begin)\r
+ {\r
+ return new Point2(\r
+ float.Parse(t[begin+0]),\r
+ float.Parse(t[begin+1]));\r
+ }\r
+\r
+ public int CompareTo(Point2 obj)\r
+ {\r
+ int cmp;\r
+ cmp = x.CompareTo(obj.x); if (cmp != 0) return cmp;\r
+ cmp = y.CompareTo(obj.y);\r
+ return cmp;\r
+ }\r
}\r
\r
- public partial struct Point3\r
+ public partial struct Point3 : IComparable<Point3>\r
{\r
public float x, y, z;\r
\r
d = (float)(1 / (Math.Sqrt(d)));\r
return new Point3(p.x*d, p.y*d, p.z*d);\r
}\r
+\r
+ public static Point3 Parse(string[] t, int begin)\r
+ {\r
+ return new Point3(\r
+ float.Parse(t[begin+0]),\r
+ float.Parse(t[begin+1]),\r
+ float.Parse(t[begin+2]));\r
+ }\r
+\r
+ public int CompareTo(Point3 obj)\r
+ {\r
+ int cmp;\r
+ cmp = x.CompareTo(obj.x); if (cmp != 0) return cmp;\r
+ cmp = y.CompareTo(obj.y); if (cmp != 0) return cmp;\r
+ cmp = z.CompareTo(obj.z);\r
+ return cmp;\r
+ }\r
}\r
\r
- public partial struct Point4\r
+ public partial struct Point4 : IComparable<Point4>\r
{\r
public float x, y, z, w;\r
\r
{\r
return X+","+Y+","+Z+","+W;\r
}\r
+\r
+ public int CompareTo(Point4 obj)\r
+ {\r
+ int cmp;\r
+ cmp = x.CompareTo(obj.x); if (cmp != 0) return cmp;\r
+ cmp = y.CompareTo(obj.y); if (cmp != 0) return cmp;\r
+ cmp = z.CompareTo(obj.z); if (cmp != 0) return cmp;\r
+ cmp = w.CompareTo(obj.w);\r
+ return cmp;\r
+ }\r
}\r
\r
public partial struct Color3\r
{\r
return R+","+G+","+B;\r
}\r
- }\r
\r
- public partial struct Color3\r
- {\r
public static Color3 Parse(string[] t, int begin)\r
{\r
return new Color3(\r
float.Parse(t[begin+2]));\r
}\r
}\r
-\r
- public partial struct Point2\r
- {\r
- public static Vector2 Parse(string[] t, int begin)\r
- {\r
- return new Vector2(\r
- float.Parse(t[begin+0]),\r
- float.Parse(t[begin+1]));\r
- }\r
- }\r
-\r
- public partial struct Point3\r
- {\r
- public static Vector3 Parse(string[] t, int begin)\r
- {\r
- return new Vector3(\r
- float.Parse(t[begin+0]),\r
- float.Parse(t[begin+1]),\r
- float.Parse(t[begin+2]));\r
- }\r
- }\r
}\r