BALL  1.4.1
box.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines