00001 00002 // X3DGLComposedGeometryNode.h // 00004 00005 #ifndef X3DGLCOMPOSEDGEOMETRYNODE_H 00006 #define X3DGLCOMPOSEDGEOMETRYNODE_H 00007 00008 #include "X3DGLGeometry3DNode.h" 00009 00010 #include <GL/gl.h> 00011 00012 namespace X3DTK { 00013 namespace GL { 00014 00016 00017 class X3DComposedGeometryNode : public X3DGeometry3DNode 00018 { 00019 public: 00021 X3DComposedGeometryNode(); 00023 virtual SFNode clone() const; 00025 virtual ~X3DComposedGeometryNode(); 00026 00028 void setCcw(SFBool ccw); 00030 void setSolid(SFBool solid); 00032 void setVerticesDuplicated(SFBool verticesDuplicated); 00034 void setColor(SFBool color); 00036 void setTexCoord(SFBool texCoord); 00038 void setNormalPerVertex(SFBool normalPerVertex); 00040 void setVertexFormat(GLenum format); 00041 00043 inline SFBool getCcw() const {return _ccw;}; 00045 inline SFBool getSolid() const {return _solid;}; 00047 inline SFBool getVerticesDuplicated() const {return _verticesDuplicated;}; 00049 inline SFBool getColor() const {return _color;}; 00051 inline SFBool getTexCoord() const {return _texCoord;}; 00053 inline SFBool getNormalPerVertex() {return _normalPerVertex;}; 00055 inline GLenum getVertexFormat() const {return _format;}; 00056 00057 protected: 00059 X3DComposedGeometryNode(const X3DComposedGeometryNode &N); 00060 00061 private: 00063 SFBool _ccw; 00065 SFBool _solid; 00067 SFBool _verticesDuplicated; 00069 SFBool _color; 00071 SFBool _texCoord; 00073 SFBool _normalPerVertex; 00075 GLenum _format; 00076 }; 00077 00078 } 00079 } 00080 00081 #endif