00001 00002 00003 00005 00006 00011 00016 00021 // X3DGLComposedGeometryNode.h // 00023 00024 #ifndef X3DGLCOMPOSEDGEOMETRYNODE_H 00025 #define X3DGLCOMPOSEDGEOMETRYNODE_H 00026 00027 #include "X3DGLGeometry3DNode.h" 00028 00029 #include <GL/gl.h> 00030 00031 namespace X3DTK { 00032 namespace GL { 00033 00035 00036 class X3DComposedGeometryNode : public X3DGeometry3DNode 00037 { 00038 public: 00040 X3DComposedGeometryNode(); 00042 virtual SFNode clone() const; 00044 virtual ~X3DComposedGeometryNode(); 00045 00047 void setCcw(SFBool ccw); 00049 void setSolid(SFBool solid); 00051 void setVerticesDuplicated(SFBool verticesDuplicated); 00053 void setColor(SFBool color); 00055 void setTexCoord(SFBool texCoord); 00057 void setNormalPerVertex(SFBool normalPerVertex); 00059 void setVertexFormat(GLenum format); 00060 00062 inline SFBool getCcw() const {return _ccw;}; 00064 inline SFBool getSolid() const {return _solid;}; 00066 inline SFBool getVerticesDuplicated() const {return _verticesDuplicated;}; 00068 inline SFBool getColor() const {return _color;}; 00070 inline SFBool getTexCoord() const {return _texCoord;}; 00072 inline SFBool getNormalPerVertex() {return _normalPerVertex;}; 00074 inline GLenum getVertexFormat() const {return _format;}; 00075 00076 protected: 00078 X3DComposedGeometryNode(const X3DComposedGeometryNode &N); 00079 00080 private: 00082 SFBool _ccw; 00084 SFBool _solid; 00086 SFBool _verticesDuplicated; 00088 SFBool _color; 00090 SFBool _texCoord; 00092 SFBool _normalPerVertex; 00094 GLenum _format; 00095 }; 00096 00097 } 00098 } 00099 00100 #endif