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

Appearance.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00021 //                            Appearance.h                                    //
00023 
00024 #ifndef APPEARANCE_H
00025 #define APPEARANCE_H
00026 
00027 #include "X3DTypes.h"
00028 #include "X3DAppearanceNode.h"
00029 
00030 namespace X3DTK {
00031 namespace X3D {
00032 
00033 class X3DMaterialNode;
00034 class X3DTextureNode;
00035 class X3DTextureTransformNode;
00036 class LineProperties;
00037 class FillProperties;
00038 
00043 
00044 class Appearance : public X3DAppearanceNode
00045 {
00046 public:
00048   Appearance();
00050   Appearance(const X3DMaterialNode *material, 
00051              const X3DTextureNode *texture, 
00052              const X3DTextureTransformNode *textureTransform, 
00053              const LineProperties *lineProperties, 
00054              const FillProperties *fillProperties);
00056   virtual SFNode clone() const;
00058   virtual ~Appearance();
00059   
00061   void setMaterial(const X3DMaterialNode *material);
00063   void setTexture(const X3DTextureNode *texture);
00065   void setTextureTransform(const X3DTextureTransformNode *textureTransform);
00067   void setLineProperties(const LineProperties *lineProperties);
00069   void setFillProperties(const FillProperties *fillProperties);
00070 
00072   inline SFNode getMaterial() const {return _material;};
00074   inline SFNode getTexture() const {return _texture;};
00076   inline SFNode getTextureTransform() const {return _textureTransform;};
00078   inline SFNode getLineProperties() const {return _lineProperties;};
00080   inline SFNode getFillProperties() const {return _fillProperties;};
00081   
00084   virtual bool addChild(const SFAbstractNode &N);
00087   virtual bool setChild(const SFAbstractNode &N);
00089   virtual bool removeChild(const SFAbstractNode &N);
00090 
00091 protected:  
00093   Appearance(const Appearance &A);
00094 
00095 private:  
00097   SFNode _material;
00099   SFNode _texture;
00101   SFNode _textureTransform;
00103   SFNode _lineProperties;
00105   SFNode _fillProperties;
00106 };
00107 
00108 }
00109 }
00110 
00111 #endif

Generated on Thu Oct 9 13:50:52 2003 for X3DToolKit by doxygen1.2.18