/**
  * @return PointSet
  */
 public function produce()
 {
     $result = new PointSet();
     foreach ($this->lowerLeft->forXTimes($this->width) as $x) {
         foreach ($this->lowerLeft->forYTimes($this->height) as $y) {
             $point = new Point($x, $y);
             $value = $this->getValue($point);
             $result->attach($point, $value);
         }
     }
     return $result;
 }