public function placeOnField(Field $field) { $iterations = 0; while (true) { $field->placeCursor($this->cursor); $this->cursor->moveLinear($this->vector, $this->factor); if ($this->endPoint->equal($this->cursor->getZeroPoint())) { $field->placeCursor($this->cursor); break; } //just debug issue if ($iterations++ > 5000) { var_dump("Max iterations!"); break; } } }