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 //                            Appearance.h                                    //
00004 
00005 #ifndef APPEARANCE_H
00006 #define APPEARANCE_H
00007 
00008 #include "X3DTypes.h"
00009 #include "X3DAppearanceNode.h"
00010 
00011 namespace X3DTK {
00012 namespace X3D {
00013 
00014 class X3DMaterialNode;
00015 class X3DTextureNode;
00016 class X3DTextureTransformNode;
00017 class LineProperties;
00018 class FillProperties;
00019 
00024 
00025 class Appearance : public X3DAppearanceNode
00026 {
00027 public:
00029   Appearance();
00031   Appearance(const X3DMaterialNode *material, 
00032              const X3DTextureNode *texture, 
00033              const X3DTextureTransformNode *textureTransform, 
00034              const LineProperties *lineProperties, 
00035              const FillProperties *fillProperties);
00037   virtual SFNode clone() const;
00039   virtual ~Appearance();
00040   
00042   void setMaterial(const X3DMaterialNode *material);
00044   void setTexture(const X3DTextureNode *texture);
00046   void setTextureTransform(const X3DTextureTransformNode *textureTransform);
00048   void setLineProperties(const LineProperties *lineProperties);
00050   void setFillProperties(const FillProperties *fillProperties);
00051 
00053   inline SFNode getMaterial() const {return _material;};
00055   inline SFNode getTexture() const {return _texture;};
00057   inline SFNode getTextureTransform() const {return _textureTransform;};
00059   inline SFNode getLineProperties() const {return _lineProperties;};
00061   inline SFNode getFillProperties() const {return _fillProperties;};
00062   
00065   bool addChild(const SFAbstractNode &N);
00068   bool setChild(const SFAbstractNode &N);
00070   bool removeChild(const SFAbstractNode &N);
00071 
00072 protected:  
00074   Appearance(const Appearance &A);
00075 
00076 private:  
00078   SFNode _material;
00080   SFNode _texture;
00082   SFNode _textureTransform;
00084   SFNode _lineProperties;
00086   SFNode _fillProperties;
00087 };
00088 
00089 }
00090 }
00091 
00092 #endif

Generated on Tue Jul 15 16:46:51 2003 for X3DToolKit by doxygen1.3