00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __MULTITEXTURE_H__
00030 #define __MULTITEXTURE_H__
00031
00032 #include <iostream>
00033 #include "X3DTextureNode.h"
00034 #include "DependentNodeFields.h"
00035 #include "SFFloat.h"
00036 #include "SFColor.h"
00037 #include "MFString.h"
00038
00039 namespace H3D {
00064 class H3DAPI_API MultiTexture : public X3DTextureNode {
00065 public:
00066
00069 typedef DependentMFNode< X3DTextureNode,
00070 FieldRef< H3DDisplayListObject,
00071 H3DDisplayListObject::DisplayList,
00072 &H3DDisplayListObject::displayList >,
00073 true >
00074 MFTexture;
00075
00077 MultiTexture(
00078 Inst< DisplayList > _displayList = 0,
00079 Inst< SFFloat > _alpha = 0,
00080 Inst< SFColor > _color = 0,
00081 Inst< MFString > _function = 0,
00082 Inst< SFNode > _metadata = 0,
00083 Inst< MFString > _mode = 0,
00084 Inst< MFString > _source = 0,
00085 Inst< MFTexture > _texture = 0 );
00086
00088 virtual void render();
00089
00091 virtual void enableTexturing();
00092
00094 virtual void disableTexturing();
00095
00101 auto_ptr< SFFloat > alpha;
00102
00108 auto_ptr< SFColor > color;
00109
00115 auto_ptr< MFString > function;
00116
00121 auto_ptr< MFString > mode;
00122
00127 auto_ptr< MFString > source;
00128
00134 auto_ptr< MFTexture > texture;
00135
00137 static H3DNodeDatabase database;
00138
00139 };
00140 }
00141
00142 #endif