00001 #ifndef X3DTK_X3D_INDEXEDLINESET_H 00002 #define X3DTK_X3D_INDEXEDLINESET_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DGeometryNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00010 class X3DColorNode; 00011 class X3DCoordinateNode; 00012 00021 class IndexedLineSet : public X3DGeometryNode 00022 { 00023 public: 00025 IndexedLineSet(); 00027 virtual ~IndexedLineSet(); 00028 00030 void setColorIndex(const MFInt32 &colorIndex); 00032 void setColorPerVertex(const SFBool &colorPerVertex); 00034 void setCoordIndex(const MFInt32 &coordIndex); 00036 void setLineWidth(const SFFloat &lineWidth); 00037 00039 inline X3DColorNode *getColor() const {return _color;}; 00041 inline X3DCoordinateNode *getCoord() const {return _coord;}; 00043 inline const MFInt32 &getColorIndex() const {return _colorIndex;}; 00045 inline const SFBool &getColorPerVertex() const {return _colorPerVertex;}; 00047 inline const MFInt32 &getCoordIndex() const {return _coordIndex;}; 00049 inline const SFFloat &getLineWidth() const {return _lineWidth;}; 00050 00051 private: 00053 X3DColorNode *_color; 00055 X3DCoordinateNode *_coord; 00057 MFInt32 _colorIndex; 00059 SFBool _colorPerVertex; 00061 MFInt32 _coordIndex; 00063 SFFloat _lineWidth; 00064 }; 00065 00066 } 00067 } 00068 00069 #endif