/// This file is part of the X3DToolKit library /// Copyright (C) 2002-2004 Yannick Le Goc (legoc@imag.fr) /// http://artis.imag.fr/Members/Yannick.Legoc/X3D/ /// This library is free software; you can redistribute it and/or /// modify it under the terms of the GNU Lesser General Public /// License as published by the Free Software Foundation; either /// version 2.1 of the License, or (at your option) any later version. /// This library is distributed in the hope that it will be useful, /// but WITHOUT ANY WARRANTY; without even the implied warranty of /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU /// Lesser General Public License for more details. /// You should have received a copy of the GNU Lesser General Public /// License along with this library; if not, write to the Free Software /// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #ifndef X3DTK_X3D_X3DCOMPOSEDGEOMETRYNODE_H #define X3DTK_X3D_X3DCOMPOSEDGEOMETRYNODE_H #include "X3DTypes.h" #include "X3D_X3DGeometryNode.h" namespace X3DTK { namespace X3D { class X3DColorNode; class X3DCoordinateNode; class X3DNormalNode; class X3DTextureCoordinateNode; /*! \brief Base class declared in , part of the * Rendering component defining an X3DComposedGeometryNode * ( * documentation). * * \ingroup X3DSceneGraph */ class X3DComposedGeometryNode : public X3DGeometryNode { public: /// Constructor. X3DComposedGeometryNode(); /// Destructor. virtual ~X3DComposedGeometryNode(); /// Sets the Ccw attribute. void setCcw(const SFBool &ccw); /// Sets the ColorPerVertex attribute. void setColorPerVertex(const SFBool &colorPerVertex); /// Sets the NormalPerVertex attribute. void setNormalPerVertex(const SFBool &normalPerVertex); /// Sets the Solid attribute. void setSolid(const SFBool &solid); /// Gets the Color attribute. inline X3DColorNode *getColor() const {return _color;}; /// Gets the Coord attribute. inline X3DCoordinateNode *getCoord() const {return _coord;}; /// Gets the Normal attribute. inline X3DNormalNode *getNormal() const {return _normal;}; /// Gets the TexCoord attribute inline X3DTextureCoordinateNode *getTexCoord() const {return _texCoord;}; /// Gets the Ccw attribute. inline const SFBool &getCcw() const {return _ccw;}; /// Gets the ColorPerVertex attribute. inline const SFBool &getColorPerVertex() const {return _colorPerVertex;}; /// Gets the NormalPerVertex attribute. inline const SFBool &getNormalPerVertex() const {return _normalPerVertex;}; /// Gets the Solid attribute. inline const SFBool &getSolid() const {return _solid;}; private: /// Color attribute. X3DColorNode *_color; /// Coord attribute. X3DCoordinateNode *_coord; /// Normal attribute. X3DNormalNode *_normal; /// TexCoord attribute. X3DTextureCoordinateNode *_texCoord; /// Ccw attribute. SFBool _ccw; /// ColorPerVertex attribute. SFBool _colorPerVertex; /// NormalPerVertex attribute. SFBool _normalPerVertex; /// Solid attribute. SFBool _solid; }; } } #endif