00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __domProfile_COMMON_h__
00010 #define __domProfile_COMMON_h__
00011
00012 #include <dae/daeDocument.h>
00013 #include <dom/domTypes.h>
00014 #include <dom/domElements.h>
00015
00016 #include <dom/domFx_profile_abstract.h>
00017 #include <dom/domAsset.h>
00018 #include <dom/domImage.h>
00019 #include <dom/domExtra.h>
00020 #include <dom/domCommon_newparam_type.h>
00021 #include <dom/domCommon_color_or_texture_type.h>
00022 #include <dom/domCommon_float_or_param_type.h>
00023 #include <dom/domCommon_transparent_type.h>
00024 class DAE;
00025
00029 class domProfile_COMMON : public domFx_profile_abstract
00030 {
00031 public:
00032 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_COMMON; }
00033 static daeInt ID() { return 740; }
00034 virtual daeInt typeID() const { return ID(); }
00035 public:
00036 class domTechnique;
00037
00038 typedef daeSmartRef<domTechnique> domTechniqueRef;
00039 typedef daeTArray<domTechniqueRef> domTechnique_Array;
00040
00045 class domTechnique : public daeElement
00046 {
00047 public:
00048 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
00049 static daeInt ID() { return 741; }
00050 virtual daeInt typeID() const { return ID(); }
00051 public:
00052 class domConstant;
00053
00054 typedef daeSmartRef<domConstant> domConstantRef;
00055 typedef daeTArray<domConstantRef> domConstant_Array;
00056
00057 class domConstant : public daeElement
00058 {
00059 public:
00060 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONSTANT; }
00061 static daeInt ID() { return 742; }
00062 virtual daeInt typeID() const { return ID(); }
00063
00064 protected:
00065 domCommon_color_or_texture_typeRef elemEmission;
00066 domCommon_color_or_texture_typeRef elemReflective;
00067 domCommon_float_or_param_typeRef elemReflectivity;
00068 domCommon_transparent_typeRef elemTransparent;
00069 domCommon_float_or_param_typeRef elemTransparency;
00070 domCommon_float_or_param_typeRef elemIndex_of_refraction;
00071
00072 public:
00077 const domCommon_color_or_texture_typeRef getEmission() const { return elemEmission; }
00082 const domCommon_color_or_texture_typeRef getReflective() const { return elemReflective; }
00087 const domCommon_float_or_param_typeRef getReflectivity() const { return elemReflectivity; }
00092 const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; }
00097 const domCommon_float_or_param_typeRef getTransparency() const { return elemTransparency; }
00102 const domCommon_float_or_param_typeRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
00103 protected:
00107 domConstant(DAE& dae) : daeElement(dae), elemEmission(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
00111 virtual ~domConstant() {}
00115 virtual domConstant &operator=( const domConstant &cpy ) { (void)cpy; return *this; }
00116
00117 public:
00122 static DLLSPEC daeElementRef create(DAE& dae);
00128 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00129 };
00130
00131 class domLambert;
00132
00133 typedef daeSmartRef<domLambert> domLambertRef;
00134 typedef daeTArray<domLambertRef> domLambert_Array;
00135
00136 class domLambert : public daeElement
00137 {
00138 public:
00139 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LAMBERT; }
00140 static daeInt ID() { return 743; }
00141 virtual daeInt typeID() const { return ID(); }
00142
00143 protected:
00144 domCommon_color_or_texture_typeRef elemEmission;
00145 domCommon_color_or_texture_typeRef elemAmbient;
00146 domCommon_color_or_texture_typeRef elemDiffuse;
00147 domCommon_color_or_texture_typeRef elemReflective;
00148 domCommon_float_or_param_typeRef elemReflectivity;
00149 domCommon_transparent_typeRef elemTransparent;
00150 domCommon_float_or_param_typeRef elemTransparency;
00151 domCommon_float_or_param_typeRef elemIndex_of_refraction;
00152
00153 public:
00158 const domCommon_color_or_texture_typeRef getEmission() const { return elemEmission; }
00163 const domCommon_color_or_texture_typeRef getAmbient() const { return elemAmbient; }
00168 const domCommon_color_or_texture_typeRef getDiffuse() const { return elemDiffuse; }
00173 const domCommon_color_or_texture_typeRef getReflective() const { return elemReflective; }
00178 const domCommon_float_or_param_typeRef getReflectivity() const { return elemReflectivity; }
00183 const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; }
00188 const domCommon_float_or_param_typeRef getTransparency() const { return elemTransparency; }
00193 const domCommon_float_or_param_typeRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
00194 protected:
00198 domLambert(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
00202 virtual ~domLambert() {}
00206 virtual domLambert &operator=( const domLambert &cpy ) { (void)cpy; return *this; }
00207
00208 public:
00213 static DLLSPEC daeElementRef create(DAE& dae);
00219 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00220 };
00221
00222 class domPhong;
00223
00224 typedef daeSmartRef<domPhong> domPhongRef;
00225 typedef daeTArray<domPhongRef> domPhong_Array;
00226
00227 class domPhong : public daeElement
00228 {
00229 public:
00230 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHONG; }
00231 static daeInt ID() { return 744; }
00232 virtual daeInt typeID() const { return ID(); }
00233
00234 protected:
00235 domCommon_color_or_texture_typeRef elemEmission;
00236 domCommon_color_or_texture_typeRef elemAmbient;
00237 domCommon_color_or_texture_typeRef elemDiffuse;
00238 domCommon_color_or_texture_typeRef elemSpecular;
00239 domCommon_float_or_param_typeRef elemShininess;
00240 domCommon_color_or_texture_typeRef elemReflective;
00241 domCommon_float_or_param_typeRef elemReflectivity;
00242 domCommon_transparent_typeRef elemTransparent;
00243 domCommon_float_or_param_typeRef elemTransparency;
00244 domCommon_float_or_param_typeRef elemIndex_of_refraction;
00245
00246 public:
00251 const domCommon_color_or_texture_typeRef getEmission() const { return elemEmission; }
00256 const domCommon_color_or_texture_typeRef getAmbient() const { return elemAmbient; }
00261 const domCommon_color_or_texture_typeRef getDiffuse() const { return elemDiffuse; }
00266 const domCommon_color_or_texture_typeRef getSpecular() const { return elemSpecular; }
00271 const domCommon_float_or_param_typeRef getShininess() const { return elemShininess; }
00276 const domCommon_color_or_texture_typeRef getReflective() const { return elemReflective; }
00281 const domCommon_float_or_param_typeRef getReflectivity() const { return elemReflectivity; }
00286 const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; }
00291 const domCommon_float_or_param_typeRef getTransparency() const { return elemTransparency; }
00296 const domCommon_float_or_param_typeRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
00297 protected:
00301 domPhong(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemSpecular(), elemShininess(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
00305 virtual ~domPhong() {}
00309 virtual domPhong &operator=( const domPhong &cpy ) { (void)cpy; return *this; }
00310
00311 public:
00316 static DLLSPEC daeElementRef create(DAE& dae);
00322 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00323 };
00324
00325 class domBlinn;
00326
00327 typedef daeSmartRef<domBlinn> domBlinnRef;
00328 typedef daeTArray<domBlinnRef> domBlinn_Array;
00329
00330 class domBlinn : public daeElement
00331 {
00332 public:
00333 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLINN; }
00334 static daeInt ID() { return 745; }
00335 virtual daeInt typeID() const { return ID(); }
00336
00337 protected:
00338 domCommon_color_or_texture_typeRef elemEmission;
00339 domCommon_color_or_texture_typeRef elemAmbient;
00340 domCommon_color_or_texture_typeRef elemDiffuse;
00341 domCommon_color_or_texture_typeRef elemSpecular;
00342 domCommon_float_or_param_typeRef elemShininess;
00343 domCommon_color_or_texture_typeRef elemReflective;
00344 domCommon_float_or_param_typeRef elemReflectivity;
00345 domCommon_transparent_typeRef elemTransparent;
00346 domCommon_float_or_param_typeRef elemTransparency;
00347 domCommon_float_or_param_typeRef elemIndex_of_refraction;
00348
00349 public:
00354 const domCommon_color_or_texture_typeRef getEmission() const { return elemEmission; }
00359 const domCommon_color_or_texture_typeRef getAmbient() const { return elemAmbient; }
00364 const domCommon_color_or_texture_typeRef getDiffuse() const { return elemDiffuse; }
00369 const domCommon_color_or_texture_typeRef getSpecular() const { return elemSpecular; }
00374 const domCommon_float_or_param_typeRef getShininess() const { return elemShininess; }
00379 const domCommon_color_or_texture_typeRef getReflective() const { return elemReflective; }
00384 const domCommon_float_or_param_typeRef getReflectivity() const { return elemReflectivity; }
00389 const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; }
00394 const domCommon_float_or_param_typeRef getTransparency() const { return elemTransparency; }
00399 const domCommon_float_or_param_typeRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
00400 protected:
00404 domBlinn(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemSpecular(), elemShininess(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
00408 virtual ~domBlinn() {}
00412 virtual domBlinn &operator=( const domBlinn &cpy ) { (void)cpy; return *this; }
00413
00414 public:
00419 static DLLSPEC daeElementRef create(DAE& dae);
00425 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00426 };
00427
00428
00429 protected:
00435 xsID attrId;
00441 xsNCName attrSid;
00442
00443 protected:
00447 domAssetRef elemAsset;
00448 domImage_Array elemImage_array;
00449 domCommon_newparam_type_Array elemNewparam_array;
00450 domConstantRef elemConstant;
00451 domLambertRef elemLambert;
00452 domPhongRef elemPhong;
00453 domBlinnRef elemBlinn;
00457 domExtra_Array elemExtra_array;
00461 daeElementRefArray _contents;
00465 daeUIntArray _contentsOrder;
00466
00470 daeTArray< daeCharArray * > _CMData;
00471
00472
00473 public:
00478 xsID getId() const { return attrId; }
00483 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
00484 if( _document != NULL ) _document->changeElementID( this, attrId );
00485 }
00486
00491 xsNCName getSid() const { return attrSid; }
00496 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
00497
00502 const domAssetRef getAsset() const { return elemAsset; }
00507 domImage_Array &getImage_array() { return elemImage_array; }
00512 const domImage_Array &getImage_array() const { return elemImage_array; }
00517 domCommon_newparam_type_Array &getNewparam_array() { return elemNewparam_array; }
00522 const domCommon_newparam_type_Array &getNewparam_array() const { return elemNewparam_array; }
00527 const domConstantRef getConstant() const { return elemConstant; }
00532 const domLambertRef getLambert() const { return elemLambert; }
00537 const domPhongRef getPhong() const { return elemPhong; }
00542 const domBlinnRef getBlinn() const { return elemBlinn; }
00547 domExtra_Array &getExtra_array() { return elemExtra_array; }
00552 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00557 daeElementRefArray &getContents() { return _contents; }
00562 const daeElementRefArray &getContents() const { return _contents; }
00563
00564 protected:
00568 domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemImage_array(), elemNewparam_array(), elemConstant(), elemLambert(), elemPhong(), elemBlinn(), elemExtra_array() {}
00572 virtual ~domTechnique() { daeElement::deleteCMDataArray(_CMData); }
00576 virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
00577
00578 public:
00583 static DLLSPEC daeElementRef create(DAE& dae);
00589 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00590 };
00591
00592
00593 protected:
00599 xsID attrId;
00600
00601 protected:
00602 domAssetRef elemAsset;
00603 domImage_Array elemImage_array;
00604 domCommon_newparam_type_Array elemNewparam_array;
00609 domTechniqueRef elemTechnique;
00613 domExtra_Array elemExtra_array;
00617 daeElementRefArray _contents;
00621 daeUIntArray _contentsOrder;
00622
00626 daeTArray< daeCharArray * > _CMData;
00627
00628
00629 public:
00634 xsID getId() const { return attrId; }
00639 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
00640 if( _document != NULL ) _document->changeElementID( this, attrId );
00641 }
00642
00647 const domAssetRef getAsset() const { return elemAsset; }
00652 domImage_Array &getImage_array() { return elemImage_array; }
00657 const domImage_Array &getImage_array() const { return elemImage_array; }
00662 domCommon_newparam_type_Array &getNewparam_array() { return elemNewparam_array; }
00667 const domCommon_newparam_type_Array &getNewparam_array() const { return elemNewparam_array; }
00672 const domTechniqueRef getTechnique() const { return elemTechnique; }
00677 domExtra_Array &getExtra_array() { return elemExtra_array; }
00682 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00687 daeElementRefArray &getContents() { return _contents; }
00692 const daeElementRefArray &getContents() const { return _contents; }
00693
00694 protected:
00698 domProfile_COMMON(DAE& dae) : domFx_profile_abstract(dae), attrId(), elemAsset(), elemImage_array(), elemNewparam_array(), elemTechnique(), elemExtra_array() {}
00702 virtual ~domProfile_COMMON() { daeElement::deleteCMDataArray(_CMData); }
00706 virtual domProfile_COMMON &operator=( const domProfile_COMMON &cpy ) { (void)cpy; return *this; }
00707
00708 public:
00713 static DLLSPEC daeElementRef create(DAE& dae);
00719 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00720 };
00721
00722
00723 #endif