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

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 
00013 class X3DMaterialNode;
00014 class X3DTextureNode;
00015 class X3DTextureTransformNode;
00016 class LineProperties;
00017 class FillProperties;
00018 
00023 
00024 class Appearance : public X3DAppearanceNode
00025 {
00026 public:
00028   Appearance();
00030   Appearance(const X3DMaterialNode *material, 
00031              const X3DTextureNode *texture, 
00032          const X3DTextureTransformNode *textureTransform, 
00033          const LineProperties *lineProperties, 
00034          const FillProperties *fillProperties);
00036   virtual SFNode clone() const;
00038   ~Appearance();
00039   
00041   void setMaterial(const X3DMaterialNode *material);
00043   void setTexture(const X3DTextureNode *texture);
00045   void setTextureTransform(const X3DTextureTransformNode *textureTransform);
00047   void setLineProperties(const LineProperties *lineProperties);
00049   void setFillProperties(const FillProperties *fillProperties);
00050 
00052   inline SFNode getMaterial() const {return material_;};
00054   inline SFNode getTexture() const {return texture_;};
00056   inline SFNode getTextureTransform() const {return textureTransform_;};
00058   inline SFNode getLineProperties() const {return lineProperties_;};
00060   inline SFNode getFillProperties() const {return fillProperties_;};
00061   
00064   bool addChild(const SFNode &N);
00067   bool setChild(const SFNode &N);
00069   bool removeChild(const SFNode &N);
00070 
00071 protected:  
00073   Appearance(const Appearance &A);
00074   
00076   virtual void removeScenesToChildren(const MFScene &sceneList);
00078   virtual void addScenesToChildren(const MFScene &sceneList);
00079   
00080 private:
00081   SFNode material_;
00082   SFNode texture_;
00083   SFNode textureTransform_;
00084   SFNode lineProperties_;
00085   SFNode fillProperties_;
00086 };
00087 
00088 }
00089 
00090 #endif

Generated on Wed May 14 10:38:08 2003 for X3DToolKit by doxygen1.3