1 /* 2 * Copyright 2006 Sony Computer Entertainment Inc. 3 * 4 * Licensed under the MIT Open Source License, for details please see license.txt or the website 5 * http://www.opensource.org/licenses/mit-license.php 6 * 7 */ 8 9 #ifndef __domGl_sampler3D_h__ 10 #define __domGl_sampler3D_h__ 11 12 #include <dae/daeDocument.h> 13 #include <dom/domTypes.h> 14 #include <dom/domElements.h> 15 16 #include <dom/domFx_sampler3D_common.h> 17 class DAE; 18 19 /** 20 * A three-dimensional texture sampler for the GLSL profile. 21 */ 22 class domGl_sampler3D_complexType : public domFx_sampler3D_common_complexType 23 { 24 25 protected: 26 /** 27 * Constructor 28 */ 29 domGl_sampler3D_complexType(DAE& dae, daeElement* elt) : domFx_sampler3D_common_complexType(dae, elt) {} 30 /** 31 * Destructor 32 */ 33 virtual ~domGl_sampler3D_complexType() {} 34 /** 35 * Overloaded assignment operator 36 */ 37 virtual domGl_sampler3D_complexType &operator=( const domGl_sampler3D_complexType &cpy ) { (void)cpy; return *this; } 38 }; 39 40 /** 41 * An element of type domGl_sampler3D_complexType. 42 */ 43 class domGl_sampler3D : public daeElement, public domGl_sampler3D_complexType 44 { 45 public: 46 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_SAMPLER3D; } 47 static daeInt ID() { return 99; } 48 virtual daeInt typeID() const { return ID(); } 49 protected: 50 /** 51 * Constructor 52 */ 53 domGl_sampler3D(DAE& dae) : daeElement(dae), domGl_sampler3D_complexType(dae, this) {} 54 /** 55 * Destructor 56 */ 57 virtual ~domGl_sampler3D() {} 58 /** 59 * Overloaded assignment operator 60 */ 61 virtual domGl_sampler3D &operator=( const domGl_sampler3D &cpy ) { (void)cpy; return *this; } 62 63 public: // STATIC METHODS 64 /** 65 * Creates an instance of this class and returns a daeElementRef referencing it. 66 * @return a daeElementRef referencing an instance of this object. 67 */ 68 static DLLSPEC daeElementRef create(DAE& dae); 69 /** 70 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 71 * If a daeMetaElement already exists it will return that instead of creating a new one. 72 * @return A daeMetaElement describing this COLLADA element. 73 */ 74 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 75 }; 76 77 78 #endif 79