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

GLAppearance.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00021 //                            GLAppearance.h                                  //
00023 
00024 #ifndef GLAPPEARANCE_H
00025 #define GLAPPEARANCE_H
00026 
00027 #include "X3DGLAppearanceNode.h"
00028 
00029 namespace X3DTK {
00030 namespace GL {
00031 
00032 class X3DMaterialNode;
00033 class X3DTextureNode;
00034 class X3DTextureTransformNode;
00035 class LineProperties;
00036 class FillProperties;
00037 
00040 
00041 class Appearance : public X3DAppearanceNode
00042 {
00043 public:
00045   Appearance();
00047   virtual SFNode clone() const;
00049   virtual ~Appearance();
00050   
00052   void setMaterial(const X3DMaterialNode *material);
00054   void setTexture(const X3DTextureNode *texture);
00056   void setTextureTransform(const X3DTextureTransformNode *textureTransform);
00058   void setLineProperties(const LineProperties *lineProperties);
00060   void setFillProperties(const FillProperties *fillProperties);
00061   
00063   inline SFNode getMaterial() {return _material;};
00065   inline SFNode getTexture() {return _texture;};
00067   inline SFNode getTextureTransform() {return _textureTransform;};
00069   inline SFNode getLineProperties() {return _lineProperties;};
00071   inline SFNode getFillProperties() {return _fillProperties;};
00072    
00075   virtual bool addChild(const SFAbstractNode &N);
00078   virtual bool setChild(const SFAbstractNode &N);
00080   virtual bool removeChild(const SFAbstractNode &N); 
00081 
00082 protected:  
00084   Appearance(const Appearance &A);
00085 
00086 private:  
00088   SFNode _material;
00090   SFNode _texture;
00092   SFNode _textureTransform;
00094   SFNode _lineProperties;
00096   SFNode _fillProperties;
00097 };
00098 
00099 }
00100 }
00101 
00102 #endif

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