line.h

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: line.h,v 1.9.16.1 2007-03-25 21:26:09 oliver Exp $
00005 //
00006 
00007 #ifndef BALL_VIEW_PRIMITIVES_LINE_H
00008 #define BALL_VIEW_PRIMITIVES_LINE_H
00009 
00010 #ifndef BALL_VIEW_KERNEL_GEOMETRICOBJECT_H
00011 # include <BALL/VIEW/KERNEL/geometricObject.h>
00012 #endif
00013 
00014 #ifndef BALL_VIEW_DATATYPE_VERTEX2_H
00015 # include <BALL/VIEW/DATATYPE/vertex2.h>
00016 #endif
00017 
00018 namespace BALL
00019 {
00020   namespace VIEW
00021   {
00022          
00035     class BALL_VIEW_EXPORT Line
00036       : public GeometricObject,
00037         public Vertex2
00038     {
00039       public:
00040 
00041       BALL_CREATE(Line)
00042 
00043       
00046 
00058       Line();
00059 
00064       Line(const Line& line);
00065 
00067 
00069 
00072       virtual ~Line();
00073 
00080       virtual void clear();
00081 
00083 
00085 
00089       void set(const Line& line);
00090 
00094       const Line& operator = (const Line& line);
00095 
00101       void swap(Line& line);
00102 
00104 
00106 
00119       virtual bool isValid() const;
00120 
00131       virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
00132       
00133       // Method to get all vertices from a geometric object
00134       virtual void getVertices(vector<Vector3>& vertices) const;
00135 
00137     };
00138   
00139   } // namespace VIEW
00140 } // namespace BALL
00141 
00142 #endif // BALL_VIEW_PRIMITIVES_LINE_H