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

GL_Appearance.h

Go to the documentation of this file.
00001 #ifndef X3DTK_GL_APPEARANCE_H
00002 #define X3DTK_GL_APPEARANCE_H
00003 
00004 #include "GL_X3DAppearanceNode.h"
00005 
00006 namespace X3DTK {
00007 namespace GL {
00008 
00009 class X3DMaterialNode;
00010 class X3DTextureNode;
00011 class X3DTextureTransformNode;
00012 class LineProperties;
00013 class FillProperties;
00014 
00021 class Appearance : public X3DAppearanceNode
00022 {
00023 public:
00025   Appearance();
00027   virtual SFNode clone() const;
00029   virtual ~Appearance();
00030   
00032   void setMaterial(X3DMaterialNode *material);
00034   void setTexture(X3DTextureNode *texture);
00036   void setTextureTransform(X3DTextureTransformNode *textureTransform);
00038   void setLineProperties(LineProperties *lineProperties);
00040   void setFillProperties(FillProperties *fillProperties);
00041   
00043   inline SFNode getMaterial() {return _material;};
00045   inline SFNode getTexture() {return _texture;};
00047   inline SFNode getTextureTransform() {return _textureTransform;};
00049   inline SFNode getLineProperties() {return _lineProperties;};
00051   inline SFNode getFillProperties() {return _fillProperties;};
00052   
00054   virtual MFAbstractNode getChildList() const;
00055   
00058   virtual bool addChild(const SFAbstractNode &N);
00061   virtual bool setChild(const SFAbstractNode &N);
00063   virtual bool removeChild(const SFAbstractNode &N); 
00064 
00065 protected:  
00067   Appearance(const Appearance &A);
00068 
00069 private:  
00071   SFNode _material;
00073   SFNode _texture;
00075   SFNode _textureTransform;
00077   SFNode _lineProperties;
00079   SFNode _fillProperties;
00080 };
00081 
00082 }
00083 }
00084 
00085 #endif

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