00001
00002
00004
00005 #ifndef GLINDEXEDLINESET_H
00006 #define GLINDEXEDLINESET_H
00007
00008 #include "X3DGLGeometryNode.h"
00009
00010 #include <vector>
00011
00012 namespace X3DTK {
00013
00014 class IndexedLineSet;
00015
00018
00019 class GLIndexedLineSet : public X3DGLGeometryNode
00020 {
00021 public:
00023 GLIndexedLineSet();
00025 virtual SFNode clone() const;
00027 ~GLIndexedLineSet();
00028
00030 inline SFFloat &getLineWidth() const {return (SFFloat &)_lineWidth;};
00032 inline SFBool &getColorPerVertex() const {return (SFBool &)_colorPerVertex;};
00034 inline SFBool &getColor() const {return (SFBool &)_color;};
00036 inline MFVec3f &getPointArray() const {return (MFVec3f &)_pointArray;};
00038 inline std::vector<std::vector<C4UB_V3F> *> &getLineArrayArray() const {return (std::vector<std::vector<C4UB_V3F> *> &)_lineArrayArray;};
00040 inline std::vector<MFInt32 *> &getLineIndexArray() const {return (std::vector<MFInt32 *> &)_lineIndexArray;};
00042 inline std::vector<C4UB_V3F> &getPointLineArray() const {return (std::vector<C4UB_V3F> &)_pointLineArray;};
00043
00044 protected:
00046 GLIndexedLineSet(const GLIndexedLineSet &I);
00047
00048 private:
00049
00050 SFFloat _lineWidth;
00051 SFBool _colorPerVertex;
00052 SFBool _color;
00053
00054 MFVec3f _pointArray;
00055 std::vector<std::vector<C4UB_V3F> *> _lineArrayArray;
00056 std::vector<MFInt32 *> _lineIndexArray;
00057 std::vector<C4UB_V3F> _pointLineArray;
00058 };
00059
00060 }
00061
00062 #endif