Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

X3D_X3DComposedGeometryNode.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3D_X3DCOMPOSEDGEOMETRYNODE_H
00002 #define X3DTK_X3D_X3DCOMPOSEDGEOMETRYNODE_H
00003 
00004 #include "X3DTypes.h"
00005 #include "X3D_X3DGeometry3DNode.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 X3DGeometry3DNode
00024 {
00025 public:
00027   X3DComposedGeometryNode();
00029   X3DComposedGeometryNode(X3DColorNode *color,
00030                           X3DCoordinateNode *coord,
00031                           X3DNormalNode *normal,
00032                           X3DTextureCoordinateNode *texCoord,
00033                           const SFBool &ccw,
00034                           const SFBool &colorPerVertex,
00035                           const SFBool &normalPerVertex,
00036                           const SFBool &solid);
00038   virtual ~X3DComposedGeometryNode();
00039  
00041   void setColor(X3DColorNode *color);
00043   void setCoord(X3DCoordinateNode *coord);
00045   void setNormal(X3DNormalNode *normal);
00047   void setTexCoord(X3DTextureCoordinateNode *texCoord);
00049   void setCcw(const SFBool &ccw);
00051   void setColorPerVertex(const SFBool &colorPerVertex);
00053   void setNormalPerVertex(const SFBool &normalPerVertex);
00055   void setSolid(const SFBool &solid);
00056 
00058   inline SFNode getColor() const {return _color;};
00060   inline SFNode getCoord() const {return _coord;};
00062   inline SFNode getNormal() const {return _normal;};
00064   inline SFNode getTexCoord() const {return _texCoord;};
00066   inline const SFBool &getCcw() const {return _ccw;};
00068   inline const SFBool &getColorPerVertex() const {return _colorPerVertex;};
00070   inline const SFBool &getNormalPerVertex() const {return _normalPerVertex;};
00072   inline const SFBool &getSolid() const {return _solid;};
00073   
00075   virtual MFAbstractNode getChildList() const;
00076   
00079   virtual bool addChild(const SFAbstractNode &N);
00082   virtual bool setChild(const SFAbstractNode &N);
00084   virtual bool removeChild(const SFAbstractNode &N);
00085   
00087   virtual void load(const X3DFileElement *element);
00089   virtual SFString &write(SFString &output) const; 
00090  
00091 protected:
00093   X3DComposedGeometryNode(const X3DComposedGeometryNode &N);
00094 
00095 private:  
00097   SFNode _color;  
00099   SFNode _coord;  
00101   SFNode _normal;
00103   SFNode _texCoord;
00105   SFBool _ccw;
00107   SFBool _colorPerVertex;
00109   SFBool _normalPerVertex;
00111   SFBool _solid;
00112 };
00113 
00114 }
00115 }
00116 
00117 #endif

Generated on Thu Jun 3 10:12:11 2004 for X3DToolKit by doxygen 1.3.6