Roguelike
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
cone.h
Go to the documentation of this file.
1 #ifndef ROGUELIKE_ALG_LOS_CONE_H_
2 #define ROGUELIKE_ALG_LOS_CONE_H_
3 
4 // Inheritance
5 // (none)
6 
7 // External Dependencies
8 #include <list>
9 #include <ugdk/math/vector2D.h>
10 
11 // Internal Dependencies
13 
14 // Forward Declarations
15 #include "game/alg/los.h"
16 
17 namespace game {
18 namespace alg {
19 namespace los {
20 
21 class Cone {
22  public:
24  ~Cone() {};
25 
26  enums::bump::BumpType ComputeBumpType(const ugdk::Vector2D& up_left);
27 
28  void UpperBump(const ugdk::Vector2D& up_left);
29  void LowerBump(const ugdk::Vector2D& up_left);
30 
31  const EquationalLineDouble& upper() const { return upper_; }
32  const EquationalLineDouble& lower() const { return lower_; }
33 
34  private:
35  EquationalLineDouble upper_;
36  EquationalLineDouble lower_;
37 
38  std::list<ugdk::Vector2D> upper_bumps_;
39  std::list<ugdk::Vector2D> lower_bumps_;
40 };
41 
42 } // namespace los
43 } // namespace alg
44 } // namespace game
45 
46 #endif // ROGUELIKE_ALG_LOS_CONE_H_
const EquationalLineDouble & lower() const
Definition: cone.h:32
Definition: cone.h:21
Definition: equationallinedouble.h:22
Definition: aim.cc:15
enums::bump::BumpType ComputeBumpType(const ugdk::Vector2D &up_left)
Definition: cone.cc:23
Cone(const EquationalLineDouble &upper, const EquationalLineDouble &lower)
Definition: cone.cc:20
void LowerBump(const ugdk::Vector2D &up_left)
Definition: cone.cc:78
BumpType
Definition: los.h:25
~Cone()
Definition: cone.h:24
void UpperBump(const ugdk::Vector2D &up_left)
Definition: cone.cc:60
const EquationalLineDouble & upper() const
Definition: cone.h:31