00001
00002
00003
00004
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
00134 virtual void getVertices(vector<Vector3>& vertices) const;
00135
00137 };
00138
00139 }
00140 }
00141
00142 #endif // BALL_VIEW_PRIMITIVES_LINE_H