00001 #ifndef __domFx_profile_h__ 00002 #define __domFx_profile_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domProfile_common.h> 00009 #include <dom/domProfile_bridge.h> 00010 #include <dom/domProfile_gles2.h> 00011 #include <dom/domProfile_glsl.h> 00012 #include <dom/domProfile_cg.h> 00013 #include <dom/domProfile_gles.h> 00014 class DAE; 00015 00019 class domFx_profile : public daeElement 00020 { 00021 public: 00022 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_PROFILE; } 00023 static daeInt ID() { return 965; } 00024 virtual daeInt typeID() const { return ID(); } 00025 00026 protected: // Elements 00027 domProfile_commonRef elemProfile_COMMON; 00028 domProfile_bridgeRef elemProfile_BRIDGE; 00029 domProfile_gles2Ref elemProfile_GLES2; 00030 domProfile_glslRef elemProfile_GLSL; 00031 domProfile_cgRef elemProfile_CG; 00032 domProfile_glesRef elemProfile_GLES; 00036 daeElementRefArray _contents; 00040 daeUIntArray _contentsOrder; 00041 00045 daeTArray< daeCharArray * > _CMData; 00046 00047 00048 public: //Accessors and Mutators 00053 const domProfile_commonRef getProfile_COMMON() const { return elemProfile_COMMON; } 00058 const domProfile_bridgeRef getProfile_BRIDGE() const { return elemProfile_BRIDGE; } 00063 const domProfile_gles2Ref getProfile_GLES2() const { return elemProfile_GLES2; } 00068 const domProfile_glslRef getProfile_GLSL() const { return elemProfile_GLSL; } 00073 const domProfile_cgRef getProfile_CG() const { return elemProfile_CG; } 00078 const domProfile_glesRef getProfile_GLES() const { return elemProfile_GLES; } 00083 daeElementRefArray &getContents() { return _contents; } 00088 const daeElementRefArray &getContents() const { return _contents; } 00089 00090 protected: 00094 domFx_profile(DAE& dae) : daeElement(dae), elemProfile_COMMON(), elemProfile_BRIDGE(), elemProfile_GLES2(), elemProfile_GLSL(), elemProfile_CG(), elemProfile_GLES() {} 00098 virtual ~domFx_profile() { daeElement::deleteCMDataArray(_CMData); } 00102 virtual domFx_profile &operator=( const domFx_profile &cpy ) { (void)cpy; return *this; } 00103 00104 public: // STATIC METHODS 00109 static DLLSPEC daeElementRef create(DAE& dae); 00115 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00116 }; 00117 00118 00119 #endif