BALL
1.4.1
|
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