BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
box.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: box.h,v 1.9.16.1 2007-03-25 21:26:07 oliver Exp $
5 //
6 
7 #ifndef BALL_VIEW_PRIMITIV_BOX_H
8 #define BALL_VIEW_PRIMITIV_BOX_H
9 
10 #ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H
12 #endif
13 
14 #ifndef BALL_MATHS_BOX3_H
15 # include <BALL/MATHS/box3.h>
16 #endif
17 
18 namespace BALL
19 {
20  namespace VIEW
21  {
22 
31  : public GeometricObject,
32  public Box3
33  {
34  public:
35 
37 
38 
41 
53  Box();
54 
57  Box(const Box& box);
58 
59  Box(const Vector3& point,
60  const Vector3& right_vector,
61  const Vector3& height_vector,
62  float depth);
63 
64  Box(const Vector3& point,
65  const Vector3& right_vector = Vector3(0, 1, 0),
66  const Vector3& height_vector = Vector3(1, 0, 0),
67  const Vector3& depth_vector = Vector3(0, 0, 1));
68 
70 
72 
75  virtual ~Box();
76 
81  virtual void clear();
82 
84 
87 
90  void set(const Box& box);
91 
94  const Box& operator = (const Box& box);
95 
97 
100 
111  virtual bool isValid() const;
112 
123  virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
124 
125  // Method to get all vertices from a geometric object
126  virtual void getVertices(vector<Vector3>& vertices) const;
128  };
129 
130  } // namespace VIEW
131 } // namespace BALL
132 
133 #endif // BALL_VIEW_PRIMITIV_BOX_H