$coordinates * @property string $name * @property int $group */ interface PointInterface { /** * Get the point coordinates * * @return array * * @since 1.0.0 */ public function getCoordinates() : array; /** * Get the coordinate of the point * * @param int $index Index of the coordinate (e.g. 0 = x); * * @return int|float * * @since 1.0.0 */ public function getCoordinate(int $index) : int | float; /** * Set the coordinate of the point * * @param int $index Index of the coordinate (e.g. 0 = x); * @param int|float $value Value of the coordinate * * @return void * * @since 1.0.0 */ public function setCoordinate(int $index, int | float $value) : void; /** * Check if two points are equal * * @param self $point Point to compare with * * @return bool * * @since 1.0.0 */ public function isEquals(self $point) : bool; }