Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

X3DComposedGeometryNode.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00022 
00024 
00025 
00030 
00035 
00040 //                            X3DComposedGeometryNode.h                       //
00042 
00043 #ifndef X3DCOMPOSEDGEOMETRYNODE_H
00044 #define X3DCOMPOSEDGEOMETRYNODE_H
00045 
00046 #include "X3DTypes.h"
00047 #include "X3DGeometry3DNode.h"
00048 
00049 namespace X3DTK {
00050 namespace X3D {
00051 
00052 class X3DColorNode;
00053 class X3DCoordinateNode;
00054 class X3DNormalNode;
00055 class X3DTextureCoordinateNode;
00056 
00061 
00062 class X3DComposedGeometryNode : public X3DGeometry3DNode
00063 {
00064 public:
00066   X3DComposedGeometryNode();
00068   X3DComposedGeometryNode(const X3DColorNode *color,
00069                           const X3DCoordinateNode *coord,
00070                           const X3DNormalNode *normal,
00071                           const X3DTextureCoordinateNode *texCoord,
00072                           SFBool ccw,
00073                           SFBool colorPerVertex,
00074                           SFBool normalPerVertex,
00075                           SFBool solid);
00077   virtual SFNode clone() const;
00079   virtual ~X3DComposedGeometryNode();
00080  
00082   void setColor(const X3DColorNode *color);
00084   void setCoord(const X3DCoordinateNode *coord);
00086   void setNormal(const X3DNormalNode *normal);
00088   void setTexCoord(const X3DTextureCoordinateNode *texCoord);
00090   void setCcw(SFBool ccw);
00092   void setColorPerVertex(SFBool colorPerVertex);
00094   void setNormalPerVertex(SFBool normalPerVertex);
00096   void setSolid(SFBool solid);
00097 
00099   inline SFNode getColor() const {return _color;};
00101   inline SFNode getCoord() const {return _coord;};
00103   inline SFNode getNormal() const {return _normal;};
00105   inline SFNode getTexCoord() const {return _texCoord;};
00107   inline SFBool getCcw() const {return _ccw;};
00109   inline SFBool getColorPerVertex() const {return _colorPerVertex;};
00111   inline SFBool getNormalPerVertex() const {return _normalPerVertex;};
00113   inline SFBool getSolid() const {return _solid;};
00114   
00117   virtual bool addChild(const SFAbstractNode &N);
00120   virtual bool setChild(const SFAbstractNode &N);
00122   virtual bool removeChild(const SFAbstractNode &N);
00123   
00125   virtual void load(const X3DFileElement *element);
00127   virtual SFString write() const; 
00128  
00129 protected:
00131   X3DComposedGeometryNode(const X3DComposedGeometryNode &N);
00132 
00133 private:  
00135   SFNode _color;  
00137   SFNode _coord;  
00139   SFNode _normal;
00141   SFNode _texCoord;
00143   SFBool _ccw;
00145   SFBool _colorPerVertex;
00147   SFBool _normalPerVertex;
00149   SFBool _solid;
00150 };
00151 
00152 }
00153 }
00154 
00155 #endif

Generated on Wed Sep 10 11:25:15 2003 for X3DToolKit by doxygen1.3