* @since 1.0.0 */ public array $coordinates = []; /** * Group or cluster this point belongs to * * @var int * @since 1.0.0 */ public int $group = 0; /** * Name of the point * * @var string * @since 1.0.0 */ public string $name = ''; /** * Constructor. * * @param array $coordinates Coordinates of the point * @param string $name Name of the point * * @since 1.0.0 */ public function __construct(array $coordinates, string $name = '') { $this->coordinates = $coordinates; $this->name = $name; } /** * {@inheritdoc} */ public function getCoordinates() : array { return $this->coordinates; } /** * {@inheritdoc} */ public function getCoordinate(int $index) : int | float { return $this->coordinates[$index]; } /** * {@inheritdoc} */ public function setCoordinate(int $index, int | float $value) : void { $this->coordinates[$index] = $value; } /** * {@inheritdoc} */ public function isEquals(self $point) : bool { return $this->name === $point->name && $this->coordinates === $point->coordinates; } }