00001 #ifndef __domImage_h__
00002 #define __domImage_h__
00003
00004 #include <dae/daeDocument.h>
00005 #include <dom/domTypes.h>
00006 #include <dom/domElements.h>
00007
00008 #include <dom/domAsset.h>
00009 #include <dom/domImage_source.h>
00010 #include <dom/domImage_mips.h>
00011 #include <dom/domExtra.h>
00012 class DAE;
00013
00014 class domImage : public daeElement
00015 {
00016 public:
00017 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMAGE; }
00018 static daeInt ID() { return 60; }
00019 virtual daeInt typeID() const { return ID(); }
00020 public:
00021 class domRenderable;
00022
00023 typedef daeSmartRef<domRenderable> domRenderableRef;
00024 typedef daeTArray<domRenderableRef> domRenderable_Array;
00025
00029 class domRenderable : public daeElement
00030 {
00031 public:
00032 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RENDERABLE; }
00033 static daeInt ID() { return 61; }
00034 virtual daeInt typeID() const { return ID(); }
00035 protected:
00040 xsBoolean attrShare;
00041
00042
00043 public:
00048 xsBoolean getShare() const { return attrShare; }
00053 void setShare( xsBoolean atShare ) { attrShare = atShare; _validAttributeArray[0] = true; }
00054
00055 protected:
00059 domRenderable(DAE& dae) : daeElement(dae), attrShare() {}
00063 virtual ~domRenderable() {}
00067 virtual domRenderable &operator=( const domRenderable &cpy ) { (void)cpy; return *this; }
00068
00069 public:
00074 static DLLSPEC daeElementRef create(DAE& dae);
00080 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00081 };
00082
00083 class domInit_from;
00084
00085 typedef daeSmartRef<domInit_from> domInit_fromRef;
00086 typedef daeTArray<domInit_fromRef> domInit_from_Array;
00087
00091 class domInit_from : public domImage_source
00092 {
00093 public:
00094 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
00095 static daeInt ID() { return 62; }
00096 virtual daeInt typeID() const { return ID(); }
00097 protected:
00102 xsBoolean attrMips_generate;
00103
00104
00105 public:
00110 xsBoolean getMips_generate() const { return attrMips_generate; }
00115 void setMips_generate( xsBoolean atMips_generate ) { attrMips_generate = atMips_generate; _validAttributeArray[0] = true; }
00116
00117 protected:
00121 domInit_from(DAE& dae) : domImage_source(dae), attrMips_generate() {}
00125 virtual ~domInit_from() {}
00129 virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
00130
00131 public:
00136 static DLLSPEC daeElementRef create(DAE& dae);
00142 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00143 };
00144
00145 class domCreate_2d;
00146
00147 typedef daeSmartRef<domCreate_2d> domCreate_2dRef;
00148 typedef daeTArray<domCreate_2dRef> domCreate_2d_Array;
00149
00153 class domCreate_2d : public daeElement
00154 {
00155 public:
00156 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATE_2D; }
00157 static daeInt ID() { return 63; }
00158 virtual daeInt typeID() const { return ID(); }
00159 public:
00160 class domSize_exact;
00161
00162 typedef daeSmartRef<domSize_exact> domSize_exactRef;
00163 typedef daeTArray<domSize_exactRef> domSize_exact_Array;
00164
00168 class domSize_exact : public daeElement
00169 {
00170 public:
00171 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE_EXACT; }
00172 static daeInt ID() { return 64; }
00173 virtual daeInt typeID() const { return ID(); }
00174 protected:
00175 xsUnsignedInt attrWidth;
00176 xsUnsignedInt attrHeight;
00177
00178
00179 public:
00184 xsUnsignedInt getWidth() const { return attrWidth; }
00189 void setWidth( xsUnsignedInt atWidth ) { attrWidth = atWidth; _validAttributeArray[0] = true; }
00190
00195 xsUnsignedInt getHeight() const { return attrHeight; }
00200 void setHeight( xsUnsignedInt atHeight ) { attrHeight = atHeight; _validAttributeArray[1] = true; }
00201
00202 protected:
00206 domSize_exact(DAE& dae) : daeElement(dae), attrWidth(), attrHeight() {}
00210 virtual ~domSize_exact() {}
00214 virtual domSize_exact &operator=( const domSize_exact &cpy ) { (void)cpy; return *this; }
00215
00216 public:
00221 static DLLSPEC daeElementRef create(DAE& dae);
00227 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00228 };
00229
00230 class domSize_ratio;
00231
00232 typedef daeSmartRef<domSize_ratio> domSize_ratioRef;
00233 typedef daeTArray<domSize_ratioRef> domSize_ratio_Array;
00234
00239 class domSize_ratio : public daeElement
00240 {
00241 public:
00242 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE_RATIO; }
00243 static daeInt ID() { return 65; }
00244 virtual daeInt typeID() const { return ID(); }
00245 protected:
00246 xsFloat attrWidth;
00247 xsFloat attrHeight;
00248
00249
00250 public:
00255 xsFloat getWidth() const { return attrWidth; }
00260 void setWidth( xsFloat atWidth ) { attrWidth = atWidth; _validAttributeArray[0] = true; }
00261
00266 xsFloat getHeight() const { return attrHeight; }
00271 void setHeight( xsFloat atHeight ) { attrHeight = atHeight; _validAttributeArray[1] = true; }
00272
00273 protected:
00277 domSize_ratio(DAE& dae) : daeElement(dae), attrWidth(), attrHeight() {}
00281 virtual ~domSize_ratio() {}
00285 virtual domSize_ratio &operator=( const domSize_ratio &cpy ) { (void)cpy; return *this; }
00286
00287 public:
00292 static DLLSPEC daeElementRef create(DAE& dae);
00298 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00299 };
00300
00301 class domUnnormalized;
00302
00303 typedef daeSmartRef<domUnnormalized> domUnnormalizedRef;
00304 typedef daeTArray<domUnnormalizedRef> domUnnormalized_Array;
00305
00311 class domUnnormalized : public daeElement
00312 {
00313 public:
00314 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::UNNORMALIZED; }
00315 static daeInt ID() { return 66; }
00316 virtual daeInt typeID() const { return ID(); }
00317
00318 protected:
00322 domUnnormalized(DAE& dae) : daeElement(dae) {}
00326 virtual ~domUnnormalized() {}
00330 virtual domUnnormalized &operator=( const domUnnormalized &cpy ) { (void)cpy; return *this; }
00331
00332 public:
00337 static DLLSPEC daeElementRef create(DAE& dae);
00343 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00344 };
00345
00346 class domArray;
00347
00348 typedef daeSmartRef<domArray> domArrayRef;
00349 typedef daeTArray<domArrayRef> domArray_Array;
00350
00351 class domArray : public daeElement
00352 {
00353 public:
00354 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ARRAY; }
00355 static daeInt ID() { return 67; }
00356 virtual daeInt typeID() const { return ID(); }
00357 protected:
00358 xsPositiveInteger attrLength;
00359
00360
00361 public:
00366 xsPositiveInteger getLength() const { return attrLength; }
00371 void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
00372
00373 protected:
00377 domArray(DAE& dae) : daeElement(dae), attrLength() {}
00381 virtual ~domArray() {}
00385 virtual domArray &operator=( const domArray &cpy ) { (void)cpy; return *this; }
00386
00387 public:
00392 static DLLSPEC daeElementRef create(DAE& dae);
00398 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00399 };
00400
00401 class domFormat;
00402
00403 typedef daeSmartRef<domFormat> domFormatRef;
00404 typedef daeTArray<domFormatRef> domFormat_Array;
00405
00409 class domFormat : public daeElement
00410 {
00411 public:
00412 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMAT; }
00413 static daeInt ID() { return 68; }
00414 virtual daeInt typeID() const { return ID(); }
00415 public:
00416 class domHint;
00417
00418 typedef daeSmartRef<domHint> domHintRef;
00419 typedef daeTArray<domHintRef> domHint_Array;
00420
00425 class domHint : public daeElement
00426 {
00427 public:
00428 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HINT; }
00429 static daeInt ID() { return 69; }
00430 virtual daeInt typeID() const { return ID(); }
00431 protected:
00437 domImage_format_hint_channels attrChannels;
00443 domImage_format_hint_range attrRange;
00450 domImage_format_hint_precision attrPrecision;
00454 xsToken attrSpace;
00455
00456
00457 public:
00462 domImage_format_hint_channels getChannels() const { return attrChannels; }
00467 void setChannels( domImage_format_hint_channels atChannels ) { attrChannels = atChannels; _validAttributeArray[0] = true; }
00468
00473 domImage_format_hint_range getRange() const { return attrRange; }
00478 void setRange( domImage_format_hint_range atRange ) { attrRange = atRange; _validAttributeArray[1] = true; }
00479
00484 domImage_format_hint_precision getPrecision() const { return attrPrecision; }
00489 void setPrecision( domImage_format_hint_precision atPrecision ) { attrPrecision = atPrecision; _validAttributeArray[2] = true; }
00490
00495 xsToken getSpace() const { return attrSpace; }
00500 void setSpace( xsToken atSpace ) { *(daeStringRef*)&attrSpace = atSpace; _validAttributeArray[3] = true; }
00501
00502 protected:
00506 domHint(DAE& dae) : daeElement(dae), attrChannels(), attrRange(), attrPrecision(), attrSpace() {}
00510 virtual ~domHint() {}
00514 virtual domHint &operator=( const domHint &cpy ) { (void)cpy; return *this; }
00515
00516 public:
00521 static DLLSPEC daeElementRef create(DAE& dae);
00527 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00528 };
00529
00530 class domExact;
00531
00532 typedef daeSmartRef<domExact> domExactRef;
00533 typedef daeTArray<domExactRef> domExact_Array;
00534
00540 class domExact : public daeElement
00541 {
00542 public:
00543 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EXACT; }
00544 static daeInt ID() { return 70; }
00545 virtual daeInt typeID() const { return ID(); }
00546
00547
00548 public:
00553 xsToken getValue() const { return _value; }
00558 void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
00559
00560 protected:
00564 xsToken _value;
00565 protected:
00569 domExact(DAE& dae) : daeElement(dae), _value() {}
00573 virtual ~domExact() {}
00577 virtual domExact &operator=( const domExact &cpy ) { (void)cpy; return *this; }
00578
00579 public:
00584 static DLLSPEC daeElementRef create(DAE& dae);
00590 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00591 };
00592
00593
00594
00595 protected:
00600 domHintRef elemHint;
00606 domExactRef elemExact;
00607
00608 public:
00613 const domHintRef getHint() const { return elemHint; }
00618 const domExactRef getExact() const { return elemExact; }
00619 protected:
00623 domFormat(DAE& dae) : daeElement(dae), elemHint(), elemExact() {}
00627 virtual ~domFormat() {}
00631 virtual domFormat &operator=( const domFormat &cpy ) { (void)cpy; return *this; }
00632
00633 public:
00638 static DLLSPEC daeElementRef create(DAE& dae);
00644 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00645 };
00646
00647 class domInit_from;
00648
00649 typedef daeSmartRef<domInit_from> domInit_fromRef;
00650 typedef daeTArray<domInit_fromRef> domInit_from_Array;
00651
00657 class domInit_from : public domImage_source
00658 {
00659 public:
00660 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
00661 static daeInt ID() { return 71; }
00662 virtual daeInt typeID() const { return ID(); }
00663 protected:
00664 xsUnsignedInt attrMip_index;
00665 xsUnsignedInt attrArray_index;
00666
00667
00668 public:
00673 xsUnsignedInt getMip_index() const { return attrMip_index; }
00678 void setMip_index( xsUnsignedInt atMip_index ) { attrMip_index = atMip_index; _validAttributeArray[0] = true; }
00679
00684 xsUnsignedInt getArray_index() const { return attrArray_index; }
00689 void setArray_index( xsUnsignedInt atArray_index ) { attrArray_index = atArray_index; _validAttributeArray[1] = true; }
00690
00691 protected:
00695 domInit_from(DAE& dae) : domImage_source(dae), attrMip_index(), attrArray_index() {}
00699 virtual ~domInit_from() {}
00703 virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
00704
00705 public:
00710 static DLLSPEC daeElementRef create(DAE& dae);
00716 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00717 };
00718
00719
00720
00721 protected:
00725 domSize_exactRef elemSize_exact;
00731 domSize_ratioRef elemSize_ratio;
00732 domImage_mipsRef elemMips;
00738 domUnnormalizedRef elemUnnormalized;
00739 domArrayRef elemArray;
00743 domFormatRef elemFormat;
00750 domInit_from_Array elemInit_from_array;
00754 daeElementRefArray _contents;
00758 daeUIntArray _contentsOrder;
00759
00763 daeTArray< daeCharArray * > _CMData;
00764
00765
00766 public:
00771 const domSize_exactRef getSize_exact() const { return elemSize_exact; }
00776 const domSize_ratioRef getSize_ratio() const { return elemSize_ratio; }
00781 const domImage_mipsRef getMips() const { return elemMips; }
00786 const domUnnormalizedRef getUnnormalized() const { return elemUnnormalized; }
00791 const domArrayRef getArray() const { return elemArray; }
00796 const domFormatRef getFormat() const { return elemFormat; }
00801 domInit_from_Array &getInit_from_array() { return elemInit_from_array; }
00806 const domInit_from_Array &getInit_from_array() const { return elemInit_from_array; }
00811 daeElementRefArray &getContents() { return _contents; }
00816 const daeElementRefArray &getContents() const { return _contents; }
00817
00818 protected:
00822 domCreate_2d(DAE& dae) : daeElement(dae), elemSize_exact(), elemSize_ratio(), elemMips(), elemUnnormalized(), elemArray(), elemFormat(), elemInit_from_array() {}
00826 virtual ~domCreate_2d() { daeElement::deleteCMDataArray(_CMData); }
00830 virtual domCreate_2d &operator=( const domCreate_2d &cpy ) { (void)cpy; return *this; }
00831
00832 public:
00837 static DLLSPEC daeElementRef create(DAE& dae);
00843 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00844 };
00845
00846 class domCreate_3d;
00847
00848 typedef daeSmartRef<domCreate_3d> domCreate_3dRef;
00849 typedef daeTArray<domCreate_3dRef> domCreate_3d_Array;
00850
00854 class domCreate_3d : public daeElement
00855 {
00856 public:
00857 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATE_3D; }
00858 static daeInt ID() { return 72; }
00859 virtual daeInt typeID() const { return ID(); }
00860 public:
00861 class domSize;
00862
00863 typedef daeSmartRef<domSize> domSizeRef;
00864 typedef daeTArray<domSizeRef> domSize_Array;
00865
00869 class domSize : public daeElement
00870 {
00871 public:
00872 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; }
00873 static daeInt ID() { return 73; }
00874 virtual daeInt typeID() const { return ID(); }
00875 protected:
00876 xsUnsignedInt attrWidth;
00877 xsUnsignedInt attrHeight;
00878 xsUnsignedInt attrDepth;
00879
00880
00881 public:
00886 xsUnsignedInt getWidth() const { return attrWidth; }
00891 void setWidth( xsUnsignedInt atWidth ) { attrWidth = atWidth; _validAttributeArray[0] = true; }
00892
00897 xsUnsignedInt getHeight() const { return attrHeight; }
00902 void setHeight( xsUnsignedInt atHeight ) { attrHeight = atHeight; _validAttributeArray[1] = true; }
00903
00908 xsUnsignedInt getDepth() const { return attrDepth; }
00913 void setDepth( xsUnsignedInt atDepth ) { attrDepth = atDepth; _validAttributeArray[2] = true; }
00914
00915 protected:
00919 domSize(DAE& dae) : daeElement(dae), attrWidth(), attrHeight(), attrDepth() {}
00923 virtual ~domSize() {}
00927 virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; }
00928
00929 public:
00934 static DLLSPEC daeElementRef create(DAE& dae);
00940 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00941 };
00942
00943 class domArray;
00944
00945 typedef daeSmartRef<domArray> domArrayRef;
00946 typedef daeTArray<domArrayRef> domArray_Array;
00947
00948 class domArray : public daeElement
00949 {
00950 public:
00951 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ARRAY; }
00952 static daeInt ID() { return 74; }
00953 virtual daeInt typeID() const { return ID(); }
00954 protected:
00958 xsUnsignedInt attrLength;
00959
00960
00961 public:
00966 xsUnsignedInt getLength() const { return attrLength; }
00971 void setLength( xsUnsignedInt atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
00972
00973 protected:
00977 domArray(DAE& dae) : daeElement(dae), attrLength() {}
00981 virtual ~domArray() {}
00985 virtual domArray &operator=( const domArray &cpy ) { (void)cpy; return *this; }
00986
00987 public:
00992 static DLLSPEC daeElementRef create(DAE& dae);
00998 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00999 };
01000
01001 class domFormat;
01002
01003 typedef daeSmartRef<domFormat> domFormatRef;
01004 typedef daeTArray<domFormatRef> domFormat_Array;
01005
01009 class domFormat : public daeElement
01010 {
01011 public:
01012 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMAT; }
01013 static daeInt ID() { return 75; }
01014 virtual daeInt typeID() const { return ID(); }
01015 public:
01016 class domHint;
01017
01018 typedef daeSmartRef<domHint> domHintRef;
01019 typedef daeTArray<domHintRef> domHint_Array;
01020
01025 class domHint : public daeElement
01026 {
01027 public:
01028 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HINT; }
01029 static daeInt ID() { return 76; }
01030 virtual daeInt typeID() const { return ID(); }
01031 protected:
01037 domImage_format_hint_channels attrChannels;
01043 domImage_format_hint_range attrRange;
01050 domImage_format_hint_precision attrPrecision;
01054 xsToken attrSpace;
01055
01056
01057 public:
01062 domImage_format_hint_channels getChannels() const { return attrChannels; }
01067 void setChannels( domImage_format_hint_channels atChannels ) { attrChannels = atChannels; _validAttributeArray[0] = true; }
01068
01073 domImage_format_hint_range getRange() const { return attrRange; }
01078 void setRange( domImage_format_hint_range atRange ) { attrRange = atRange; _validAttributeArray[1] = true; }
01079
01084 domImage_format_hint_precision getPrecision() const { return attrPrecision; }
01089 void setPrecision( domImage_format_hint_precision atPrecision ) { attrPrecision = atPrecision; _validAttributeArray[2] = true; }
01090
01095 xsToken getSpace() const { return attrSpace; }
01100 void setSpace( xsToken atSpace ) { *(daeStringRef*)&attrSpace = atSpace; _validAttributeArray[3] = true; }
01101
01102 protected:
01106 domHint(DAE& dae) : daeElement(dae), attrChannels(), attrRange(), attrPrecision(), attrSpace() {}
01110 virtual ~domHint() {}
01114 virtual domHint &operator=( const domHint &cpy ) { (void)cpy; return *this; }
01115
01116 public:
01121 static DLLSPEC daeElementRef create(DAE& dae);
01127 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01128 };
01129
01130 class domExact;
01131
01132 typedef daeSmartRef<domExact> domExactRef;
01133 typedef daeTArray<domExactRef> domExact_Array;
01134
01140 class domExact : public daeElement
01141 {
01142 public:
01143 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EXACT; }
01144 static daeInt ID() { return 77; }
01145 virtual daeInt typeID() const { return ID(); }
01146
01147
01148 public:
01153 xsToken getValue() const { return _value; }
01158 void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
01159
01160 protected:
01164 xsToken _value;
01165 protected:
01169 domExact(DAE& dae) : daeElement(dae), _value() {}
01173 virtual ~domExact() {}
01177 virtual domExact &operator=( const domExact &cpy ) { (void)cpy; return *this; }
01178
01179 public:
01184 static DLLSPEC daeElementRef create(DAE& dae);
01190 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01191 };
01192
01193
01194
01195 protected:
01200 domHintRef elemHint;
01206 domExactRef elemExact;
01207
01208 public:
01213 const domHintRef getHint() const { return elemHint; }
01218 const domExactRef getExact() const { return elemExact; }
01219 protected:
01223 domFormat(DAE& dae) : daeElement(dae), elemHint(), elemExact() {}
01227 virtual ~domFormat() {}
01231 virtual domFormat &operator=( const domFormat &cpy ) { (void)cpy; return *this; }
01232
01233 public:
01238 static DLLSPEC daeElementRef create(DAE& dae);
01244 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01245 };
01246
01247 class domInit_from;
01248
01249 typedef daeSmartRef<domInit_from> domInit_fromRef;
01250 typedef daeTArray<domInit_fromRef> domInit_from_Array;
01251
01257 class domInit_from : public domImage_source
01258 {
01259 public:
01260 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
01261 static daeInt ID() { return 78; }
01262 virtual daeInt typeID() const { return ID(); }
01263 protected:
01264 xsUnsignedInt attrDepth;
01265 xsUnsignedInt attrMip_index;
01266 xsUnsignedInt attrArray_index;
01267
01268
01269 public:
01274 xsUnsignedInt getDepth() const { return attrDepth; }
01279 void setDepth( xsUnsignedInt atDepth ) { attrDepth = atDepth; _validAttributeArray[0] = true; }
01280
01285 xsUnsignedInt getMip_index() const { return attrMip_index; }
01290 void setMip_index( xsUnsignedInt atMip_index ) { attrMip_index = atMip_index; _validAttributeArray[1] = true; }
01291
01296 xsUnsignedInt getArray_index() const { return attrArray_index; }
01301 void setArray_index( xsUnsignedInt atArray_index ) { attrArray_index = atArray_index; _validAttributeArray[2] = true; }
01302
01303 protected:
01307 domInit_from(DAE& dae) : domImage_source(dae), attrDepth(), attrMip_index(), attrArray_index() {}
01311 virtual ~domInit_from() {}
01315 virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
01316
01317 public:
01322 static DLLSPEC daeElementRef create(DAE& dae);
01328 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01329 };
01330
01331
01332
01333 protected:
01337 domSizeRef elemSize;
01338 domImage_mipsRef elemMips;
01339 domArrayRef elemArray;
01343 domFormatRef elemFormat;
01350 domInit_from_Array elemInit_from_array;
01351
01352 public:
01357 const domSizeRef getSize() const { return elemSize; }
01362 const domImage_mipsRef getMips() const { return elemMips; }
01367 const domArrayRef getArray() const { return elemArray; }
01372 const domFormatRef getFormat() const { return elemFormat; }
01377 domInit_from_Array &getInit_from_array() { return elemInit_from_array; }
01382 const domInit_from_Array &getInit_from_array() const { return elemInit_from_array; }
01383 protected:
01387 domCreate_3d(DAE& dae) : daeElement(dae), elemSize(), elemMips(), elemArray(), elemFormat(), elemInit_from_array() {}
01391 virtual ~domCreate_3d() {}
01395 virtual domCreate_3d &operator=( const domCreate_3d &cpy ) { (void)cpy; return *this; }
01396
01397 public:
01402 static DLLSPEC daeElementRef create(DAE& dae);
01408 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01409 };
01410
01411 class domCreate_cube;
01412
01413 typedef daeSmartRef<domCreate_cube> domCreate_cubeRef;
01414 typedef daeTArray<domCreate_cubeRef> domCreate_cube_Array;
01415
01419 class domCreate_cube : public daeElement
01420 {
01421 public:
01422 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATE_CUBE; }
01423 static daeInt ID() { return 79; }
01424 virtual daeInt typeID() const { return ID(); }
01425 public:
01426 class domSize;
01427
01428 typedef daeSmartRef<domSize> domSizeRef;
01429 typedef daeTArray<domSizeRef> domSize_Array;
01430
01434 class domSize : public daeElement
01435 {
01436 public:
01437 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; }
01438 static daeInt ID() { return 80; }
01439 virtual daeInt typeID() const { return ID(); }
01440 protected:
01441 xsUnsignedInt attrWidth;
01442
01443
01444 public:
01449 xsUnsignedInt getWidth() const { return attrWidth; }
01454 void setWidth( xsUnsignedInt atWidth ) { attrWidth = atWidth; _validAttributeArray[0] = true; }
01455
01456 protected:
01460 domSize(DAE& dae) : daeElement(dae), attrWidth() {}
01464 virtual ~domSize() {}
01468 virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; }
01469
01470 public:
01475 static DLLSPEC daeElementRef create(DAE& dae);
01481 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01482 };
01483
01484 class domArray;
01485
01486 typedef daeSmartRef<domArray> domArrayRef;
01487 typedef daeTArray<domArrayRef> domArray_Array;
01488
01489 class domArray : public daeElement
01490 {
01491 public:
01492 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ARRAY; }
01493 static daeInt ID() { return 81; }
01494 virtual daeInt typeID() const { return ID(); }
01495 protected:
01499 xsUnsignedInt attrLength;
01500
01501
01502 public:
01507 xsUnsignedInt getLength() const { return attrLength; }
01512 void setLength( xsUnsignedInt atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
01513
01514 protected:
01518 domArray(DAE& dae) : daeElement(dae), attrLength() {}
01522 virtual ~domArray() {}
01526 virtual domArray &operator=( const domArray &cpy ) { (void)cpy; return *this; }
01527
01528 public:
01533 static DLLSPEC daeElementRef create(DAE& dae);
01539 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01540 };
01541
01542 class domFormat;
01543
01544 typedef daeSmartRef<domFormat> domFormatRef;
01545 typedef daeTArray<domFormatRef> domFormat_Array;
01546
01550 class domFormat : public daeElement
01551 {
01552 public:
01553 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMAT; }
01554 static daeInt ID() { return 82; }
01555 virtual daeInt typeID() const { return ID(); }
01556 public:
01557 class domHint;
01558
01559 typedef daeSmartRef<domHint> domHintRef;
01560 typedef daeTArray<domHintRef> domHint_Array;
01561
01566 class domHint : public daeElement
01567 {
01568 public:
01569 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HINT; }
01570 static daeInt ID() { return 83; }
01571 virtual daeInt typeID() const { return ID(); }
01572 protected:
01578 domImage_format_hint_channels attrChannels;
01584 domImage_format_hint_range attrRange;
01591 domImage_format_hint_precision attrPrecision;
01595 xsToken attrSpace;
01596
01597
01598 public:
01603 domImage_format_hint_channels getChannels() const { return attrChannels; }
01608 void setChannels( domImage_format_hint_channels atChannels ) { attrChannels = atChannels; _validAttributeArray[0] = true; }
01609
01614 domImage_format_hint_range getRange() const { return attrRange; }
01619 void setRange( domImage_format_hint_range atRange ) { attrRange = atRange; _validAttributeArray[1] = true; }
01620
01625 domImage_format_hint_precision getPrecision() const { return attrPrecision; }
01630 void setPrecision( domImage_format_hint_precision atPrecision ) { attrPrecision = atPrecision; _validAttributeArray[2] = true; }
01631
01636 xsToken getSpace() const { return attrSpace; }
01641 void setSpace( xsToken atSpace ) { *(daeStringRef*)&attrSpace = atSpace; _validAttributeArray[3] = true; }
01642
01643 protected:
01647 domHint(DAE& dae) : daeElement(dae), attrChannels(), attrRange(), attrPrecision(), attrSpace() {}
01651 virtual ~domHint() {}
01655 virtual domHint &operator=( const domHint &cpy ) { (void)cpy; return *this; }
01656
01657 public:
01662 static DLLSPEC daeElementRef create(DAE& dae);
01668 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01669 };
01670
01671 class domExact;
01672
01673 typedef daeSmartRef<domExact> domExactRef;
01674 typedef daeTArray<domExactRef> domExact_Array;
01675
01681 class domExact : public daeElement
01682 {
01683 public:
01684 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EXACT; }
01685 static daeInt ID() { return 84; }
01686 virtual daeInt typeID() const { return ID(); }
01687
01688
01689 public:
01694 xsToken getValue() const { return _value; }
01699 void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
01700
01701 protected:
01705 xsToken _value;
01706 protected:
01710 domExact(DAE& dae) : daeElement(dae), _value() {}
01714 virtual ~domExact() {}
01718 virtual domExact &operator=( const domExact &cpy ) { (void)cpy; return *this; }
01719
01720 public:
01725 static DLLSPEC daeElementRef create(DAE& dae);
01731 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01732 };
01733
01734
01735
01736 protected:
01741 domHintRef elemHint;
01747 domExactRef elemExact;
01748
01749 public:
01754 const domHintRef getHint() const { return elemHint; }
01759 const domExactRef getExact() const { return elemExact; }
01760 protected:
01764 domFormat(DAE& dae) : daeElement(dae), elemHint(), elemExact() {}
01768 virtual ~domFormat() {}
01772 virtual domFormat &operator=( const domFormat &cpy ) { (void)cpy; return *this; }
01773
01774 public:
01779 static DLLSPEC daeElementRef create(DAE& dae);
01785 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01786 };
01787
01788 class domInit_from;
01789
01790 typedef daeSmartRef<domInit_from> domInit_fromRef;
01791 typedef daeTArray<domInit_fromRef> domInit_from_Array;
01792
01798 class domInit_from : public domImage_source
01799 {
01800 public:
01801 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
01802 static daeInt ID() { return 85; }
01803 virtual daeInt typeID() const { return ID(); }
01804 protected:
01805 domImage_face attrFace;
01806 xsUnsignedInt attrMip_index;
01807 xsUnsignedInt attrArray_index;
01808
01809
01810 public:
01815 domImage_face getFace() const { return attrFace; }
01820 void setFace( domImage_face atFace ) { attrFace = atFace; _validAttributeArray[0] = true; }
01821
01826 xsUnsignedInt getMip_index() const { return attrMip_index; }
01831 void setMip_index( xsUnsignedInt atMip_index ) { attrMip_index = atMip_index; _validAttributeArray[1] = true; }
01832
01837 xsUnsignedInt getArray_index() const { return attrArray_index; }
01842 void setArray_index( xsUnsignedInt atArray_index ) { attrArray_index = atArray_index; _validAttributeArray[2] = true; }
01843
01844 protected:
01848 domInit_from(DAE& dae) : domImage_source(dae), attrFace(), attrMip_index(), attrArray_index() {}
01852 virtual ~domInit_from() {}
01856 virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
01857
01858 public:
01863 static DLLSPEC daeElementRef create(DAE& dae);
01869 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01870 };
01871
01872
01873
01874 protected:
01878 domSizeRef elemSize;
01879 domImage_mipsRef elemMips;
01880 domArrayRef elemArray;
01884 domFormatRef elemFormat;
01891 domInit_from_Array elemInit_from_array;
01892
01893 public:
01898 const domSizeRef getSize() const { return elemSize; }
01903 const domImage_mipsRef getMips() const { return elemMips; }
01908 const domArrayRef getArray() const { return elemArray; }
01913 const domFormatRef getFormat() const { return elemFormat; }
01918 domInit_from_Array &getInit_from_array() { return elemInit_from_array; }
01923 const domInit_from_Array &getInit_from_array() const { return elemInit_from_array; }
01924 protected:
01928 domCreate_cube(DAE& dae) : daeElement(dae), elemSize(), elemMips(), elemArray(), elemFormat(), elemInit_from_array() {}
01932 virtual ~domCreate_cube() {}
01936 virtual domCreate_cube &operator=( const domCreate_cube &cpy ) { (void)cpy; return *this; }
01937
01938 public:
01943 static DLLSPEC daeElementRef create(DAE& dae);
01949 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01950 };
01951
01952
01953 protected:
01959 xsID attrId;
01963 domSid attrSid;
01967 xsToken attrName;
01968
01969 protected:
01973 domAssetRef elemAsset;
01977 domRenderableRef elemRenderable;
01982 domInit_fromRef elemInit_from;
01986 domCreate_2dRef elemCreate_2d;
01990 domCreate_3dRef elemCreate_3d;
01994 domCreate_cubeRef elemCreate_cube;
01998 domExtra_Array elemExtra_array;
02002 daeElementRefArray _contents;
02006 daeUIntArray _contentsOrder;
02007
02011 daeTArray< daeCharArray * > _CMData;
02012
02013
02014 public:
02019 xsID getId() const { return attrId; }
02024 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
02025 if( _document != NULL ) _document->changeElementID( this, attrId );
02026 }
02027
02032 domSid getSid() const { return attrSid; }
02037 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
02038
02043 xsToken getName() const { return attrName; }
02048 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
02049
02054 const domAssetRef getAsset() const { return elemAsset; }
02059 const domRenderableRef getRenderable() const { return elemRenderable; }
02064 const domInit_fromRef getInit_from() const { return elemInit_from; }
02069 const domCreate_2dRef getCreate_2d() const { return elemCreate_2d; }
02074 const domCreate_3dRef getCreate_3d() const { return elemCreate_3d; }
02079 const domCreate_cubeRef getCreate_cube() const { return elemCreate_cube; }
02084 domExtra_Array &getExtra_array() { return elemExtra_array; }
02089 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
02094 daeElementRefArray &getContents() { return _contents; }
02099 const daeElementRefArray &getContents() const { return _contents; }
02100
02101 protected:
02105 domImage(DAE& dae) : daeElement(dae), attrId(), attrSid(), attrName(), elemAsset(), elemRenderable(), elemInit_from(), elemCreate_2d(), elemCreate_3d(), elemCreate_cube(), elemExtra_array() {}
02109 virtual ~domImage() { daeElement::deleteCMDataArray(_CMData); }
02113 virtual domImage &operator=( const domImage &cpy ) { (void)cpy; return *this; }
02114
02115 public:
02120 static DLLSPEC daeElementRef create(DAE& dae);
02126 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
02127 };
02128
02129
02130 #endif