00001
00002
00003
00004
00005
00006
00007 #ifndef BALL_VIEW_PRIMITIVES_MULTILINE_H
00008 #define BALL_VIEW_PRIMITIVES_MULTILINE_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 #ifndef BALL_VIEW_DATATYPE_COLOREXTENSIONS_H
00019 # include <BALL/VIEW/DATATYPE/colorExtensions.h>
00020 #endif
00021
00022 namespace BALL
00023 {
00024 namespace VIEW
00025 {
00026
00030 class BALL_VIEW_EXPORT MultiLine
00031 : public GeometricObject,
00032 public MultiColorExtension
00033 {
00034 public:
00035
00036 BALL_CREATE(MultiLine)
00037
00038
00039 MultiLine();
00040
00042 MultiLine(const MultiLine& line);
00043
00046 virtual ~MultiLine();
00047
00050 virtual void clear();
00051
00053 void set(const MultiLine& line);
00054
00057 const MultiLine& operator = (const MultiLine& line);
00058
00071 virtual bool isValid() const;
00072
00083 virtual void dump(std::ostream& s = std::cout, Size depth = 0) const;
00084
00085
00086 virtual void getVertices(vector<Vector3>& vertices) const;
00087
00088
00089 vector<Vector3> tangents;
00090 vector<Vector3> vertices;
00092 };
00093
00094 }
00095 }
00096
00097 #endif // BALL_VIEW_PRIMITIVES_MULTILINE_H