BALL
1.4.1
|
00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // $Id: box.h,v 1.9.16.1 2007-03-25 21:26:07 oliver Exp $ 00005 // 00006 00007 #ifndef BALL_VIEW_PRIMITIV_BOX_H 00008 #define BALL_VIEW_PRIMITIV_BOX_H 00009 00010 #ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H 00011 # include <BALL/VIEW/KERNEL/geometricObject.h> 00012 #endif 00013 00014 #ifndef BALL_MATHS_BOX3_H 00015 # include <BALL/MATHS/box3.h> 00016 #endif 00017 00018 namespace BALL 00019 { 00020 namespace VIEW 00021 { 00022 00030 class BALL_VIEW_EXPORT Box 00031 : public GeometricObject, 00032 public Box3 00033 { 00034 public: 00035 00036 BALL_CREATE(Box) 00037 00038 00041 00053 Box(); 00054 00057 Box(const Box& box); 00058 00059 Box(const Vector3& point, 00060 const Vector3& right_vector, 00061 const Vector3& height_vector, 00062 float depth); 00063 00064 Box(const Vector3& point, 00065 const Vector3& right_vector = Vector3(0, 1, 0), 00066 const Vector3& height_vector = Vector3(1, 0, 0), 00067 const Vector3& depth_vector = Vector3(0, 0, 1)); 00068 00070 00072 00075 virtual ~Box(); 00076 00081 virtual void clear(); 00082 00084 00087 00090 void set(const Box& box); 00091 00094 const Box& operator = (const Box& box); 00095 00097 00100 00111 virtual bool isValid() const; 00112 00123 virtual void dump(std::ostream& s = std::cout, Size depth = 0) const; 00124 00125 // Method to get all vertices from a geometric object 00126 virtual void getVertices(vector<Vector3>& vertices) const; 00128 }; 00129 00130 } // namespace VIEW 00131 } // namespace BALL 00132 00133 #endif // BALL_VIEW_PRIMITIV_BOX_H