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_samplerDEPTH_h__ 10 #define __domGl_samplerDEPTH_h__ 11 12 #include <dae/daeDocument.h> 13 #include <dom/domTypes.h> 14 #include <dom/domElements.h> 15 16 #include <dom/domFx_samplerDEPTH_common.h> 17 class DAE; 18 19 /** 20 * A depth texture sampler for the GLSL profile. 21 */ 22 class domGl_samplerDEPTH_complexType : public domFx_samplerDEPTH_common_complexType 23 { 24 25 protected: 26 /** 27 * Constructor 28 */ 29 domGl_samplerDEPTH_complexType(DAE& dae, daeElement* elt) : domFx_samplerDEPTH_common_complexType(dae, elt) {} 30 /** 31 * Destructor 32 */ 33 virtual ~domGl_samplerDEPTH_complexType() {} 34 /** 35 * Overloaded assignment operator 36 */ 37 virtual domGl_samplerDEPTH_complexType &operator=( const domGl_samplerDEPTH_complexType &cpy ) { (void)cpy; return *this; } 38 }; 39 40 /** 41 * An element of type domGl_samplerDEPTH_complexType. 42 */ 43 class domGl_samplerDEPTH : public daeElement, public domGl_samplerDEPTH_complexType 44 { 45 public: 46 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_SAMPLERDEPTH; } 47 static daeInt ID() { return 102; } 48 virtual daeInt typeID() const { return ID(); } 49 protected: 50 /** 51 * Constructor 52 */ 53 domGl_samplerDEPTH(DAE& dae) : daeElement(dae), domGl_samplerDEPTH_complexType(dae, this) {} 54 /** 55 * Destructor 56 */ 57 virtual ~domGl_samplerDEPTH() {} 58 /** 59 * Overloaded assignment operator 60 */ 61 virtual domGl_samplerDEPTH &operator=( const domGl_samplerDEPTH &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