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 __IMAGETEXTURE_H__
00030 #define __IMAGETEXTURE_H__
00031
00032 #include "X3DTexture2DNode.h"
00033 #include "H3DImageLoaderNode.h"
00034 #include "X3DUrlObject.h"
00035 #include "MFNode.h"
00036
00037 namespace H3D {
00051
00052 class H3DAPI_API ImageTexture :
00053 public X3DTexture2DNode,
00054 public X3DUrlObject {
00055 public:
00056
00059 H3D_API_EXCEPTION( CouldNotLoadImage );
00060
00062 typedef TypedMFNode< H3DImageLoaderNode > MFImageLoader;
00063
00071 class H3DAPI_API SFImage: public TypedField< X3DTexture2DNode::SFImage,
00072 Types< MFString, MFImageLoader > > {
00073
00076 virtual void update();
00077 };
00078
00080 ImageTexture( Inst< DisplayList > _displayList = 0,
00081 Inst< SFNode > _metadata = 0,
00082 Inst< MFString > _url = 0,
00083 Inst< SFBool > _repeatS = 0,
00084 Inst< SFBool > _repeatT = 0,
00085 Inst< SFBool > _scaleToP2 = 0,
00086 Inst< SFImage > _image = 0,
00087 Inst< MFImageLoader > _imageLoader = 0,
00088 Inst< SFTextureProperties > _textureProperties = 0 );
00089
00091 virtual void render();
00092
00099 auto_ptr< MFImageLoader > imageLoader;
00100
00102 static H3DNodeDatabase database;
00103 };
00104 }
00105
00106 #endif