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

X3D_Appearance.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3D_APPEARANCE_H
00002 #define X3DTK_X3D_APPEARANCE_H
00003 
00004 #include "X3DTypes.h"
00005 #include "X3D_X3DAppearanceNode.h"
00006 
00007 namespace X3DTK {
00008 namespace X3D {
00009 
00010 class X3DMaterialNode;
00011 class X3DTextureNode;
00012 class X3DTextureTransformNode;
00013 class LineProperties;
00014 class FillProperties;
00015 
00023 class Appearance : public X3DAppearanceNode
00024 {
00025 public:
00027   Appearance();
00029   Appearance(X3DMaterialNode *material, 
00030              X3DTextureNode *texture, 
00031              X3DTextureTransformNode *textureTransform, 
00032              LineProperties *lineProperties, 
00033              FillProperties *fillProperties);
00035   virtual SFAbstractNode clone() const;
00037   virtual ~Appearance();
00038   
00040   void setMaterial(X3DMaterialNode *material);
00042   void setTexture(X3DTextureNode *texture);
00044   void setTextureTransform(X3DTextureTransformNode *textureTransform);
00046   void setLineProperties(LineProperties *lineProperties);
00048   void setFillProperties(FillProperties *fillProperties);
00049 
00051   inline SFNode getMaterial() const {return _material;};
00053   inline SFNode getTexture() const {return _texture;};
00055   inline SFNode getTextureTransform() const {return _textureTransform;};
00057   inline SFNode getLineProperties() const {return _lineProperties;};
00059   inline SFNode getFillProperties() const {return _fillProperties;};
00060   
00062   virtual MFAbstractNode getChildList() const;
00063   
00066   virtual bool addChild(const SFAbstractNode &N);
00069   virtual bool setChild(const SFAbstractNode &N);
00071   virtual bool removeChild(const SFAbstractNode &N);
00072 
00073 protected:  
00075   Appearance(const Appearance &A);
00076 
00077 private:  
00079   SFNode _material;
00081   SFNode _texture;
00083   SFNode _textureTransform;
00085   SFNode _lineProperties;
00087   SFNode _fillProperties;
00088 };
00089 
00090 }
00091 }
00092 
00093 #endif

Generated on Wed Apr 7 12:15:21 2004 for X3DToolKit by doxygen 1.3.3