Square knows it's own shape

the shape is defined in self.codes, which is how to connect the vertices
when plotting