Roguelike
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
equationalline.h
Go to the documentation of this file.
1 #ifndef ROGUELIKE_ALG_EQUATIONALLINE_H_
2 #define ROGUELIKE_ALG_EQUATIONALLINE_H_
3 
4 // Inheritance
5 // (none)
6 
7 // External Dependencies
8 // (none)
9 
10 // Internal Dependencies
11 // (none)
12 
13 // Forward Declarations
14 #include <ugdk/math.h>
15 #include "utils/utils.h"
16 
17 namespace game {
18 namespace alg {
19 
20 class EquationalLineImpl;
21 
23  // Lacks operator=
24  EquationalLine& operator=(const EquationalLine&);
25 
26  public:
27  // constructors and destructors
28  EquationalLine(const ugdk::math::Integer2D& origin, const ugdk::math::Integer2D& target, bool use_left_as_up = true);
29  EquationalLine(const EquationalLine& copy);
31 
32  // getters
33  double a() const;
34  double b() const;
35  bool use_left_as_up() const;
36  const ugdk::math::Integer2D& origin() const;
37  const ugdk::math::Integer2D& target() const;
38 
39  // setters
40  void set_origin(const ugdk::math::Integer2D& origin);
41  void set_target(const ugdk::math::Integer2D& target);
42  void set_use_left_as_up(bool use_left_as_up);
43 
44  // methods
45  double YAt(double x) const;
46  utils::enums::ord::Ord CompareWithInteger2D(const ugdk::math::Integer2D& vec);
47 
48  private:
49  EquationalLineImpl*const pimpl_;
50 };
51 
52 } // namespace alg
53 } // namespace game
54 
55 #endif // ROGUELIKE_ALG_EQUATIONALLINE_H_
Ord
Definition: utils.h:8
void set_use_left_as_up(bool use_left_as_up)
void set_origin(const ugdk::math::Integer2D &origin)
Definition: equationalline.cc:121
Definition: aim.cc:15
~EquationalLine()
Definition: equationalline.cc:111
const ugdk::math::Integer2D & origin() const
Definition: equationalline.cc:117
double a() const
Definition: equationalline.cc:114
EquationalLine(const ugdk::math::Integer2D &origin, const ugdk::math::Integer2D &target, bool use_left_as_up=true)
bool use_left_as_up() const
Definition: equationalline.cc:116
const ugdk::math::Integer2D & target() const
Definition: equationalline.cc:118
double YAt(double x) const
Definition: equationalline.cc:125
double b() const
Definition: equationalline.cc:115
Definition: equationalline.cc:22
utils::enums::ord::Ord CompareWithInteger2D(const ugdk::math::Integer2D &vec)
Definition: equationalline.cc:126
Definition: equationalline.h:22
void set_target(const ugdk::math::Integer2D &target)
Definition: equationalline.cc:122