public bool IsEqualUpToTranslation(TightShape2 other) { var shape1 = ToCanonicalPosition(); var shape2 = other.ToCanonicalPosition(); return(shape1.Points.All(shape2.Contains) && shape2.Points.All(shape1.Contains)); }
public bool IsEqualUpToTransformations(TightShape2 otherShape, IEnumerable <IMap <GridPoint2, GridPoint2> > transformations) { return(transformations .Select <IMap <GridPoint2, GridPoint2>, TightShape2>(otherShape.Transform) .Any(IsEqualUpToTranslation)); }