public LineOfSightAreaDisplay3D(ZoneLineOfSightAreas zoneAreas) { _zoneAreas = zoneAreas; foreach (var area in _zoneAreas.Areas) { area.Vertices.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(Vertices_CollectionChanged); } _zoneAreas.Areas.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(Areas_CollectionChanged); if (_zoneAreas.Areas.Count > 0) { ShowArea(_zoneAreas.Areas.First()); } }
public static ZoneLineOfSightAreas LoadFileBinary(string file) { ZoneLineOfSightAreas zone = new ZoneLineOfSightAreas(); FileStream fs = new FileStream(file.ToLower(), FileMode.Open); Stream s = fs; var header = zone.ReadHeader(ref s); for (int i = 0; i < header.polygonCount; i++) { var area = LineOfSightArea.LoadFromStream(ref s); zone.Areas.Add(area); } /* foreach (var area in zone.Areas) { if (area.Vertices.First().X != area.Vertices.Last().X && area.Vertices.First().Y != area.Vertices.Last().Y) { Point3D p = new Point3D(area.Vertices.First().X, area.Vertices.First().Y, 0); area.Vertices.Add(p); } }*/ fs.Close(); return zone; }