| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | <?phpdeclare(strict_types = 1);namespace BaconQrCode\Renderer\Path;final class Curve implements OperationInterface{    /**     * @var float     */    private $x1;    /**     * @var float     */    private $y1;    /**     * @var float     */    private $x2;    /**     * @var float     */    private $y2;    /**     * @var float     */    private $x3;    /**     * @var float     */    private $y3;    public function __construct(float $x1, float $y1, float $x2, float $y2, float $x3, float $y3)    {        $this->x1 = $x1;        $this->y1 = $y1;        $this->x2 = $x2;        $this->y2 = $y2;        $this->x3 = $x3;        $this->y3 = $y3;    }    public function getX1() : float    {        return $this->x1;    }    public function getY1() : float    {        return $this->y1;    }    public function getX2() : float    {        return $this->x2;    }    public function getY2() : float    {        return $this->y2;    }    public function getX3() : float    {        return $this->x3;    }    public function getY3() : float    {        return $this->y3;    }    /**     * @return self     */    public function translate(float $x, float $y) : OperationInterface    {        return new self(            $this->x1 + $x,            $this->y1 + $y,            $this->x2 + $x,            $this->y2 + $y,            $this->x3 + $x,            $this->y3 + $y        );    }}
 |