src/Maths/Geometry/AbstractGeometricObject.php
public function setPoint($name, $point)
    {
        if (is_object($point)) {
            if (in_array('Maths\PointInterface', class_implements($point))) {
                $this->_points[$name] = $point;
            } else {
                throw new \InvalidArgumentException(
                    sprintf("A point of a geometric object must implement the Maths\\PointInterface (get class %s)", get_class($point))
                );
            }
        } else {
            throw new \InvalidArgumentException(
                sprintf("A point of a geometric object must be an object (get %s)", gettype($point))
            );
        }
    }
public function setPoint($name, $point)
    {
        if (is_object($point)) {
            if (in_array('Maths\PointInterface', class_implements($point))) {
                $this->_points[$name] = $point;
            } else {
                throw new \InvalidArgumentException(
                    sprintf("A point of a geometric object must implement the Maths\\PointInterface (get class %s)", get_class($point))
                );
            }
        } else {
            throw new \InvalidArgumentException(
                sprintf("A point of a geometric object must be an object (get %s)", gettype($point))
            );
        }
    }
Define (or redefine) a point of the object

@param   string                  $name
@param   \Maths\PointInterface $point
@throws  \InvalidArgumentException if the `$point` argument is not `\Maths\PointInterface` object
@throws  \InvalidArgumentException if the `$point` argument is not an object