00001 #ifndef __domVisual_scene_h__
00002 #define __domVisual_scene_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/domNode.h>
00010 #include <dom/domExtra.h>
00011 class DAE;
00012
00019 class domVisual_scene : public daeElement
00020 {
00021 public:
00022 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VISUAL_SCENE; }
00023 static daeInt ID() { return 388; }
00024 virtual daeInt typeID() const { return ID(); }
00025 public:
00026 class domEvaluate_scene;
00027
00028 typedef daeSmartRef<domEvaluate_scene> domEvaluate_sceneRef;
00029 typedef daeTArray<domEvaluate_sceneRef> domEvaluate_scene_Array;
00030
00037 class domEvaluate_scene : public daeElement
00038 {
00039 public:
00040 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE_SCENE; }
00041 static daeInt ID() { return 389; }
00042 virtual daeInt typeID() const { return ID(); }
00043 public:
00044 class domRender;
00045
00046 typedef daeSmartRef<domRender> domRenderRef;
00047 typedef daeTArray<domRenderRef> domRender_Array;
00048
00053 class domRender : public daeElement
00054 {
00055 public:
00056 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RENDER; }
00057 static daeInt ID() { return 390; }
00058 virtual daeInt typeID() const { return ID(); }
00059 public:
00060 class domLayer;
00061
00062 typedef daeSmartRef<domLayer> domLayerRef;
00063 typedef daeTArray<domLayerRef> domLayer_Array;
00064
00070 class domLayer : public daeElement
00071 {
00072 public:
00073 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LAYER; }
00074 static daeInt ID() { return 391; }
00075 virtual daeInt typeID() const { return ID(); }
00076
00077
00078 public:
00083 xsNCName getValue() const { return _value; }
00088 void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
00089
00090 protected:
00094 xsNCName _value;
00095 protected:
00099 domLayer(DAE& dae) : daeElement(dae), _value() {}
00103 virtual ~domLayer() {}
00107 virtual domLayer &operator=( const domLayer &cpy ) { (void)cpy; return *this; }
00108
00109 public:
00114 static DLLSPEC daeElementRef create(DAE& dae);
00120 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00121 };
00122
00123 class domInstance_material;
00124
00125 typedef daeSmartRef<domInstance_material> domInstance_materialRef;
00126 typedef daeTArray<domInstance_materialRef> domInstance_material_Array;
00127
00132 class domInstance_material : public daeElement
00133 {
00134 public:
00135 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_MATERIAL; }
00136 static daeInt ID() { return 392; }
00137 virtual daeInt typeID() const { return ID(); }
00138 public:
00139 class domTechnique_override;
00140
00141 typedef daeSmartRef<domTechnique_override> domTechnique_overrideRef;
00142 typedef daeTArray<domTechnique_overrideRef> domTechnique_override_Array;
00143
00144 class domTechnique_override : public daeElement
00145 {
00146 public:
00147 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_OVERRIDE; }
00148 static daeInt ID() { return 393; }
00149 virtual daeInt typeID() const { return ID(); }
00150 protected:
00154 xsNCName attrRef;
00158 xsNCName attrPass;
00159
00160
00161 public:
00166 xsNCName getRef() const { return attrRef; }
00171 void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
00172
00177 xsNCName getPass() const { return attrPass; }
00182 void setPass( xsNCName atPass ) { *(daeStringRef*)&attrPass = atPass; _validAttributeArray[1] = true; }
00183
00184 protected:
00188 domTechnique_override(DAE& dae) : daeElement(dae), attrRef(), attrPass() {}
00192 virtual ~domTechnique_override() {}
00196 virtual domTechnique_override &operator=( const domTechnique_override &cpy ) { (void)cpy; return *this; }
00197
00198 public:
00203 static DLLSPEC daeElementRef create(DAE& dae);
00209 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00210 };
00211
00212 class domBind;
00213
00214 typedef daeSmartRef<domBind> domBindRef;
00215 typedef daeTArray<domBindRef> domBind_Array;
00216
00220 class domBind : public daeElement
00221 {
00222 public:
00223 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND; }
00224 static daeInt ID() { return 394; }
00225 virtual daeInt typeID() const { return ID(); }
00226 protected:
00230 xsNCName attrSemantic;
00236 xsToken attrTarget;
00237
00238
00239 public:
00244 xsNCName getSemantic() const { return attrSemantic; }
00249 void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
00250
00255 xsToken getTarget() const { return attrTarget; }
00260 void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget; _validAttributeArray[1] = true; }
00261
00262 protected:
00266 domBind(DAE& dae) : daeElement(dae), attrSemantic(), attrTarget() {}
00270 virtual ~domBind() {}
00274 virtual domBind &operator=( const domBind &cpy ) { (void)cpy; return *this; }
00275
00276 public:
00281 static DLLSPEC daeElementRef create(DAE& dae);
00287 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00288 };
00289
00290
00291 protected:
00295 xsAnyURI attrUrl;
00296
00297 protected:
00298 domTechnique_overrideRef elemTechnique_override;
00303 domBind_Array elemBind_array;
00307 domExtra_Array elemExtra_array;
00308
00309 public:
00314 xsAnyURI &getUrl() { return attrUrl; }
00319 const xsAnyURI &getUrl() const { return attrUrl; }
00324 void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
00329 void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
00330
00335 const domTechnique_overrideRef getTechnique_override() const { return elemTechnique_override; }
00340 domBind_Array &getBind_array() { return elemBind_array; }
00345 const domBind_Array &getBind_array() const { return elemBind_array; }
00350 domExtra_Array &getExtra_array() { return elemExtra_array; }
00355 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00356 protected:
00360 domInstance_material(DAE& dae) : daeElement(dae), attrUrl(dae, *this), elemTechnique_override(), elemBind_array(), elemExtra_array() {}
00364 virtual ~domInstance_material() {}
00368 virtual domInstance_material &operator=( const domInstance_material &cpy ) { (void)cpy; return *this; }
00369
00370 public:
00375 static DLLSPEC daeElementRef create(DAE& dae);
00381 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00382 };
00383
00384
00385 protected:
00386 domSid attrSid;
00390 xsToken attrName;
00395 xsAnyURI attrCamera_node;
00396
00397 protected:
00403 domLayer_Array elemLayer_array;
00408 domInstance_materialRef elemInstance_material;
00412 domExtra_Array elemExtra_array;
00413
00414 public:
00419 domSid getSid() const { return attrSid; }
00424 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00425
00430 xsToken getName() const { return attrName; }
00435 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
00436
00441 xsAnyURI &getCamera_node() { return attrCamera_node; }
00446 const xsAnyURI &getCamera_node() const { return attrCamera_node; }
00451 void setCamera_node( const xsAnyURI &atCamera_node ) { attrCamera_node = atCamera_node; _validAttributeArray[2] = true; }
00456 void setCamera_node( xsString atCamera_node ) { attrCamera_node = atCamera_node; _validAttributeArray[2] = true; }
00457
00462 domLayer_Array &getLayer_array() { return elemLayer_array; }
00467 const domLayer_Array &getLayer_array() const { return elemLayer_array; }
00472 const domInstance_materialRef getInstance_material() const { return elemInstance_material; }
00477 domExtra_Array &getExtra_array() { return elemExtra_array; }
00482 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00483 protected:
00487 domRender(DAE& dae) : daeElement(dae), attrSid(), attrName(), attrCamera_node(dae, *this), elemLayer_array(), elemInstance_material(), elemExtra_array() {}
00491 virtual ~domRender() {}
00495 virtual domRender &operator=( const domRender &cpy ) { (void)cpy; return *this; }
00496
00497 public:
00502 static DLLSPEC daeElementRef create(DAE& dae);
00508 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00509 };
00510
00511
00512 protected:
00513 xsID attrId;
00514 domSid attrSid;
00515 xsToken attrName;
00520 xsBoolean attrEnable;
00521
00522 protected:
00523 domAssetRef elemAsset;
00528 domRender_Array elemRender_array;
00532 domExtra_Array elemExtra_array;
00533
00534 public:
00539 xsID getId() const { return attrId; }
00544 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
00545 if( _document != NULL ) _document->changeElementID( this, attrId );
00546 }
00547
00552 domSid getSid() const { return attrSid; }
00557 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
00558
00563 xsToken getName() const { return attrName; }
00568 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
00569
00574 xsBoolean getEnable() const { return attrEnable; }
00579 void setEnable( xsBoolean atEnable ) { attrEnable = atEnable; _validAttributeArray[3] = true; }
00580
00585 const domAssetRef getAsset() const { return elemAsset; }
00590 domRender_Array &getRender_array() { return elemRender_array; }
00595 const domRender_Array &getRender_array() const { return elemRender_array; }
00600 domExtra_Array &getExtra_array() { return elemExtra_array; }
00605 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00606 protected:
00610 domEvaluate_scene(DAE& dae) : daeElement(dae), attrId(), attrSid(), attrName(), attrEnable(), elemAsset(), elemRender_array(), elemExtra_array() {}
00614 virtual ~domEvaluate_scene() {}
00618 virtual domEvaluate_scene &operator=( const domEvaluate_scene &cpy ) { (void)cpy; return *this; }
00619
00620 public:
00625 static DLLSPEC daeElementRef create(DAE& dae);
00631 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00632 };
00633
00634
00635 protected:
00641 xsID attrId;
00645 xsToken attrName;
00646
00647 protected:
00651 domAssetRef elemAsset;
00655 domNode_Array elemNode_array;
00662 domEvaluate_scene_Array elemEvaluate_scene_array;
00666 domExtra_Array elemExtra_array;
00667
00668 public:
00673 xsID getId() const { return attrId; }
00678 void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
00679 if( _document != NULL ) _document->changeElementID( this, attrId );
00680 }
00681
00686 xsToken getName() const { return attrName; }
00691 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
00692
00697 const domAssetRef getAsset() const { return elemAsset; }
00702 domNode_Array &getNode_array() { return elemNode_array; }
00707 const domNode_Array &getNode_array() const { return elemNode_array; }
00712 domEvaluate_scene_Array &getEvaluate_scene_array() { return elemEvaluate_scene_array; }
00717 const domEvaluate_scene_Array &getEvaluate_scene_array() const { return elemEvaluate_scene_array; }
00722 domExtra_Array &getExtra_array() { return elemExtra_array; }
00727 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00728 protected:
00732 domVisual_scene(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemNode_array(), elemEvaluate_scene_array(), elemExtra_array() {}
00736 virtual ~domVisual_scene() {}
00740 virtual domVisual_scene &operator=( const domVisual_scene &cpy ) { (void)cpy; return *this; }
00741
00742 public:
00747 static DLLSPEC daeElementRef create(DAE& dae);
00753 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00754 };
00755
00756
00757 #endif