コード例 #1
0
ファイル: KtRegion.cs プロジェクト: marlond18/EMDD.KtGeometry
 public void Add(Point item)
 {
     if (item == null)
     {
         throw new NullReferenceException("Cannot add a corner which is null to a region");
     }
     if (Count == 0 || item != Corners[0])
     {
         Corners.Add(item);
     }
 }
コード例 #2
0
ファイル: KtRegion.cs プロジェクト: marlond18/EMDD.KtGeometry
 public bool Contains(Point item) => Corners.Find(c => c == item) != null;
コード例 #3
0
ファイル: KtRegion.cs プロジェクト: marlond18/EMDD.KtGeometry
 public Points RotateEdgesAt(Angle angle, Point point) => Corners.ConvertAll(corner => corner.RotateAt(angle, point));
コード例 #4
0
ファイル: KtRegion.cs プロジェクト: marlond18/EMDD.KtGeometry
 public bool Remove(Point item) => Corners.Remove(item);
コード例 #5
0
ファイル: KtRegion.cs プロジェクト: marlond18/EMDD.KtGeometry
 public abstract bool Inscribes(Point p);
コード例 #6
0
 public KtSolidRegion Translate(Point point) => new(TranslateCorners(point))
コード例 #7
0
 public override bool Inscribes(Point p) => LoopedCorners().Inscribes(p) && (holes.Count == 0 || holes.All(reg => !reg.Inscribes(p)));
コード例 #8
0
 public KtHollowRegion Translate(Point point2D) => new(TranslateCorners(point2D));