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(); 00028 00030 void setCcw(const SFBool &ccw); 00032 void setColorPerVertex(const SFBool &colorPerVertex); 00034 void setNormalPerVertex(const SFBool &normalPerVertex); 00036 void setSolid(const SFBool &solid); 00037 00039 inline X3DColorNode *getColor() const {return _color;}; 00041 inline X3DCoordinateNode *getCoord() const {return _coord;}; 00043 inline X3DNormalNode *getNormal() const {return _normal;}; 00045 inline X3DTextureCoordinateNode *getTexCoord() const {return _texCoord;}; 00047 inline const SFBool &getCcw() const {return _ccw;}; 00049 inline const SFBool &getColorPerVertex() const {return _colorPerVertex;}; 00051 inline const SFBool &getNormalPerVertex() const {return _normalPerVertex;}; 00053 inline const SFBool &getSolid() const {return _solid;}; 00054 00055 private: 00057 X3DColorNode *_color; 00059 X3DCoordinateNode *_coord; 00061 X3DNormalNode *_normal; 00063 X3DTextureCoordinateNode *_texCoord; 00065 SFBool _ccw; 00067 SFBool _colorPerVertex; 00069 SFBool _normalPerVertex; 00071 SFBool _solid; 00072 }; 00073 00074 } 00075 } 00076 00077 #endif