aboutsummaryrefslogtreecommitdiffstats
path: root/src/include/rba/RBAPositionContainer.hpp
blob: 23408401fae13b16fab3af4ea240390628ec3b8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// Copyright (c) 2018 DENSO CORPORATION. All rights reserved.
/**
 * Position container class
 */

#ifndef RBAPOSITIONCONTAINER_HPP
#define RBAPOSITIONCONTAINER_HPP

#include <cstdint>
#include "RBABasePoint.hpp"

namespace rba
{

class RBAArea;

class RBAPositionContainer
{
protected:
  RBAPositionContainer()=default;
  RBAPositionContainer(const RBAPositionContainer&)=delete;
  RBAPositionContainer(RBAPositionContainer&&)=delete;
  RBAPositionContainer& operator=(const RBAPositionContainer&)=delete;
  RBAPositionContainer& operator=(RBAPositionContainer&&)=delete;
  ~RBAPositionContainer()=default;

public:
  /**
   * @brief Get X coordinate
   * @return X coordinate
   */
  virtual std::int32_t getX() const=0;

  /**
   * @brief Get Y coordinate
   * @return Y coordinate
   */
  virtual std::int32_t getY() const=0;

  /**
   * @brief Get base point
   * @return Base point
   */
  virtual RBABasePoint getBasePoint() const=0;

  /**
   * @brief Get assigned area
   * @return assigned area
   */
  virtual const RBAArea* getArea() const=0;

public:
  /**
   * @brief default X coordinate
   */
  const static std::int32_t X_EDEFAULT=0;

  /**
   * @brief default Y coordinate
   */
  const static std::int32_t Y_EDEFAULT=0;

  /**
   * @brief default base point
   */
  const static RBABasePoint BASE_POINT_EDEFAULT=RBABasePoint::LEFT_TOP;

};

}

#endif