kodi
Vector.h
1 /*
2  * Copyright (C) 2012-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 class CVector
12 {
13 public:
14  CVector() = default;
15  constexpr CVector(float xCoord, float yCoord):x(xCoord), y(yCoord) {}
16 
17  constexpr CVector operator+(const CVector &other) const
18  {
19  return CVector(x + other.x, y + other.y);
20  }
21 
22  constexpr CVector operator-(const CVector &other) const
23  {
24  return CVector(x - other.x, y - other.y);
25  }
26 
27  CVector& operator+=(const CVector &other);
28  CVector& operator-=(const CVector &other);
29 
30  constexpr float scalar(const CVector &other) const
31  {
32  return x * other.x + y * other.y;
33  }
34 
35  float length() const;
36 
37  float x = 0;
38  float y = 0;
39 };
Definition: Vector.h:11