00001 #ifndef X3DTK_X3D_X3DCOMPOSEDGEOMETRYNODE_H 00002 #define X3DTK_X3D_X3DCOMPOSEDGEOMETRYNODE_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 class X3DNormalNode; 00013 class X3DTextureCoordinateNode; 00014 00023 class X3DComposedGeometryNode : public X3DGeometryNode 00024 { 00025 public: 00027 X3DComposedGeometryNode(); 00029 virtual ~X3DComposedGeometryNode(); 00030 00032 void setCcw(const SFBool &ccw); 00034 void setColorPerVertex(const SFBool &colorPerVertex); 00036 void setNormalPerVertex(const SFBool &normalPerVertex); 00038 void setSolid(const SFBool &solid); 00039 00041 inline X3DColorNode *getColor() const {return _color;}; 00043 inline X3DCoordinateNode *getCoord() const {return _coord;}; 00045 inline X3DNormalNode *getNormal() const {return _normal;}; 00047 inline X3DTextureCoordinateNode *getTexCoord() const {return _texCoord;}; 00049 inline const SFBool &getCcw() const {return _ccw;}; 00051 inline const SFBool &getColorPerVertex() const {return _colorPerVertex;}; 00053 inline const SFBool &getNormalPerVertex() const {return _normalPerVertex;}; 00055 inline const SFBool &getSolid() const {return _solid;}; 00056 00057 private: 00059 X3DColorNode *_color; 00061 X3DCoordinateNode *_coord; 00063 X3DNormalNode *_normal; 00065 X3DTextureCoordinateNode *_texCoord; 00067 SFBool _ccw; 00069 SFBool _colorPerVertex; 00071 SFBool _normalPerVertex; 00073 SFBool _solid; 00074 }; 00075 00076 } 00077 } 00078 00079 #endif