YAPOG  0.0.1
Yet Another Pokemon Online Game
BoundingBox.hpp
Go to the documentation of this file.
1 #ifndef YAPOG_BOUNDINGBOX_HPP
2 # define YAPOG_BOUNDINGBOX_HPP
3 
4 # include "YAPOG/Macros.hpp"
8 
9 namespace yap
10 {
12  {
14 
15  public:
16 
17  BoundingBox ();
18  BoundingBox (
19  const Vector2& position,
20  const Vector2& size,
21  int z,
22  int h);
23  virtual ~BoundingBox ();
24 
25  BoundingBox (const BoundingBox& copy);
26 
29  virtual const Vector2& GetPosition () const;
30  virtual const Vector2& GetSize () const;
31 
32  virtual const Vector2& GetTopLeft () const;
33  virtual const Vector2& GetBottomRight () const;
34  virtual const Vector2& GetCenter () const;
35 
36  virtual const FloatRect& GetRectangle () const;
37 
38  virtual void Move (const Vector2& offset);
39  virtual void Scale (const Vector2& factor);
40 
41  virtual void SetPosition (const Vector2& position);
42  virtual void SetSize (const Vector2& size);
44 
47  virtual const int& GetZ () const;
48  virtual void SetZ (int z);
49 
50  virtual const int& GetH () const;
51  virtual void SetH (int h);
53 
56  virtual bool CollidesWith (const ICollidable& other) const;
57  virtual bool CollidesWith (
58  const ICollidable& other,
59  const Vector2& offset) const;
61 
62  private:
63 
65  };
66 } // namespace yap
67 
68 #endif // YAPOG_BOUNDINGBOX_HPP