public static Polygon FromData(byte[] data) { var vertices = new Vector2f[data.Length / 8]; using (var ms = new MemoryStream(data)) using (var reader = new BinaryReader(ms)) { for (var i = 0; i < vertices.Length; i++) { vertices[i] = Vector2f.Create(reader.ReadSingle(), reader.ReadSingle()); } } return new Polygon(vertices); }
public Polygon ToPercentages(Vector2f max) { var scaled = new Vector2f[Vertices.Length]; var i = 0; foreach (var vector in Vertices) { scaled[i] = Vector2f.Create(vector.X / max.X, vector.Y / max.Y); i++; } return new Polygon(scaled); }
public Polygon FromPercentages(ISize size) { var bounds = Vector2f.Create(size); var scaled = new Vector2f[Vertices.Length]; var i = 0; foreach (var vector in Vertices) { scaled[i] = Vector2f.Create(vector.X * bounds.X, vector.Y * bounds.Y); i++; } return new Polygon(scaled); }
public Polygon(Vector2f[] vertices) { Vertices = vertices; }