diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domAccessor.h b/Extras/COLLADA_DOM/include/1.4/dom/domAccessor.h index 19a6545d2..5ba53cccf 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domAccessor.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domAccessor.h @@ -65,7 +65,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[0] = true; } /** * Gets the offset attribute. @@ -76,7 +77,8 @@ public: //Accessors and Mutators * Sets the offset attribute. * @param atOffset The new value for the offset attribute. */ - void setOffset( domUint atOffset ) { attrOffset = atOffset; } + void setOffset( domUint atOffset ) { attrOffset = atOffset; + _validAttributeArray[1] = true; } /** * Gets the source attribute. @@ -92,7 +94,8 @@ public: //Accessors and Mutators * Sets the source attribute. * @param atSource The new value for the source attribute. */ - void setSource( const xsAnyURI &atSource ) { attrSource.setURI( atSource.getURI() ); } + void setSource( const xsAnyURI &atSource ) { attrSource.setURI( atSource.getURI() ); + _validAttributeArray[2] = true; } /** * Gets the stride attribute. @@ -103,7 +106,8 @@ public: //Accessors and Mutators * Sets the stride attribute. * @param atStride The new value for the stride attribute. */ - void setStride( domUint atStride ) { attrStride = atStride; } + void setStride( domUint atStride ) { attrStride = atStride; + _validAttributeArray[3] = true; } /** * Gets the param element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domAnimation.h b/Extras/COLLADA_DOM/include/1.4/dom/domAnimation.h index 8265a634d..be292a752 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domAnimation.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domAnimation.h @@ -76,6 +76,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -88,7 +92,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -99,7 +104,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domAnimation_clip.h b/Extras/COLLADA_DOM/include/1.4/dom/domAnimation_clip.h index 80a443fdc..f0c395431 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domAnimation_clip.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domAnimation_clip.h @@ -78,7 +78,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -89,7 +90,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the start attribute. @@ -100,7 +102,8 @@ public: //Accessors and Mutators * Sets the start attribute. * @param atStart The new value for the start attribute. */ - void setStart( xsDouble atStart ) { attrStart = atStart; } + void setStart( xsDouble atStart ) { attrStart = atStart; + _validAttributeArray[2] = true; } /** * Gets the end attribute. @@ -111,7 +114,8 @@ public: //Accessors and Mutators * Sets the end attribute. * @param atEnd The new value for the end attribute. */ - void setEnd( xsDouble atEnd ) { attrEnd = atEnd; } + void setEnd( xsDouble atEnd ) { attrEnd = atEnd; + _validAttributeArray[3] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domAsset.h b/Extras/COLLADA_DOM/include/1.4/dom/domAsset.h index aa37f9003..d4b6b0285 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domAsset.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domAsset.h @@ -56,14 +56,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -125,14 +125,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -194,14 +194,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -263,14 +263,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -501,14 +501,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsDateTime of the value. + * @return Returns a xsDateTime of the value. */ xsDateTime getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsDateTime val ) { _value = val; } + void setValue( xsDateTime val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -570,14 +570,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -640,14 +640,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsDateTime of the value. + * @return Returns a xsDateTime of the value. */ xsDateTime getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsDateTime val ) { _value = val; } + void setValue( xsDateTime val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -709,14 +709,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -778,14 +778,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -847,14 +847,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -930,7 +930,8 @@ public: * Sets the meter attribute. * @param atMeter The new value for the meter attribute. */ - void setMeter( domFloat atMeter ) { attrMeter = atMeter; } + void setMeter( domFloat atMeter ) { attrMeter = atMeter; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -941,7 +942,8 @@ public: * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNMTOKEN atName ) { attrName = atName; } + void setName( xsNMTOKEN atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } protected: /** diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domBind_material.h b/Extras/COLLADA_DOM/include/1.4/dom/domBind_material.h index 06c43ebf6..1821a6887 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domBind_material.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domBind_material.h @@ -18,6 +18,7 @@ #include #include +#include #include /** @@ -33,8 +34,8 @@ public: typedef daeTArray domTechnique_common_Array; /** - * The technique_common element specifies the instance_rigid_body information - * for the common profile which all COLLADA implementations need to support. + * The technique_common element specifies the bind_material information for + * the common profile which all COLLADA implementations need to support. */ class domTechnique_common : public daeElement { @@ -106,8 +107,8 @@ protected: // Elements */ domParam_Array elemParam_array; /** - * The technique_common element specifies the instance_rigid_body information - * for the common profile which all COLLADA implementations need to support. + * The technique_common element specifies the bind_material information for + * the common profile which all COLLADA implementations need to support. * @see domTechnique_common */ domTechnique_commonRef elemTechnique_common; @@ -116,6 +117,10 @@ protected: // Elements * @see domTechnique */ domTechnique_Array elemTechnique_array; +/** + * The extra element may appear any number of times. @see domExtra + */ + domExtra_Array elemExtra_array; public: //Accessors and Mutators /** @@ -143,11 +148,21 @@ public: //Accessors and Mutators * @return Returns a constant reference to the array of technique elements. */ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } protected: /** * Constructor */ - domBind_material() : elemParam_array(), elemTechnique_common(), elemTechnique_array() {} + domBind_material() : elemParam_array(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domBool_array.h b/Extras/COLLADA_DOM/include/1.4/dom/domBool_array.h index 5d5bacb94..c4988ccd4 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domBool_array.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domBool_array.h @@ -56,7 +56,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -67,7 +68,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the count attribute. @@ -78,7 +80,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[2] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCOLLADA.h b/Extras/COLLADA_DOM/include/1.4/dom/domCOLLADA.h index 009c2b6b8..aefb1ad14 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCOLLADA.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCOLLADA.h @@ -60,8 +60,8 @@ public: protected: // Elements /** * The instance_physics_scene element declares the instantiation of a COLLADA - * physics_scene resource. The instance_physics_scene element may only appear - * once. @see domInstance_physics_scene + * physics_scene resource. The instance_physics_scene element may appear any + * number of times. @see domInstance_physics_scene */ domInstanceWithExtra_Array elemInstance_physics_scene_array; /** @@ -141,7 +141,7 @@ public: }; -protected: // Attribute +protected: // Attributes /** * This element may specify its own xmlns. */ @@ -151,6 +151,11 @@ protected: // Attribute * document conforms. Required Attribute. */ domVersionType attrVersion; +/** + * The xml:base attribute allows you to define the base URI for this COLLADA + * document. See http://www.w3.org/TR/xmlbase/ for more information. + */ + xsAnyURI attrXml_base; protected: // Elements /** @@ -248,6 +253,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -265,7 +274,8 @@ public: //Accessors and Mutators * Sets the xmlns attribute. * @param xmlns The new value for the xmlns attribute. */ - void setXmlns( const xsAnyURI &xmlns ) { attrXmlns.setURI( xmlns.getURI() ); } + void setXmlns( const xsAnyURI &xmlns ) { attrXmlns.setURI( xmlns.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the version attribute. @@ -276,7 +286,25 @@ public: //Accessors and Mutators * Sets the version attribute. * @param atVersion The new value for the version attribute. */ - void setVersion( domVersionType atVersion ) { attrVersion = atVersion; } + void setVersion( domVersionType atVersion ) { attrVersion = atVersion; + _validAttributeArray[1] = true; } + + /** + * Gets the xml_base attribute. + * @return Returns a xsAnyURI reference of the xml_base attribute. + */ + xsAnyURI &getXml_base() { return attrXml_base; } + /** + * Gets the xml_base attribute. + * @return Returns a constant xsAnyURI reference of the xml_base attribute. + */ + const xsAnyURI &getXml_base() const { return attrXml_base; } + /** + * Sets the xml_base attribute. + * @param atXml_base The new value for the xml_base attribute. + */ + void setXml_base( const xsAnyURI &atXml_base ) { attrXml_base.setURI( atXml_base.getURI() ); + _validAttributeArray[2] = true; } /** * Gets the asset element. @@ -463,7 +491,7 @@ protected: /** * Constructor */ - domCOLLADA() : attrVersion(), elemAsset(), elemLibrary_animations_array(), elemLibrary_animation_clips_array(), elemLibrary_cameras_array(), elemLibrary_controllers_array(), elemLibrary_geometries_array(), elemLibrary_effects_array(), elemLibrary_force_fields_array(), elemLibrary_images_array(), elemLibrary_lights_array(), elemLibrary_materials_array(), elemLibrary_nodes_array(), elemLibrary_physics_materials_array(), elemLibrary_physics_models_array(), elemLibrary_physics_scenes_array(), elemLibrary_visual_scenes_array(), elemScene(), elemExtra_array() {} + domCOLLADA() : attrVersion(), attrXml_base(), elemAsset(), elemLibrary_animations_array(), elemLibrary_animation_clips_array(), elemLibrary_cameras_array(), elemLibrary_controllers_array(), elemLibrary_geometries_array(), elemLibrary_effects_array(), elemLibrary_force_fields_array(), elemLibrary_images_array(), elemLibrary_lights_array(), elemLibrary_materials_array(), elemLibrary_nodes_array(), elemLibrary_physics_materials_array(), elemLibrary_physics_models_array(), elemLibrary_physics_scenes_array(), elemLibrary_visual_scenes_array(), elemScene(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCamera.h b/Extras/COLLADA_DOM/include/1.4/dom/domCamera.h index 83627bfe1..d0ddda52d 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCamera.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCamera.h @@ -98,6 +98,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -194,7 +198,7 @@ public: */ domTargetableFloatRef elemXfov; /** - * The yfov element contains a floating point number describing the horizontal + * The yfov element contains a floating point number describing the verticle * field of view in degrees. @see domYfov */ domTargetableFloatRef elemYfov; @@ -221,6 +225,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -316,6 +324,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -587,7 +599,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -598,7 +611,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_connect_param.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_connect_param.h index 5e6b48d53..b357c962a 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_connect_param.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_connect_param.h @@ -62,6 +62,20 @@ protected: */ class domCg_connect_param : public daeElement, public domCg_connect_param_complexType { + +public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a domCg_identifier of the ref attribute. + */ + domCg_identifier getRef() const { return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( domCg_identifier atRef ) { attrRef = atRef; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_newarray_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_newarray_type.h index a6156e350..8725f2eb9 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_newarray_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_newarray_type.h @@ -48,6 +48,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -137,6 +141,20 @@ protected: */ class domCg_newarray_type : public daeElement, public domCg_newarray_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the length attribute. + * @return Returns a xsPositiveInteger of the length attribute. + */ + xsPositiveInteger getLength() const { return attrLength; } + /** + * Sets the length attribute. + * @param atLength The new value for the length attribute. + */ + void setLength( xsPositiveInteger atLength ) { attrLength = atLength; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_newparam.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_newparam.h index ccb29dc0d..29a90f659 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_newparam.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_newparam.h @@ -48,14 +48,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -191,6 +191,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -275,6 +279,20 @@ protected: */ class domCg_newparam : public daeElement, public domCg_newparam_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a domCg_identifier of the sid attribute. + */ + domCg_identifier getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( domCg_identifier atSid ) { attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_param_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_param_type.h index fc3edee3e..a127d94f9 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_param_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_param_type.h @@ -7347,14 +7347,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a ::xsString of the value. + * @return Returns a ::xsString of the value. */ ::xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( ::xsString val ) { _value = val; } + void setValue( ::xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -7581,6 +7581,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_setarray_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_setarray_type.h index 23d99ca8e..6c7c63c7e 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_setarray_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_setarray_type.h @@ -46,6 +46,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -125,6 +129,20 @@ protected: */ class domCg_setarray_type : public daeElement, public domCg_setarray_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the length attribute. + * @return Returns a xsPositiveInteger of the length attribute. + */ + xsPositiveInteger getLength() const { return attrLength; } + /** + * Sets the length attribute. + * @param atLength The new value for the length attribute. + */ + void setLength( xsPositiveInteger atLength ) { attrLength = atLength; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_setparam.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_setparam.h index d92e048c4..46b734a45 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_setparam.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_setparam.h @@ -39,6 +39,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -62,7 +66,7 @@ public: //Accessors and Mutators * Sets the program attribute. * @param atProgram The new value for the program attribute. */ - void setProgram( xsNCName atProgram ) { attrProgram = atProgram; } + void setProgram( xsNCName atProgram ) { *(daeStringRef*)&attrProgram = atProgram; } /** * Gets the cg_param_type element. @@ -119,6 +123,32 @@ protected: */ class domCg_setparam : public daeElement, public domCg_setparam_complexType { + +public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a domCg_identifier of the ref attribute. + */ + domCg_identifier getRef() const { return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( domCg_identifier atRef ) { attrRef = atRef; + _validAttributeArray[0] = true; } + + /** + * Gets the program attribute. + * @return Returns a xsNCName of the program attribute. + */ + xsNCName getProgram() const { return attrProgram; } + /** + * Sets the program attribute. + * @param atProgram The new value for the program attribute. + */ + void setProgram( xsNCName atProgram ) { *(daeStringRef*)&attrProgram = atProgram; + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_setparam_simple.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_setparam_simple.h index e523f8726..4bebc3fd6 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_setparam_simple.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_setparam_simple.h @@ -79,6 +79,20 @@ protected: */ class domCg_setparam_simple : public daeElement, public domCg_setparam_simple_complexType { + +public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a domCg_identifier of the ref attribute. + */ + domCg_identifier getRef() const { return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( domCg_identifier atRef ) { attrRef = atRef; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_setuser_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_setuser_type.h index c6967653d..7d52e70ae 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_setuser_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_setuser_type.h @@ -20,24 +20,38 @@ #include #include #include +#include /** * Creates an instance of a structured class. */ class domCg_setuser_type_complexType { -protected: // Attribute +protected: // Attributes domCg_identifier attrName; +/** + * Reference a code or include element which defines the usertype + */ + xsNCName attrSource; protected: // Elements domCg_param_type_Array elemCg_param_type_array; domCg_setarray_type_Array elemArray_array; domCg_setuser_type_Array elemUsertype_array; domCg_connect_param_Array elemConnect_param_array; +/** + * Use a series of these to set the members by name. The ref attribute will + * be relative to the usertype you are in right now. @see domSetparam + */ + domCg_setparam_Array elemSetparam_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -52,6 +66,17 @@ public: //Accessors and Mutators */ void setName( domCg_identifier atName ) { attrName = atName; } + /** + * Gets the source attribute. + * @return Returns a xsNCName of the source attribute. + */ + xsNCName getSource() const { return attrSource; } + /** + * Sets the source attribute. + * @param atSource The new value for the source attribute. + */ + void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; } + /** * Gets the cg_param_type element array. * @return Returns a reference to the array of cg_param_type elements. @@ -92,6 +117,16 @@ public: //Accessors and Mutators * @return Returns a constant reference to the array of connect_param elements. */ const domCg_connect_param_Array &getConnect_param_array() const { return elemConnect_param_array; } + /** + * Gets the setparam element array. + * @return Returns a reference to the array of setparam elements. + */ + domCg_setparam_Array &getSetparam_array() { return elemSetparam_array; } + /** + * Gets the setparam element array. + * @return Returns a constant reference to the array of setparam elements. + */ + const domCg_setparam_Array &getSetparam_array() const { return elemSetparam_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -107,7 +142,7 @@ protected: /** * Constructor */ - domCg_setuser_type_complexType() : attrName(), elemCg_param_type_array(), elemArray_array(), elemUsertype_array(), elemConnect_param_array() {} + domCg_setuser_type_complexType() : attrName(), attrSource(), elemCg_param_type_array(), elemArray_array(), elemUsertype_array(), elemConnect_param_array(), elemSetparam_array() {} /** * Destructor */ @@ -127,6 +162,32 @@ protected: */ class domCg_setuser_type : public daeElement, public domCg_setuser_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the name attribute. + * @return Returns a domCg_identifier of the name attribute. + */ + domCg_identifier getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( domCg_identifier atName ) { attrName = atName; + _validAttributeArray[0] = true; } + + /** + * Gets the source attribute. + * @return Returns a xsNCName of the source attribute. + */ + xsNCName getSource() const { return attrSource; } + /** + * Sets the source attribute. + * @param atSource The new value for the source attribute. + */ + void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCg_surface_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCg_surface_type.h index 1c1272184..107f6b987 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCg_surface_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCg_surface_type.h @@ -69,18 +69,19 @@ public: * Sets the source attribute. * @param atSource The new value for the source attribute. */ - void setSource( xsNCName atSource ) { attrSource = atSource; } + void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; + _validAttributeArray[0] = true; } /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -151,6 +152,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domChannel.h b/Extras/COLLADA_DOM/include/1.4/dom/domChannel.h index 60ae6f801..65fb2360b 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domChannel.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domChannel.h @@ -52,7 +52,8 @@ public: //Accessors and Mutators * Sets the source attribute. * @param atSource The new value for the source attribute. */ - void setSource( const domURIFragmentType &atSource ) { attrSource.setURI( atSource.getURI() ); } + void setSource( const domURIFragmentType &atSource ) { attrSource.setURI( atSource.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the target attribute. @@ -63,7 +64,8 @@ public: //Accessors and Mutators * Sets the target attribute. * @param atTarget The new value for the target attribute. */ - void setTarget( xsToken atTarget ) { attrTarget = atTarget; } + void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget; + _validAttributeArray[1] = true; } protected: /** diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCommon_color_or_texture_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCommon_color_or_texture_type.h index 54b5546d5..c29bbbef2 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCommon_color_or_texture_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCommon_color_or_texture_type.h @@ -47,7 +47,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the _value array. @@ -125,7 +126,8 @@ public: * Sets the ref attribute. * @param atRef The new value for the ref attribute. */ - void setRef( xsNCName atRef ) { attrRef = atRef; } + void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; + _validAttributeArray[0] = true; } protected: /** @@ -190,7 +192,8 @@ public: * Sets the texture attribute. * @param atTexture The new value for the texture attribute. */ - void setTexture( xsNCName atTexture ) { attrTexture = atTexture; } + void setTexture( xsNCName atTexture ) { *(daeStringRef*)&attrTexture = atTexture; + _validAttributeArray[0] = true; } /** * Gets the texcoord attribute. @@ -201,7 +204,8 @@ public: * Sets the texcoord attribute. * @param atTexcoord The new value for the texcoord attribute. */ - void setTexcoord( xsNCName atTexcoord ) { attrTexcoord = atTexcoord; } + void setTexcoord( xsNCName atTexcoord ) { *(daeStringRef*)&attrTexcoord = atTexcoord; + _validAttributeArray[1] = true; } /** * Gets the extra element. @@ -248,7 +252,6 @@ public: }; - protected: // Elements domColorRef elemColor; domParamRef elemParam; @@ -257,6 +260,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCommon_float_or_param_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCommon_float_or_param_type.h index a0cf79ddd..38e0de614 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCommon_float_or_param_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCommon_float_or_param_type.h @@ -46,7 +46,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the value of this element. @@ -119,7 +120,8 @@ public: * Sets the ref attribute. * @param atRef The new value for the ref attribute. */ - void setRef( xsNCName atRef ) { attrRef = atRef; } + void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; + _validAttributeArray[0] = true; } protected: /** @@ -169,6 +171,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCommon_newparam_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCommon_newparam_type.h index 42155ea78..ddd42e461 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domCommon_newparam_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCommon_newparam_type.h @@ -39,14 +39,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -383,6 +383,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -395,7 +399,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the semantic element. @@ -467,6 +471,20 @@ protected: */ class domCommon_newparam_type : public daeElement, public domCommon_newparam_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domCommon_transparent_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domCommon_transparent_type.h new file mode 100644 index 000000000..f5798f880 --- /dev/null +++ b/Extras/COLLADA_DOM/include/1.4/dom/domCommon_transparent_type.h @@ -0,0 +1,83 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ +#ifndef __domCommon_transparent_type_h__ +#define __domCommon_transparent_type_h__ + +#include +#include + +#include + +/** + * An element of type domCommon_transparent_type_complexType. + */ +class domCommon_transparent_type : public domCommon_color_or_texture_type +{ + +protected: // Attribute + domFx_opaque_enum attrOpaque; + +public: //Accessors and Mutators + /** + * Gets the opaque attribute. + * @return Returns a domFx_opaque_enum of the opaque attribute. + */ + domFx_opaque_enum getOpaque() const { return attrOpaque; } + /** + * Sets the opaque attribute. + * @param atOpaque The new value for the opaque attribute. + */ + void setOpaque( domFx_opaque_enum atOpaque ) { attrOpaque = atOpaque; + _validAttributeArray[0] = true; } + +protected: + /** + * Constructor + */ + domCommon_transparent_type() {} + /** + * Destructor + */ + virtual ~domCommon_transparent_type() {} + /** + * Copy Constructor + */ + domCommon_transparent_type( const domCommon_transparent_type &cpy ) : domCommon_color_or_texture_type() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domCommon_transparent_type &operator=( const domCommon_transparent_type &cpy ) { (void)cpy; return *this; } + +public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + +public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; +}; + + +#endif diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domConstants.h b/Extras/COLLADA_DOM/include/1.4/dom/domConstants.h index 21016072b..383987653 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domConstants.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domConstants.h @@ -16,24 +16,28 @@ #include -//extern daeString COLLADA_VERSION; -//extern daeString COLLADA_NAMESPACE; - +extern daeString COLLADA_VERSION; +extern daeString COLLADA_NAMESPACE; extern daeString COMMON_PROFILE_INPUT_BINORMAL; extern daeString COMMON_PROFILE_INPUT_COLOR; +extern daeString COMMON_PROFILE_INPUT_CONTINUITY; extern daeString COMMON_PROFILE_INPUT_IMAGE; extern daeString COMMON_PROFILE_INPUT_IN_TANGENT; extern daeString COMMON_PROFILE_INPUT_INPUT; extern daeString COMMON_PROFILE_INPUT_INTERPOLATION; extern daeString COMMON_PROFILE_INPUT_INV_BIND_MATRIX; extern daeString COMMON_PROFILE_INPUT_JOINT; +extern daeString COMMON_PROFILE_INPUT_LINEAR_STEPS; +extern daeString COMMON_PROFILE_INPUT_MORPH_TARGET; +extern daeString COMMON_PROFILE_INPUT_MORPH_WEIGHT; extern daeString COMMON_PROFILE_INPUT_NORMAL; extern daeString COMMON_PROFILE_INPUT_OUTPUT; extern daeString COMMON_PROFILE_INPUT_OUT_TANGENT; extern daeString COMMON_PROFILE_INPUT_POSITION; extern daeString COMMON_PROFILE_INPUT_TANGENT; +extern daeString COMMON_PROFILE_INPUT_TEXBINORMAL; extern daeString COMMON_PROFILE_INPUT_TEXCOORD; -extern daeString COMMON_PROFILE_INPUT_TEXTURE; +extern daeString COMMON_PROFILE_INPUT_TEXTANGENT; extern daeString COMMON_PROFILE_INPUT_UV; extern daeString COMMON_PROFILE_INPUT_VERTEX; extern daeString COMMON_PROFILE_INPUT_WEIGHT; @@ -62,8 +66,20 @@ extern daeString COLLADA_ELEMENT_INPUTLOCALOFFSET; extern daeString COLLADA_ELEMENT_INSTANCEWITHEXTRA; extern daeString COLLADA_ELEMENT_TARGETABLEFLOAT; extern daeString COLLADA_ELEMENT_TARGETABLEFLOAT3; +extern daeString COLLADA_ELEMENT_FX_SURFACE_FORMAT_HINT_COMMON; +extern daeString COLLADA_ELEMENT_CHANNELS; +extern daeString COLLADA_ELEMENT_RANGE; +extern daeString COLLADA_ELEMENT_PRECISION; +extern daeString COLLADA_ELEMENT_OPTION; +extern daeString COLLADA_ELEMENT_FX_SURFACE_INIT_PLANAR_COMMON; +extern daeString COLLADA_ELEMENT_ALL; +extern daeString COLLADA_ELEMENT_FX_SURFACE_INIT_VOLUME_COMMON; +extern daeString COLLADA_ELEMENT_PRIMARY; +extern daeString COLLADA_ELEMENT_FX_SURFACE_INIT_CUBE_COMMON; +extern daeString COLLADA_ELEMENT_ORDER; +extern daeString COLLADA_ELEMENT_FACE; +extern daeString COLLADA_ELEMENT_FX_SURFACE_INIT_FROM_COMMON; extern daeString COLLADA_ELEMENT_FX_SURFACE_COMMON; -extern daeString COLLADA_ELEMENT_INIT_FROM; extern daeString COLLADA_ELEMENT_FORMAT; extern daeString COLLADA_ELEMENT_SIZE; extern daeString COLLADA_ELEMENT_VIEWPORT_RATIO; @@ -96,7 +112,6 @@ extern daeString COLLADA_ELEMENT_FX_INCLUDE_COMMON; extern daeString COLLADA_ELEMENT_FX_NEWPARAM_COMMON; extern daeString COLLADA_ELEMENT_SEMANTIC; extern daeString COLLADA_ELEMENT_MODIFIER; -extern daeString COLLADA_ELEMENT_FX_SETPARAM_COMMON; extern daeString COLLADA_ELEMENT_FX_CODE_PROFILE; extern daeString COLLADA_ELEMENT_GL_SAMPLER1D; extern daeString COLLADA_ELEMENT_GL_SAMPLER2D; @@ -118,6 +133,7 @@ extern daeString COLLADA_ELEMENT_PARAM; extern daeString COLLADA_ELEMENT_COMMON_COLOR_OR_TEXTURE_TYPE; extern daeString COLLADA_ELEMENT_COLOR; extern daeString COLLADA_ELEMENT_TEXTURE; +extern daeString COLLADA_ELEMENT_COMMON_TRANSPARENT_TYPE; extern daeString COLLADA_ELEMENT_COMMON_NEWPARAM_TYPE; extern daeString COLLADA_ELEMENT_FLOAT2; extern daeString COLLADA_ELEMENT_FLOAT3; @@ -150,6 +166,9 @@ extern daeString COLLADA_ELEMENT_SAMPLER_STATE; extern daeString COLLADA_ELEMENT_TEXCOORD; extern daeString COLLADA_ELEMENT_GLES_SAMPLER_STATE; extern daeString COLLADA_ELEMENT_GLES_NEWPARAM; +extern daeString COLLADA_ELEMENT_FX_SURFACE_INIT_COMMON; +extern daeString COLLADA_ELEMENT_INIT_AS_NULL; +extern daeString COLLADA_ELEMENT_INIT_AS_TARGET; extern daeString COLLADA_ELEMENT_FX_ANNOTATE_TYPE_COMMON; extern daeString COLLADA_ELEMENT_BOOL; extern daeString COLLADA_ELEMENT_BOOL2; @@ -195,7 +214,6 @@ extern daeString COLLADA_ELEMENT_BLEND_EQUATION_SEPARATE; extern daeString COLLADA_ELEMENT_RGB; extern daeString COLLADA_ELEMENT_ALPHA; extern daeString COLLADA_ELEMENT_COLOR_MATERIAL; -extern daeString COLLADA_ELEMENT_FACE; extern daeString COLLADA_ELEMENT_MODE; extern daeString COLLADA_ELEMENT_CULL_FACE; extern daeString COLLADA_ELEMENT_DEPTH_FUNC; @@ -280,6 +298,7 @@ extern daeString COLLADA_ELEMENT_ALPHA_TEST_ENABLE; extern daeString COLLADA_ELEMENT_AUTO_NORMAL_ENABLE; extern daeString COLLADA_ELEMENT_BLEND_ENABLE; extern daeString COLLADA_ELEMENT_COLOR_LOGIC_OP_ENABLE; +extern daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE; extern daeString COLLADA_ELEMENT_CULL_FACE_ENABLE; extern daeString COLLADA_ELEMENT_DEPTH_BOUNDS_ENABLE; extern daeString COLLADA_ELEMENT_DEPTH_CLAMP_ENABLE; @@ -387,7 +406,6 @@ extern daeString COLLADA_ELEMENT_FIXED4X4; extern daeString COLLADA_ELEMENT_GLES_PIPELINE_SETTINGS; extern daeString COLLADA_ELEMENT_TEXTURE_PIPELINE; extern daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUTATION; -extern daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE; extern daeString COLLADA_ELEMENT_TEXTURE_PIPELINE_ENABLE; extern daeString COLLADA_ELEMENT_GLES_BASIC_TYPE_COMMON; extern daeString COLLADA_ELEMENT_COLLADA; @@ -423,6 +441,7 @@ extern daeString COLLADA_ELEMENT_SKEW; extern daeString COLLADA_ELEMENT_TRANSLATE; extern daeString COLLADA_ELEMENT_IMAGE; extern daeString COLLADA_ELEMENT_DATA; +extern daeString COLLADA_ELEMENT_INIT_FROM; extern daeString COLLADA_ELEMENT_LIGHT; extern daeString COLLADA_ELEMENT_AMBIENT; extern daeString COLLADA_ELEMENT_DIRECTIONAL; @@ -480,6 +499,7 @@ extern daeString COLLADA_ELEMENT_INSTANCE_GEOMETRY; extern daeString COLLADA_ELEMENT_INSTANCE_LIGHT; extern daeString COLLADA_ELEMENT_INSTANCE_MATERIAL; extern daeString COLLADA_ELEMENT_BIND; +extern daeString COLLADA_ELEMENT_BIND_VERTEX_INPUT; extern daeString COLLADA_ELEMENT_INSTANCE_NODE; extern daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MATERIAL; extern daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MODEL; diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domController.h b/Extras/COLLADA_DOM/include/1.4/dom/domController.h index 4a6bb973b..a06fd1151 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domController.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domController.h @@ -63,6 +63,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -75,7 +79,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -86,7 +91,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domConvex_mesh.h b/Extras/COLLADA_DOM/include/1.4/dom/domConvex_mesh.h index a748e59a0..ec2936804 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domConvex_mesh.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domConvex_mesh.h @@ -61,6 +61,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -78,7 +82,8 @@ public: //Accessors and Mutators * Sets the convex_hull_of attribute. * @param atConvex_hull_of The new value for the convex_hull_of attribute. */ - void setConvex_hull_of( const xsAnyURI &atConvex_hull_of ) { attrConvex_hull_of.setURI( atConvex_hull_of.getURI() ); } + void setConvex_hull_of( const xsAnyURI &atConvex_hull_of ) { attrConvex_hull_of.setURI( atConvex_hull_of.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the source element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domEffect.h b/Extras/COLLADA_DOM/include/1.4/dom/domEffect.h index 3867e42be..7bdaa59a2 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domEffect.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domEffect.h @@ -73,6 +73,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -85,7 +89,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -96,7 +101,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domElements.h b/Extras/COLLADA_DOM/include/1.4/dom/domElements.h index 75f2c85ca..17dcf2041 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domElements.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domElements.h @@ -46,6 +46,31 @@ class domTargetableFloat3; typedef daeSmartRef domTargetableFloat3Ref; typedef daeTArray domTargetableFloat3_Array; +class domFx_surface_format_hint_common; + +typedef daeSmartRef domFx_surface_format_hint_commonRef; +typedef daeTArray domFx_surface_format_hint_common_Array; + +class domFx_surface_init_planar_common; + +typedef daeSmartRef domFx_surface_init_planar_commonRef; +typedef daeTArray domFx_surface_init_planar_common_Array; + +class domFx_surface_init_volume_common; + +typedef daeSmartRef domFx_surface_init_volume_commonRef; +typedef daeTArray domFx_surface_init_volume_common_Array; + +class domFx_surface_init_cube_common; + +typedef daeSmartRef domFx_surface_init_cube_commonRef; +typedef daeTArray domFx_surface_init_cube_common_Array; + +class domFx_surface_init_from_common; + +typedef daeSmartRef domFx_surface_init_from_commonRef; +typedef daeTArray domFx_surface_init_from_common_Array; + class domFx_surface_common; typedef daeSmartRef domFx_surface_commonRef; @@ -126,11 +151,6 @@ class domFx_newparam_common; typedef daeSmartRef domFx_newparam_commonRef; typedef daeTArray domFx_newparam_common_Array; -class domFx_setparam_common; - -typedef daeSmartRef domFx_setparam_commonRef; -typedef daeTArray domFx_setparam_common_Array; - class domFx_code_profile; typedef daeSmartRef domFx_code_profileRef; @@ -206,6 +226,11 @@ class domCommon_color_or_texture_type; typedef daeSmartRef domCommon_color_or_texture_typeRef; typedef daeTArray domCommon_color_or_texture_type_Array; +class domCommon_transparent_type; + +typedef daeSmartRef domCommon_transparent_typeRef; +typedef daeTArray domCommon_transparent_type_Array; + class domCommon_newparam_type; typedef daeSmartRef domCommon_newparam_typeRef; @@ -336,6 +361,11 @@ class domGles_newparam; typedef daeSmartRef domGles_newparamRef; typedef daeTArray domGles_newparam_Array; +class domFx_surface_init_common; + +typedef daeSmartRef domFx_surface_init_commonRef; +typedef daeTArray domFx_surface_init_common_Array; + class domFx_annotate_type_common; typedef daeSmartRef domFx_annotate_type_commonRef; diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domExtra.h b/Extras/COLLADA_DOM/include/1.4/dom/domExtra.h index 16443e8bf..645401402 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domExtra.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domExtra.h @@ -63,7 +63,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -74,7 +75,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the type attribute. @@ -85,7 +87,8 @@ public: //Accessors and Mutators * Sets the type attribute. * @param atType The new value for the type attribute. */ - void setType( xsNMTOKEN atType ) { attrType = atType; } + void setType( xsNMTOKEN atType ) { *(daeStringRef*)&attrType = atType; + _validAttributeArray[2] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFloat_array.h b/Extras/COLLADA_DOM/include/1.4/dom/domFloat_array.h index 866b135cb..731ce4020 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFloat_array.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFloat_array.h @@ -68,7 +68,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -79,7 +80,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the count attribute. @@ -90,7 +92,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[2] = true; } /** * Gets the digits attribute. @@ -101,7 +104,8 @@ public: //Accessors and Mutators * Sets the digits attribute. * @param atDigits The new value for the digits attribute. */ - void setDigits( xsShort atDigits ) { attrDigits = atDigits; } + void setDigits( xsShort atDigits ) { attrDigits = atDigits; + _validAttributeArray[3] = true; } /** * Gets the magnitude attribute. @@ -112,7 +116,8 @@ public: //Accessors and Mutators * Sets the magnitude attribute. * @param atMagnitude The new value for the magnitude attribute. */ - void setMagnitude( xsShort atMagnitude ) { attrMagnitude = atMagnitude; } + void setMagnitude( xsShort atMagnitude ) { attrMagnitude = atMagnitude; + _validAttributeArray[4] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domForce_field.h b/Extras/COLLADA_DOM/include/1.4/dom/domForce_field.h index 0958af968..db315f552 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domForce_field.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domForce_field.h @@ -63,7 +63,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -74,7 +75,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_annotate_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_annotate_common.h index 91c550582..3c86de7ab 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_annotate_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_annotate_common.h @@ -36,7 +36,7 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; } /** * Gets the fx_annotate_type_common element. @@ -67,6 +67,20 @@ protected: */ class domFx_annotate_common : public daeElement, public domFx_annotate_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_annotate_type_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_annotate_type_common.h index 89703848f..e1bad1941 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_annotate_type_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_annotate_type_common.h @@ -1075,14 +1075,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a ::xsString of the value. + * @return Returns a ::xsString of the value. */ ::xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( ::xsString val ) { _value = val; } + void setValue( ::xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -1146,6 +1146,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_basic_type_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_basic_type_common.h index eb0a42f81..9c3ce0b45 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_basic_type_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_basic_type_common.h @@ -1987,14 +1987,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -2078,6 +2078,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_clearcolor_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_clearcolor_common.h index 103f6be3f..cea327330 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_clearcolor_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_clearcolor_common.h @@ -80,6 +80,20 @@ protected: */ class domFx_clearcolor_common : public daeElement, public domFx_clearcolor_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the index attribute. + * @return Returns a xsNonNegativeInteger of the index attribute. + */ + xsNonNegativeInteger getIndex() const { return attrIndex; } + /** + * Sets the index attribute. + * @param atIndex The new value for the index attribute. + */ + void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_cleardepth_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_cleardepth_common.h index 1021325a9..de843ea4a 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_cleardepth_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_cleardepth_common.h @@ -75,6 +75,20 @@ protected: */ class domFx_cleardepth_common : public daeElement, public domFx_cleardepth_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the index attribute. + * @return Returns a xsNonNegativeInteger of the index attribute. + */ + xsNonNegativeInteger getIndex() const { return attrIndex; } + /** + * Sets the index attribute. + * @param atIndex The new value for the index attribute. + */ + void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_clearstencil_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_clearstencil_common.h index 5576d6f9d..81b3c339c 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_clearstencil_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_clearstencil_common.h @@ -75,6 +75,20 @@ protected: */ class domFx_clearstencil_common : public daeElement, public domFx_clearstencil_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the index attribute. + * @return Returns a xsNonNegativeInteger of the index attribute. + */ + xsNonNegativeInteger getIndex() const { return attrIndex; } + /** + * Sets the index attribute. + * @param atIndex The new value for the index attribute. + */ + void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_code_profile.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_code_profile.h index a8527a24d..415374f43 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_code_profile.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_code_profile.h @@ -47,18 +47,18 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -84,6 +84,20 @@ protected: */ class domFx_code_profile : public daeElement, public domFx_code_profile_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_colortarget_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_colortarget_common.h index d8eae5616..fe1b16978 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_colortarget_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_colortarget_common.h @@ -21,6 +21,8 @@ class domFx_colortarget_common_complexType { protected: // Attributes xsNonNegativeInteger attrIndex; + domFx_surface_face_enum attrFace; + xsNonNegativeInteger attrMip; xsNonNegativeInteger attrSlice; protected: // Value @@ -41,6 +43,28 @@ public: //Accessors and Mutators */ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; } + /** + * Gets the face attribute. + * @return Returns a domFx_surface_face_enum of the face attribute. + */ + domFx_surface_face_enum getFace() const { return attrFace; } + /** + * Sets the face attribute. + * @param atFace The new value for the face attribute. + */ + void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; } + + /** + * Gets the mip attribute. + * @return Returns a xsNonNegativeInteger of the mip attribute. + */ + xsNonNegativeInteger getMip() const { return attrMip; } + /** + * Sets the mip attribute. + * @param atMip The new value for the mip attribute. + */ + void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; } + /** * Gets the slice attribute. * @return Returns a xsNonNegativeInteger of the slice attribute. @@ -54,20 +78,20 @@ public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** * Constructor */ - domFx_colortarget_common_complexType() : attrIndex(), attrSlice(), _value() {} + domFx_colortarget_common_complexType() : attrIndex(), attrFace(), attrMip(), attrSlice(), _value() {} /** * Destructor */ @@ -87,6 +111,56 @@ protected: */ class domFx_colortarget_common : public daeElement, public domFx_colortarget_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the index attribute. + * @return Returns a xsNonNegativeInteger of the index attribute. + */ + xsNonNegativeInteger getIndex() const { return attrIndex; } + /** + * Sets the index attribute. + * @param atIndex The new value for the index attribute. + */ + void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } + + /** + * Gets the face attribute. + * @return Returns a domFx_surface_face_enum of the face attribute. + */ + domFx_surface_face_enum getFace() const { return attrFace; } + /** + * Sets the face attribute. + * @param atFace The new value for the face attribute. + */ + void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; + _validAttributeArray[1] = true; } + + /** + * Gets the mip attribute. + * @return Returns a xsNonNegativeInteger of the mip attribute. + */ + xsNonNegativeInteger getMip() const { return attrMip; } + /** + * Sets the mip attribute. + * @param atMip The new value for the mip attribute. + */ + void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; + _validAttributeArray[2] = true; } + + /** + * Gets the slice attribute. + * @return Returns a xsNonNegativeInteger of the slice attribute. + */ + xsNonNegativeInteger getSlice() const { return attrSlice; } + /** + * Sets the slice attribute. + * @param atSlice The new value for the slice attribute. + */ + void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; + _validAttributeArray[3] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_depthtarget_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_depthtarget_common.h index 822092860..8e73c5bb1 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_depthtarget_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_depthtarget_common.h @@ -21,6 +21,8 @@ class domFx_depthtarget_common_complexType { protected: // Attributes xsNonNegativeInteger attrIndex; + domFx_surface_face_enum attrFace; + xsNonNegativeInteger attrMip; xsNonNegativeInteger attrSlice; protected: // Value @@ -41,6 +43,28 @@ public: //Accessors and Mutators */ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; } + /** + * Gets the face attribute. + * @return Returns a domFx_surface_face_enum of the face attribute. + */ + domFx_surface_face_enum getFace() const { return attrFace; } + /** + * Sets the face attribute. + * @param atFace The new value for the face attribute. + */ + void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; } + + /** + * Gets the mip attribute. + * @return Returns a xsNonNegativeInteger of the mip attribute. + */ + xsNonNegativeInteger getMip() const { return attrMip; } + /** + * Sets the mip attribute. + * @param atMip The new value for the mip attribute. + */ + void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; } + /** * Gets the slice attribute. * @return Returns a xsNonNegativeInteger of the slice attribute. @@ -54,20 +78,20 @@ public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** * Constructor */ - domFx_depthtarget_common_complexType() : attrIndex(), attrSlice(), _value() {} + domFx_depthtarget_common_complexType() : attrIndex(), attrFace(), attrMip(), attrSlice(), _value() {} /** * Destructor */ @@ -87,6 +111,56 @@ protected: */ class domFx_depthtarget_common : public daeElement, public domFx_depthtarget_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the index attribute. + * @return Returns a xsNonNegativeInteger of the index attribute. + */ + xsNonNegativeInteger getIndex() const { return attrIndex; } + /** + * Sets the index attribute. + * @param atIndex The new value for the index attribute. + */ + void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } + + /** + * Gets the face attribute. + * @return Returns a domFx_surface_face_enum of the face attribute. + */ + domFx_surface_face_enum getFace() const { return attrFace; } + /** + * Sets the face attribute. + * @param atFace The new value for the face attribute. + */ + void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; + _validAttributeArray[1] = true; } + + /** + * Gets the mip attribute. + * @return Returns a xsNonNegativeInteger of the mip attribute. + */ + xsNonNegativeInteger getMip() const { return attrMip; } + /** + * Sets the mip attribute. + * @param atMip The new value for the mip attribute. + */ + void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; + _validAttributeArray[2] = true; } + + /** + * Gets the slice attribute. + * @return Returns a xsNonNegativeInteger of the slice attribute. + */ + xsNonNegativeInteger getSlice() const { return attrSlice; } + /** + * Sets the slice attribute. + * @param atSlice The new value for the slice attribute. + */ + void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; + _validAttributeArray[3] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_include_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_include_common.h index 50df87530..ab127fe86 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_include_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_include_common.h @@ -49,7 +49,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the url attribute. @@ -91,6 +91,37 @@ protected: */ class domFx_include_common : public daeElement, public domFx_include_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + + /** + * Gets the url attribute. + * @return Returns a xsAnyURI reference of the url attribute. + */ + xsAnyURI &getUrl() { return attrUrl; } + /** + * Gets the url attribute. + * @return Returns a constant xsAnyURI reference of the url attribute. + */ + const xsAnyURI &getUrl() const { return attrUrl; } + /** + * Sets the url attribute. + * @param atUrl The new value for the url attribute. + */ + void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_newparam_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_newparam_common.h index 21b0430ed..60735b5d2 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_newparam_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_newparam_common.h @@ -46,14 +46,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -199,7 +199,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the annotate element array. @@ -250,6 +250,20 @@ protected: */ class domFx_newparam_common : public daeElement, public domFx_newparam_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler1D_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler1D_common.h index a91426be1..147f47eb0 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler1D_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler1D_common.h @@ -16,6 +16,7 @@ #include #include +#include /** * A one-dimensional texture sampler. @@ -40,14 +41,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -559,6 +560,7 @@ protected: // Elements domBorder_colorRef elemBorder_color; domMipmap_maxlevelRef elemMipmap_maxlevel; domMipmap_biasRef elemMipmap_bias; + domExtra_Array elemExtra_array; public: //Accessors and Mutators /** @@ -601,11 +603,21 @@ public: //Accessors and Mutators * @return a daeSmartRef to the mipmap_bias element. */ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } protected: /** * Constructor */ - domFx_sampler1D_common_complexType() : elemSource(), elemWrap_s(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias() {} + domFx_sampler1D_common_complexType() : elemSource(), elemWrap_s(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler2D_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler2D_common.h index c8c9beb9a..623a2aa8f 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler2D_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler2D_common.h @@ -16,6 +16,7 @@ #include #include +#include /** * A two-dimensional texture sampler. @@ -40,14 +41,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -625,6 +626,7 @@ protected: // Elements domBorder_colorRef elemBorder_color; domMipmap_maxlevelRef elemMipmap_maxlevel; domMipmap_biasRef elemMipmap_bias; + domExtra_Array elemExtra_array; public: //Accessors and Mutators /** @@ -672,11 +674,21 @@ public: //Accessors and Mutators * @return a daeSmartRef to the mipmap_bias element. */ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } protected: /** * Constructor */ - domFx_sampler2D_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias() {} + domFx_sampler2D_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler3D_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler3D_common.h index 557d5bbe0..c104b3298 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler3D_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_sampler3D_common.h @@ -16,6 +16,7 @@ #include #include +#include /** * A three-dimensional texture sampler. @@ -40,14 +41,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -691,6 +692,7 @@ protected: // Elements domBorder_colorRef elemBorder_color; domMipmap_maxlevelRef elemMipmap_maxlevel; domMipmap_biasRef elemMipmap_bias; + domExtra_Array elemExtra_array; public: //Accessors and Mutators /** @@ -743,11 +745,21 @@ public: //Accessors and Mutators * @return a daeSmartRef to the mipmap_bias element. */ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } protected: /** * Constructor */ - domFx_sampler3D_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemWrap_p(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias() {} + domFx_sampler3D_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemWrap_p(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerCUBE_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerCUBE_common.h index 81014f0e7..3a4d22bef 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerCUBE_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerCUBE_common.h @@ -16,6 +16,7 @@ #include #include +#include /** * A texture sampler for cube maps. @@ -40,14 +41,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -691,6 +692,7 @@ protected: // Elements domBorder_colorRef elemBorder_color; domMipmap_maxlevelRef elemMipmap_maxlevel; domMipmap_biasRef elemMipmap_bias; + domExtra_Array elemExtra_array; public: //Accessors and Mutators /** @@ -743,11 +745,21 @@ public: //Accessors and Mutators * @return a daeSmartRef to the mipmap_bias element. */ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } protected: /** * Constructor */ - domFx_samplerCUBE_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemWrap_p(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias() {} + domFx_samplerCUBE_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemWrap_p(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerDEPTH_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerDEPTH_common.h index 96269a9b3..06506f883 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerDEPTH_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerDEPTH_common.h @@ -16,6 +16,7 @@ #include #include +#include /** * A texture sampler for depth maps. @@ -40,14 +41,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -356,6 +357,7 @@ protected: // Elements domWrap_tRef elemWrap_t; domMinfilterRef elemMinfilter; domMagfilterRef elemMagfilter; + domExtra_Array elemExtra_array; public: //Accessors and Mutators /** @@ -383,11 +385,21 @@ public: //Accessors and Mutators * @return a daeSmartRef to the magfilter element. */ const domMagfilterRef getMagfilter() const { return elemMagfilter; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } protected: /** * Constructor */ - domFx_samplerDEPTH_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter() {} + domFx_samplerDEPTH_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerRECT_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerRECT_common.h index ca5d62dce..f5b9f3e61 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerRECT_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_samplerRECT_common.h @@ -16,6 +16,7 @@ #include #include +#include /** * A two-dimensional texture sampler. @@ -40,14 +41,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -625,6 +626,7 @@ protected: // Elements domBorder_colorRef elemBorder_color; domMipmap_maxlevelRef elemMipmap_maxlevel; domMipmap_biasRef elemMipmap_bias; + domExtra_Array elemExtra_array; public: //Accessors and Mutators /** @@ -672,11 +674,21 @@ public: //Accessors and Mutators * @return a daeSmartRef to the mipmap_bias element. */ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } protected: /** * Constructor */ - domFx_samplerRECT_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias() {} + domFx_samplerRECT_common_complexType() : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_stenciltarget_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_stenciltarget_common.h index 836545800..ea521fb0b 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_stenciltarget_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_stenciltarget_common.h @@ -21,6 +21,8 @@ class domFx_stenciltarget_common_complexType { protected: // Attributes xsNonNegativeInteger attrIndex; + domFx_surface_face_enum attrFace; + xsNonNegativeInteger attrMip; xsNonNegativeInteger attrSlice; protected: // Value @@ -41,6 +43,28 @@ public: //Accessors and Mutators */ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; } + /** + * Gets the face attribute. + * @return Returns a domFx_surface_face_enum of the face attribute. + */ + domFx_surface_face_enum getFace() const { return attrFace; } + /** + * Sets the face attribute. + * @param atFace The new value for the face attribute. + */ + void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; } + + /** + * Gets the mip attribute. + * @return Returns a xsNonNegativeInteger of the mip attribute. + */ + xsNonNegativeInteger getMip() const { return attrMip; } + /** + * Sets the mip attribute. + * @param atMip The new value for the mip attribute. + */ + void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; } + /** * Gets the slice attribute. * @return Returns a xsNonNegativeInteger of the slice attribute. @@ -54,20 +78,20 @@ public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** * Constructor */ - domFx_stenciltarget_common_complexType() : attrIndex(), attrSlice(), _value() {} + domFx_stenciltarget_common_complexType() : attrIndex(), attrFace(), attrMip(), attrSlice(), _value() {} /** * Destructor */ @@ -87,6 +111,56 @@ protected: */ class domFx_stenciltarget_common : public daeElement, public domFx_stenciltarget_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the index attribute. + * @return Returns a xsNonNegativeInteger of the index attribute. + */ + xsNonNegativeInteger getIndex() const { return attrIndex; } + /** + * Sets the index attribute. + * @param atIndex The new value for the index attribute. + */ + void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } + + /** + * Gets the face attribute. + * @return Returns a domFx_surface_face_enum of the face attribute. + */ + domFx_surface_face_enum getFace() const { return attrFace; } + /** + * Sets the face attribute. + * @param atFace The new value for the face attribute. + */ + void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; + _validAttributeArray[1] = true; } + + /** + * Gets the mip attribute. + * @return Returns a xsNonNegativeInteger of the mip attribute. + */ + xsNonNegativeInteger getMip() const { return attrMip; } + /** + * Sets the mip attribute. + * @param atMip The new value for the mip attribute. + */ + void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; + _validAttributeArray[2] = true; } + + /** + * Gets the slice attribute. + * @return Returns a xsNonNegativeInteger of the slice attribute. + */ + xsNonNegativeInteger getSlice() const { return attrSlice; } + /** + * Sets the slice attribute. + * @param atSlice The new value for the slice attribute. + */ + void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; + _validAttributeArray[3] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_common.h index 20fa607b2..35b6c98aa 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_common.h @@ -16,6 +16,9 @@ #include #include +#include +#include +#include /** * The fx_surface_common type is used to declare a resource that can be used @@ -25,142 +28,37 @@ class domFx_surface_common_complexType { public: - class domInit_from; - - typedef daeSmartRef domInit_fromRef; - typedef daeTArray domInit_from_Array; - -/** - * The init_from element is a list of IDREFs which specify the images to use - * to initialize this surface. - */ - class domInit_from : public daeElement - { - protected: // Attributes - xsUnsignedInt attrMip; - xsUnsignedInt attrSlice; - domFx_surface_face_enum attrFace; - - protected: // Value - /** - * The xsIDREFS value of the text data of this element. - */ - xsIDREFS _value; - - public: //Accessors and Mutators - /** - * Gets the mip attribute. - * @return Returns a xsUnsignedInt of the mip attribute. - */ - xsUnsignedInt getMip() const { return attrMip; } - /** - * Sets the mip attribute. - * @param atMip The new value for the mip attribute. - */ - void setMip( xsUnsignedInt atMip ) { attrMip = atMip; } - - /** - * Gets the slice attribute. - * @return Returns a xsUnsignedInt of the slice attribute. - */ - xsUnsignedInt getSlice() const { return attrSlice; } - /** - * Sets the slice attribute. - * @param atSlice The new value for the slice attribute. - */ - void setSlice( xsUnsignedInt atSlice ) { attrSlice = atSlice; } - - /** - * Gets the face attribute. - * @return Returns a domFx_surface_face_enum of the face attribute. - */ - domFx_surface_face_enum getFace() const { return attrFace; } - /** - * Sets the face attribute. - * @param atFace The new value for the face attribute. - */ - void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; } - - /** - * Gets the _value array. - * @return Returns a xsIDREFS reference of the _value array. - */ - xsIDREFS &getValue() { return _value; } - /** - * Gets the _value array. - * @return Returns a constant xsIDREFS reference of the _value array. - */ - const xsIDREFS &getValue() const { return _value; } - /** - * Sets the _value array. - * @param val The new value for the _value array. - */ - void setValue( const xsIDREFS &val ) { _value = val; } - - protected: - /** - * Constructor - */ - domInit_from() : attrMip(), attrSlice(), attrFace(), _value() {} - /** - * Destructor - */ - virtual ~domInit_from() {} - /** - * Copy Constructor - */ - domInit_from( const domInit_from &cpy ) : daeElement() { (void)cpy; } - /** - * Overloaded assignment operator - */ - virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; } - - public: // STATIC METHODS - /** - * Creates an instance of this class and returns a daeElementRef referencing it. - * @param bytes The size allocated for this instance. - * @return a daeElementRef referencing an instance of this object. - */ - static daeElementRef create(daeInt bytes); - /** - * Creates a daeMetaElement object that describes this element in the meta object reflection framework. - * If a daeMetaElement already exists it will return that instead of creating a new one. - * @return A daeMetaElement describing this COLLADA element. - */ - static daeMetaElement* registerElement(); - - public: // STATIC MEMBERS - /** - * The daeMetaElement that describes this element in the meta object reflection framework. - */ - static daeMetaElement* _Meta; - }; - class domFormat; typedef daeSmartRef domFormatRef; typedef daeTArray domFormat_Array; +/** + * Contains a string representing the profile and platform specific texel + * format that the author would like this surface to use. If this element + * is not specified then the application will use a common format R8G8B8A8 + * with linear color gradient, not sRGB. + */ class domFormat : public daeElement { protected: // Value /** - * The xsString value of the text data of this element. + * The xsToken value of the text data of this element. */ - xsString _value; + xsToken _value; public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsToken of the value. */ - xsString getValue() const { return _value; } + xsToken getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsToken val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -206,6 +104,9 @@ public: typedef daeSmartRef domSizeRef; typedef daeTArray domSize_Array; +/** + * The surface should be sized to these exact dimensions + */ class domSize : public daeElement { @@ -276,6 +177,10 @@ public: typedef daeSmartRef domViewport_ratioRef; typedef daeTArray domViewport_ratio_Array; +/** + * The surface should be sized to a dimension based on this ratio of the viewport's + * dimensions in pixels + */ class domViewport_ratio : public daeElement { @@ -346,6 +251,13 @@ public: typedef daeSmartRef domMip_levelsRef; typedef daeTArray domMip_levels_Array; +/** + * the surface should contain the following number of MIP levels. If this + * element is not present it is assumed that all miplevels exist until a dimension + * becomes 1 texel. To create a surface that has only one level of mip maps + * (mip=0) set this to 1. If the value is 0 the result is the same as if + * mip_levels was unspecified, all possible mip_levels will exist. + */ class domMip_levels : public daeElement { @@ -411,6 +323,12 @@ public: typedef daeSmartRef domMipmap_generateRef; typedef daeTArray domMipmap_generate_Array; +/** + * By default it is assumed that mipmaps are supplied by the author so, if + * not all subsurfaces are initialized, it is invalid and will result in profile + * and platform specific behavior unless mipmap_generate is responsible for + * initializing the remainder of the sub-surfaces + */ class domMipmap_generate : public daeElement { @@ -473,23 +391,71 @@ public: protected: // Attribute +/** + * Specifying the type of a surface is mandatory though the type may be "UNTYPED". + * When a surface is typed as UNTYPED, it is said to be temporarily untyped + * and instead will be typed later by the context it is used in such as which + * samplers reference it in that are used in a particular technique or pass. + * If there is a type mismatch between what is set into it later and what + * the runtime decides the type should be the result in profile and platform + * specific behavior. + */ domFx_surface_type_enum attrType; protected: // Elements /** - * The init_from element is a list of IDREFs which specify the images to use - * to initialize this surface. @see domInit_from + * The common set of initalization options for surfaces. Choose which is + * appropriate for your surface based on the type attribute and other characteristics + * described by the annotation docs on the choiced child elements of this + * type. @see domFx_surface_init_common + */ + domFx_surface_init_commonRef elemFx_surface_init_common; +/** + * Contains a string representing the profile and platform specific texel + * format that the author would like this surface to use. If this element + * is not specified then the application will use a common format R8G8B8A8 + * with linear color gradient, not sRGB. @see domFormat */ - domInit_from_Array elemInit_from_array; domFormatRef elemFormat; +/** + * If the exact format cannot be resolved via the "format" element then the + * format_hint will describe the important features of the format so that + * the application may select a compatable or close format @see domFormat_hint + */ + domFx_surface_format_hint_commonRef elemFormat_hint; +/** + * The surface should be sized to these exact dimensions @see domSize + */ domSizeRef elemSize; +/** + * The surface should be sized to a dimension based on this ratio of the viewport's + * dimensions in pixels @see domViewport_ratio + */ domViewport_ratioRef elemViewport_ratio; +/** + * the surface should contain the following number of MIP levels. If this + * element is not present it is assumed that all miplevels exist until a dimension + * becomes 1 texel. To create a surface that has only one level of mip maps + * (mip=0) set this to 1. If the value is 0 the result is the same as if + * mip_levels was unspecified, all possible mip_levels will exist. @see domMip_levels + */ domMip_levelsRef elemMip_levels; +/** + * By default it is assumed that mipmaps are supplied by the author so, if + * not all subsurfaces are initialized, it is invalid and will result in profile + * and platform specific behavior unless mipmap_generate is responsible for + * initializing the remainder of the sub-surfaces @see domMipmap_generate + */ domMipmap_generateRef elemMipmap_generate; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -505,20 +471,20 @@ public: //Accessors and Mutators void setType( domFx_surface_type_enum atType ) { attrType = atType; } /** - * Gets the init_from element array. - * @return Returns a reference to the array of init_from elements. + * Gets the fx_surface_init_common element. + * @return a daeSmartRef to the fx_surface_init_common element. */ - domInit_from_Array &getInit_from_array() { return elemInit_from_array; } - /** - * Gets the init_from element array. - * @return Returns a constant reference to the array of init_from elements. - */ - const domInit_from_Array &getInit_from_array() const { return elemInit_from_array; } + const domFx_surface_init_commonRef getFx_surface_init_common() const { return elemFx_surface_init_common; } /** * Gets the format element. * @return a daeSmartRef to the format element. */ const domFormatRef getFormat() const { return elemFormat; } + /** + * Gets the format_hint element. + * @return a daeSmartRef to the format_hint element. + */ + const domFx_surface_format_hint_commonRef getFormat_hint() const { return elemFormat_hint; } /** * Gets the size element. * @return a daeSmartRef to the size element. @@ -539,6 +505,16 @@ public: //Accessors and Mutators * @return a daeSmartRef to the mipmap_generate element. */ const domMipmap_generateRef getMipmap_generate() const { return elemMipmap_generate; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -554,7 +530,7 @@ protected: /** * Constructor */ - domFx_surface_common_complexType() : attrType(), elemInit_from_array(), elemFormat(), elemSize(), elemViewport_ratio(), elemMip_levels(), elemMipmap_generate() {} + domFx_surface_common_complexType() : attrType(), elemFx_surface_init_common(), elemFormat(), elemFormat_hint(), elemSize(), elemViewport_ratio(), elemMip_levels(), elemMipmap_generate(), elemExtra_array() {} /** * Destructor */ @@ -567,6 +543,25 @@ protected: * Overloaded assignment operator */ virtual domFx_surface_common_complexType &operator=( const domFx_surface_common_complexType &cpy ) { (void)cpy; return *this; } + +public: //Backwards Compatibility + typedef domFx_surface_init_from_common domInit_from; + typedef domFx_surface_init_from_commonRef domInit_fromRef; + typedef domFx_surface_init_from_common_Array domInit_from_Array; + + /** + * Gets the init_from element array. + * @return Returns a reference to the array of init_from elements. + */ + domInit_from_Array &getInit_from_array(); + /** + * Gets the init_from element array. + * @return Returns a constant reference to the array of init_from elements. + */ + const domInit_from_Array &getInit_from_array() const; + +private: + domInit_from_Array emptyArray; }; /** @@ -574,6 +569,20 @@ protected: */ class domFx_surface_common : public daeElement, public domFx_surface_common_complexType { + +public: //Accessors and Mutators + /** + * Gets the type attribute. + * @return Returns a domFx_surface_type_enum of the type attribute. + */ + domFx_surface_type_enum getType() const { return attrType; } + /** + * Sets the type attribute. + * @param atType The new value for the type attribute. + */ + void setType( domFx_surface_type_enum atType ) { attrType = atType; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_format_hint_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_format_hint_common.h new file mode 100644 index 000000000..bddc7fa6f --- /dev/null +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_format_hint_common.h @@ -0,0 +1,438 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ +#ifndef __domFx_surface_format_hint_common_h__ +#define __domFx_surface_format_hint_common_h__ + +#include +#include + +#include + +/** + * If the exact format cannot be resolve via other methods then the format_hint + * will describe the important features of the format so that the application + * may select a compatable or close format + */ +class domFx_surface_format_hint_common_complexType +{ +public: + class domChannels; + + typedef daeSmartRef domChannelsRef; + typedef daeTArray domChannels_Array; + +/** + * The per-texel layout of the format. The length of the string indicate + * how many channels there are and the letter respresents the name of the + * channel. There are typically 0 to 4 channels. + */ + class domChannels : public daeElement + { + + protected: // Value + /** + * The domFx_surface_format_hint_channels_enum value of the text data of this element. + */ + domFx_surface_format_hint_channels_enum _value; + + public: //Accessors and Mutators + /** + * Gets the value of this element. + * @return a domFx_surface_format_hint_channels_enum of the value. + */ + domFx_surface_format_hint_channels_enum getValue() const { return _value; } + /** + * Sets the _value of this element. + * @param val The new value for this element. + */ + void setValue( domFx_surface_format_hint_channels_enum val ) { _value = val; } + + protected: + /** + * Constructor + */ + domChannels() : _value() {} + /** + * Destructor + */ + virtual ~domChannels() {} + /** + * Copy Constructor + */ + domChannels( const domChannels &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domChannels &operator=( const domChannels &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + class domRange; + + typedef daeSmartRef domRangeRef; + typedef daeTArray domRange_Array; + +/** + * Each channel represents a range of values. Some example ranges are signed + * or unsigned integers, or between between a clamped range such as 0.0f to + * 1.0f, or high dynamic range via floating point + */ + class domRange : public daeElement + { + + protected: // Value + /** + * The domFx_surface_format_hint_range_enum value of the text data of this element. + */ + domFx_surface_format_hint_range_enum _value; + + public: //Accessors and Mutators + /** + * Gets the value of this element. + * @return a domFx_surface_format_hint_range_enum of the value. + */ + domFx_surface_format_hint_range_enum getValue() const { return _value; } + /** + * Sets the _value of this element. + * @param val The new value for this element. + */ + void setValue( domFx_surface_format_hint_range_enum val ) { _value = val; } + + protected: + /** + * Constructor + */ + domRange() : _value() {} + /** + * Destructor + */ + virtual ~domRange() {} + /** + * Copy Constructor + */ + domRange( const domRange &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domRange &operator=( const domRange &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + class domPrecision; + + typedef daeSmartRef domPrecisionRef; + typedef daeTArray domPrecision_Array; + +/** + * Each channel of the texel has a precision. Typically these are all linked + * together. An exact format lay lower the precision of an individual channel + * but applying a higher precision by linking the channels together may still + * convey the same information. + */ + class domPrecision : public daeElement + { + + protected: // Value + /** + * The domFx_surface_format_hint_precision_enum value of the text data of this element. + */ + domFx_surface_format_hint_precision_enum _value; + + public: //Accessors and Mutators + /** + * Gets the value of this element. + * @return a domFx_surface_format_hint_precision_enum of the value. + */ + domFx_surface_format_hint_precision_enum getValue() const { return _value; } + /** + * Sets the _value of this element. + * @param val The new value for this element. + */ + void setValue( domFx_surface_format_hint_precision_enum val ) { _value = val; } + + protected: + /** + * Constructor + */ + domPrecision() : _value() {} + /** + * Destructor + */ + virtual ~domPrecision() {} + /** + * Copy Constructor + */ + domPrecision( const domPrecision &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domPrecision &operator=( const domPrecision &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + class domOption; + + typedef daeSmartRef domOptionRef; + typedef daeTArray domOption_Array; + +/** + * Additional hints about data relationships and other things to help the + * application pick the best format. + */ + class domOption : public daeElement + { + + protected: // Value + /** + * The domFx_surface_format_hint_option_enum value of the text data of this element. + */ + domFx_surface_format_hint_option_enum _value; + + public: //Accessors and Mutators + /** + * Gets the value of this element. + * @return a domFx_surface_format_hint_option_enum of the value. + */ + domFx_surface_format_hint_option_enum getValue() const { return _value; } + /** + * Sets the _value of this element. + * @param val The new value for this element. + */ + void setValue( domFx_surface_format_hint_option_enum val ) { _value = val; } + + protected: + /** + * Constructor + */ + domOption() : _value() {} + /** + * Destructor + */ + virtual ~domOption() {} + /** + * Copy Constructor + */ + domOption( const domOption &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domOption &operator=( const domOption &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + + +protected: // Elements +/** + * The per-texel layout of the format. The length of the string indicate + * how many channels there are and the letter respresents the name of the + * channel. There are typically 0 to 4 channels. @see domChannels + */ + domChannelsRef elemChannels; +/** + * Each channel represents a range of values. Some example ranges are signed + * or unsigned integers, or between between a clamped range such as 0.0f to + * 1.0f, or high dynamic range via floating point @see domRange + */ + domRangeRef elemRange; +/** + * Each channel of the texel has a precision. Typically these are all linked + * together. An exact format lay lower the precision of an individual channel + * but applying a higher precision by linking the channels together may still + * convey the same information. @see domPrecision + */ + domPrecisionRef elemPrecision; +/** + * Additional hints about data relationships and other things to help the + * application pick the best format. @see domOption + */ + domOption_Array elemOption_array; + domExtra_Array elemExtra_array; + +public: //Accessors and Mutators + /** + * Gets the channels element. + * @return a daeSmartRef to the channels element. + */ + const domChannelsRef getChannels() const { return elemChannels; } + /** + * Gets the range element. + * @return a daeSmartRef to the range element. + */ + const domRangeRef getRange() const { return elemRange; } + /** + * Gets the precision element. + * @return a daeSmartRef to the precision element. + */ + const domPrecisionRef getPrecision() const { return elemPrecision; } + /** + * Gets the option element array. + * @return Returns a reference to the array of option elements. + */ + domOption_Array &getOption_array() { return elemOption_array; } + /** + * Gets the option element array. + * @return Returns a constant reference to the array of option elements. + */ + const domOption_Array &getOption_array() const { return elemOption_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } +protected: + /** + * Constructor + */ + domFx_surface_format_hint_common_complexType() : elemChannels(), elemRange(), elemPrecision(), elemOption_array(), elemExtra_array() {} + /** + * Destructor + */ + virtual ~domFx_surface_format_hint_common_complexType() {} + /** + * Copy Constructor + */ + domFx_surface_format_hint_common_complexType( const domFx_surface_format_hint_common_complexType &cpy ) { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_format_hint_common_complexType &operator=( const domFx_surface_format_hint_common_complexType &cpy ) { (void)cpy; return *this; } +}; + +/** + * An element of type domFx_surface_format_hint_common_complexType. + */ +class domFx_surface_format_hint_common : public daeElement, public domFx_surface_format_hint_common_complexType +{ +protected: + /** + * Constructor + */ + domFx_surface_format_hint_common() {} + /** + * Destructor + */ + virtual ~domFx_surface_format_hint_common() {} + /** + * Copy Constructor + */ + domFx_surface_format_hint_common( const domFx_surface_format_hint_common &cpy ) : daeElement(), domFx_surface_format_hint_common_complexType() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_format_hint_common &operator=( const domFx_surface_format_hint_common &cpy ) { (void)cpy; return *this; } + +public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + +public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; +}; + + +#endif diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_common.h new file mode 100644 index 000000000..ff0754f93 --- /dev/null +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_common.h @@ -0,0 +1,272 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ +#ifndef __domFx_surface_init_common_h__ +#define __domFx_surface_init_common_h__ + +#include +#include + +#include +#include +#include +#include + +/** + * The common set of initalization options for surfaces. Choose which is + * appropriate for your surface based on type and other characteristics. described + * by the annotation docs on the child elements. + */ +class domFx_surface_init_common : public daeElement +{ +public: + class domInit_as_null; + + typedef daeSmartRef domInit_as_nullRef; + typedef daeTArray domInit_as_null_Array; + +/** + * This surface is intended to be initialized later externally by a "setparam" + * element. If it is used before being initialized there is profile and platform + * specific behavior. Most elements on the surface element containing this + * will be ignored including mip_levels, mipmap_generate, size, viewport_ratio, + * and format. + */ + class domInit_as_null : public daeElement + { + + protected: + /** + * Constructor + */ + domInit_as_null() {} + /** + * Destructor + */ + virtual ~domInit_as_null() {} + /** + * Copy Constructor + */ + domInit_as_null( const domInit_as_null &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domInit_as_null &operator=( const domInit_as_null &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + class domInit_as_target; + + typedef daeSmartRef domInit_as_targetRef; + typedef daeTArray domInit_as_target_Array; + +/** + * Init as a target for depth, stencil, or color. It does not need image + * data. Surface should not have mipmap_generate when using this. + */ + class domInit_as_target : public daeElement + { + + protected: + /** + * Constructor + */ + domInit_as_target() {} + /** + * Destructor + */ + virtual ~domInit_as_target() {} + /** + * Copy Constructor + */ + domInit_as_target( const domInit_as_target &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domInit_as_target &operator=( const domInit_as_target &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + + +protected: // Elements +/** + * This surface is intended to be initialized later externally by a "setparam" + * element. If it is used before being initialized there is profile and platform + * specific behavior. Most elements on the surface element containing this + * will be ignored including mip_levels, mipmap_generate, size, viewport_ratio, + * and format. @see domInit_as_null + */ + domInit_as_nullRef elemInit_as_null; +/** + * Init as a target for depth, stencil, or color. It does not need image + * data. Surface should not have mipmap_generate when using this. @see domInit_as_target + */ + domInit_as_targetRef elemInit_as_target; +/** + * Init a CUBE from a compound image such as DDS @see domInit_cube + */ + domFx_surface_init_cube_commonRef elemInit_cube; +/** + * Init a 3D from a compound image such as DDS @see domInit_volume + */ + domFx_surface_init_volume_commonRef elemInit_volume; +/** + * Init a 1D,2D,RECT,DEPTH from a compound image such as DDS @see domInit_planar + */ + domFx_surface_init_planar_commonRef elemInit_planar; +/** + * Initialize the surface one sub-surface at a time by specifying combinations + * of mip, face, and slice which make sense for a particular surface type. + * Each sub-surface is initialized by a common 2D image, not a complex compound + * image such as DDS. If not all subsurfaces are initialized, it is invalid + * and will result in profile and platform specific behavior unless mipmap_generate + * is responsible for initializing the remainder of the sub-surfaces @see + * domInit_from + */ + domFx_surface_init_from_common_Array elemInit_from_array; + /** + * Used to preserve order in elements that do not specify strict sequencing of sub-elements. + */ + daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; + + +public: //Accessors and Mutators + /** + * Gets the init_as_null element. + * @return a daeSmartRef to the init_as_null element. + */ + const domInit_as_nullRef getInit_as_null() const { return elemInit_as_null; } + /** + * Gets the init_as_target element. + * @return a daeSmartRef to the init_as_target element. + */ + const domInit_as_targetRef getInit_as_target() const { return elemInit_as_target; } + /** + * Gets the init_cube element. + * @return a daeSmartRef to the init_cube element. + */ + const domFx_surface_init_cube_commonRef getInit_cube() const { return elemInit_cube; } + /** + * Gets the init_volume element. + * @return a daeSmartRef to the init_volume element. + */ + const domFx_surface_init_volume_commonRef getInit_volume() const { return elemInit_volume; } + /** + * Gets the init_planar element. + * @return a daeSmartRef to the init_planar element. + */ + const domFx_surface_init_planar_commonRef getInit_planar() const { return elemInit_planar; } + /** + * Gets the init_from element array. + * @return Returns a reference to the array of init_from elements. + */ + domFx_surface_init_from_common_Array &getInit_from_array() { return elemInit_from_array; } + /** + * Gets the init_from element array. + * @return Returns a constant reference to the array of init_from elements. + */ + const domFx_surface_init_from_common_Array &getInit_from_array() const { return elemInit_from_array; } + /** + * Gets the _contents array. + * @return Returns a reference to the _contents element array. + */ + daeElementRefArray &getContents() { return _contents; } + /** + * Gets the _contents array. + * @return Returns a constant reference to the _contents element array. + */ + const daeElementRefArray &getContents() const { return _contents; } + +protected: + /** + * Constructor + */ + domFx_surface_init_common() : elemInit_as_null(), elemInit_as_target(), elemInit_cube(), elemInit_volume(), elemInit_planar(), elemInit_from_array() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_common() {} + /** + * Copy Constructor + */ + domFx_surface_init_common( const domFx_surface_init_common &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_common &operator=( const domFx_surface_init_common &cpy ) { (void)cpy; return *this; } + +public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + +public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; +}; + + +#endif diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_cube_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_cube_common.h new file mode 100644 index 000000000..3f38a8303 --- /dev/null +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_cube_common.h @@ -0,0 +1,448 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ +#ifndef __domFx_surface_init_cube_common_h__ +#define __domFx_surface_init_cube_common_h__ + +#include +#include + + +class domFx_surface_init_cube_common_complexType +{ +public: + class domAll; + + typedef daeSmartRef domAllRef; + typedef daeTArray domAll_Array; + +/** + * Init the entire surface with one compound image such as DDS + */ + class domAll : public daeElement + { + protected: // Attribute + xsIDREF attrRef; + + + public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a xsIDREF reference of the ref attribute. + */ + xsIDREF &getRef() { return attrRef; } + /** + * Gets the ref attribute. + * @return Returns a constant xsIDREF reference of the ref attribute. + */ + const xsIDREF &getRef() const{ return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( const xsIDREF &atRef ) { attrRef.setID( atRef.getID() ); + _validAttributeArray[0] = true; } + + protected: + /** + * Constructor + */ + domAll() : attrRef() {} + /** + * Destructor + */ + virtual ~domAll() {} + /** + * Copy Constructor + */ + domAll( const domAll &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domAll &operator=( const domAll &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + class domPrimary; + + typedef daeSmartRef domPrimaryRef; + typedef daeTArray domPrimary_Array; + +/** + * Init all primary mip level 0 subsurfaces with one compound image such as + * DDS. Use of this element expects that the surface has element mip_levels=0 + * or mipmap_generate. + */ + class domPrimary : public daeElement + { + public: + class domOrder; + + typedef daeSmartRef domOrderRef; + typedef daeTArray domOrder_Array; + +/** + * If the image dues not natively describe the face ordering then this series + * of order elements will describe which face the index belongs too + */ + class domOrder : public daeElement + { + + protected: // Value + /** + * The domFx_surface_face_enum value of the text data of this element. + */ + domFx_surface_face_enum _value; + + public: //Accessors and Mutators + /** + * Gets the value of this element. + * @return a domFx_surface_face_enum of the value. + */ + domFx_surface_face_enum getValue() const { return _value; } + /** + * Sets the _value of this element. + * @param val The new value for this element. + */ + void setValue( domFx_surface_face_enum val ) { _value = val; } + + protected: + /** + * Constructor + */ + domOrder() : _value() {} + /** + * Destructor + */ + virtual ~domOrder() {} + /** + * Copy Constructor + */ + domOrder( const domOrder &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domOrder &operator=( const domOrder &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + + protected: // Attribute + xsIDREF attrRef; + + protected: // Element +/** + * If the image dues not natively describe the face ordering then this series + * of order elements will describe which face the index belongs too @see domOrder + */ + domOrder_Array elemOrder_array; + + public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a xsIDREF reference of the ref attribute. + */ + xsIDREF &getRef() { return attrRef; } + /** + * Gets the ref attribute. + * @return Returns a constant xsIDREF reference of the ref attribute. + */ + const xsIDREF &getRef() const{ return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( const xsIDREF &atRef ) { attrRef.setID( atRef.getID() ); + _validAttributeArray[0] = true; } + + /** + * Gets the order element array. + * @return Returns a reference to the array of order elements. + */ + domOrder_Array &getOrder_array() { return elemOrder_array; } + /** + * Gets the order element array. + * @return Returns a constant reference to the array of order elements. + */ + const domOrder_Array &getOrder_array() const { return elemOrder_array; } + protected: + /** + * Constructor + */ + domPrimary() : attrRef(), elemOrder_array() {} + /** + * Destructor + */ + virtual ~domPrimary() {} + /** + * Copy Constructor + */ + domPrimary( const domPrimary &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domPrimary &operator=( const domPrimary &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + class domFace; + + typedef daeSmartRef domFaceRef; + typedef daeTArray domFace_Array; + +/** + * Init each face mipchain with one compound image such as DDS + */ + class domFace : public daeElement + { + protected: // Attribute + xsIDREF attrRef; + + + public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a xsIDREF reference of the ref attribute. + */ + xsIDREF &getRef() { return attrRef; } + /** + * Gets the ref attribute. + * @return Returns a constant xsIDREF reference of the ref attribute. + */ + const xsIDREF &getRef() const{ return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( const xsIDREF &atRef ) { attrRef.setID( atRef.getID() ); + _validAttributeArray[0] = true; } + + protected: + /** + * Constructor + */ + domFace() : attrRef() {} + /** + * Destructor + */ + virtual ~domFace() {} + /** + * Copy Constructor + */ + domFace( const domFace &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + + +protected: // Elements +/** + * Init the entire surface with one compound image such as DDS @see domAll + */ + domAllRef elemAll; +/** + * Init all primary mip level 0 subsurfaces with one compound image such as + * DDS. Use of this element expects that the surface has element mip_levels=0 + * or mipmap_generate. @see domPrimary + */ + domPrimaryRef elemPrimary; +/** + * Init each face mipchain with one compound image such as DDS @see domFace + */ + domFace_Array elemFace_array; + /** + * Used to preserve order in elements that do not specify strict sequencing of sub-elements. + */ + daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; + + +public: //Accessors and Mutators + /** + * Gets the all element. + * @return a daeSmartRef to the all element. + */ + const domAllRef getAll() const { return elemAll; } + /** + * Gets the primary element. + * @return a daeSmartRef to the primary element. + */ + const domPrimaryRef getPrimary() const { return elemPrimary; } + /** + * Gets the face element array. + * @return Returns a reference to the array of face elements. + */ + domFace_Array &getFace_array() { return elemFace_array; } + /** + * Gets the face element array. + * @return Returns a constant reference to the array of face elements. + */ + const domFace_Array &getFace_array() const { return elemFace_array; } + /** + * Gets the _contents array. + * @return Returns a reference to the _contents element array. + */ + daeElementRefArray &getContents() { return _contents; } + /** + * Gets the _contents array. + * @return Returns a constant reference to the _contents element array. + */ + const daeElementRefArray &getContents() const { return _contents; } + +protected: + /** + * Constructor + */ + domFx_surface_init_cube_common_complexType() : elemAll(), elemPrimary(), elemFace_array() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_cube_common_complexType() {} + /** + * Copy Constructor + */ + domFx_surface_init_cube_common_complexType( const domFx_surface_init_cube_common_complexType &cpy ) { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_cube_common_complexType &operator=( const domFx_surface_init_cube_common_complexType &cpy ) { (void)cpy; return *this; } +}; + +/** + * An element of type domFx_surface_init_cube_common_complexType. + */ +class domFx_surface_init_cube_common : public daeElement, public domFx_surface_init_cube_common_complexType +{ +protected: + /** + * Constructor + */ + domFx_surface_init_cube_common() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_cube_common() {} + /** + * Copy Constructor + */ + domFx_surface_init_cube_common( const domFx_surface_init_cube_common &cpy ) : daeElement(), domFx_surface_init_cube_common_complexType() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_cube_common &operator=( const domFx_surface_init_cube_common &cpy ) { (void)cpy; return *this; } + +public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + +public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; +}; + + +#endif diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_from_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_from_common.h new file mode 100644 index 000000000..21ba4aee5 --- /dev/null +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_from_common.h @@ -0,0 +1,189 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ +#ifndef __domFx_surface_init_from_common_h__ +#define __domFx_surface_init_from_common_h__ + +#include +#include + + +/** + * This element is an IDREF which specifies the image to use to initialize + * a specific mip of a 1D or 2D surface, 3D slice, or Cube face. + */ +class domFx_surface_init_from_common_complexType +{ +protected: // Attributes + xsUnsignedInt attrMip; + xsUnsignedInt attrSlice; + domFx_surface_face_enum attrFace; + +protected: // Value + /** + * The xsIDREF value of the text data of this element. + */ + xsIDREF _value; + +public: //Accessors and Mutators + /** + * Gets the mip attribute. + * @return Returns a xsUnsignedInt of the mip attribute. + */ + xsUnsignedInt getMip() const { return attrMip; } + /** + * Sets the mip attribute. + * @param atMip The new value for the mip attribute. + */ + void setMip( xsUnsignedInt atMip ) { attrMip = atMip; } + + /** + * Gets the slice attribute. + * @return Returns a xsUnsignedInt of the slice attribute. + */ + xsUnsignedInt getSlice() const { return attrSlice; } + /** + * Sets the slice attribute. + * @param atSlice The new value for the slice attribute. + */ + void setSlice( xsUnsignedInt atSlice ) { attrSlice = atSlice; } + + /** + * Gets the face attribute. + * @return Returns a domFx_surface_face_enum of the face attribute. + */ + domFx_surface_face_enum getFace() const { return attrFace; } + /** + * Sets the face attribute. + * @param atFace The new value for the face attribute. + */ + void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; } + + /** + * Gets the value of this element. + * @return Returns a xsIDREF of the value. + */ + xsIDREF &getValue() { return _value; } + /** + * Gets the value of this element. + * @return Returns a constant xsIDREF of the value. + */ + const xsIDREF &getValue() const { return _value; } + /** + * Sets the _value of this element. + * @param val The new value for this element. + */ + void setValue( const xsIDREF &val ) { _value.setID( val.getID() ); } + +protected: + /** + * Constructor + */ + domFx_surface_init_from_common_complexType() : attrMip(), attrSlice(), attrFace(), _value() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_from_common_complexType() {} + /** + * Copy Constructor + */ + domFx_surface_init_from_common_complexType( const domFx_surface_init_from_common_complexType &cpy ) { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_from_common_complexType &operator=( const domFx_surface_init_from_common_complexType &cpy ) { (void)cpy; return *this; } +}; + +/** + * An element of type domFx_surface_init_from_common_complexType. + */ +class domFx_surface_init_from_common : public daeElement, public domFx_surface_init_from_common_complexType +{ + +public: //Accessors and Mutators + /** + * Gets the mip attribute. + * @return Returns a xsUnsignedInt of the mip attribute. + */ + xsUnsignedInt getMip() const { return attrMip; } + /** + * Sets the mip attribute. + * @param atMip The new value for the mip attribute. + */ + void setMip( xsUnsignedInt atMip ) { attrMip = atMip; + _validAttributeArray[0] = true; } + + /** + * Gets the slice attribute. + * @return Returns a xsUnsignedInt of the slice attribute. + */ + xsUnsignedInt getSlice() const { return attrSlice; } + /** + * Sets the slice attribute. + * @param atSlice The new value for the slice attribute. + */ + void setSlice( xsUnsignedInt atSlice ) { attrSlice = atSlice; + _validAttributeArray[1] = true; } + + /** + * Gets the face attribute. + * @return Returns a domFx_surface_face_enum of the face attribute. + */ + domFx_surface_face_enum getFace() const { return attrFace; } + /** + * Sets the face attribute. + * @param atFace The new value for the face attribute. + */ + void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; + _validAttributeArray[2] = true; } + +protected: + /** + * Constructor + */ + domFx_surface_init_from_common() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_from_common() {} + /** + * Copy Constructor + */ + domFx_surface_init_from_common( const domFx_surface_init_from_common &cpy ) : daeElement(), domFx_surface_init_from_common_complexType() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_from_common &operator=( const domFx_surface_init_from_common &cpy ) { (void)cpy; return *this; } + +public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + +public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; +}; + + +#endif diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_planar_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_planar_common.h new file mode 100644 index 000000000..5b241cd17 --- /dev/null +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_planar_common.h @@ -0,0 +1,175 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ +#ifndef __domFx_surface_init_planar_common_h__ +#define __domFx_surface_init_planar_common_h__ + +#include +#include + + +/** + * For 1D, 2D, RECT surface types + */ +class domFx_surface_init_planar_common_complexType +{ +public: + class domAll; + + typedef daeSmartRef domAllRef; + typedef daeTArray domAll_Array; + +/** + * Init the entire surface with one compound image such as DDS + */ + class domAll : public daeElement + { + protected: // Attribute + xsIDREF attrRef; + + + public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a xsIDREF reference of the ref attribute. + */ + xsIDREF &getRef() { return attrRef; } + /** + * Gets the ref attribute. + * @return Returns a constant xsIDREF reference of the ref attribute. + */ + const xsIDREF &getRef() const{ return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( const xsIDREF &atRef ) { attrRef.setID( atRef.getID() ); + _validAttributeArray[0] = true; } + + protected: + /** + * Constructor + */ + domAll() : attrRef() {} + /** + * Destructor + */ + virtual ~domAll() {} + /** + * Copy Constructor + */ + domAll( const domAll &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domAll &operator=( const domAll &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + + +protected: // Element +/** + * Init the entire surface with one compound image such as DDS @see domAll + */ + domAllRef elemAll; + +public: //Accessors and Mutators + /** + * Gets the all element. + * @return a daeSmartRef to the all element. + */ + const domAllRef getAll() const { return elemAll; } +protected: + /** + * Constructor + */ + domFx_surface_init_planar_common_complexType() : elemAll() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_planar_common_complexType() {} + /** + * Copy Constructor + */ + domFx_surface_init_planar_common_complexType( const domFx_surface_init_planar_common_complexType &cpy ) { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_planar_common_complexType &operator=( const domFx_surface_init_planar_common_complexType &cpy ) { (void)cpy; return *this; } +}; + +/** + * An element of type domFx_surface_init_planar_common_complexType. + */ +class domFx_surface_init_planar_common : public daeElement, public domFx_surface_init_planar_common_complexType +{ +protected: + /** + * Constructor + */ + domFx_surface_init_planar_common() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_planar_common() {} + /** + * Copy Constructor + */ + domFx_surface_init_planar_common( const domFx_surface_init_planar_common &cpy ) : daeElement(), domFx_surface_init_planar_common_complexType() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_planar_common &operator=( const domFx_surface_init_planar_common &cpy ) { (void)cpy; return *this; } + +public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + +public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; +}; + + +#endif diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_volume_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_volume_common.h new file mode 100644 index 000000000..e609f818b --- /dev/null +++ b/Extras/COLLADA_DOM/include/1.4/dom/domFx_surface_init_volume_common.h @@ -0,0 +1,275 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ +#ifndef __domFx_surface_init_volume_common_h__ +#define __domFx_surface_init_volume_common_h__ + +#include +#include + + +class domFx_surface_init_volume_common_complexType +{ +public: + class domAll; + + typedef daeSmartRef domAllRef; + typedef daeTArray domAll_Array; + +/** + * Init the entire surface with one compound image such as DDS + */ + class domAll : public daeElement + { + protected: // Attribute + xsIDREF attrRef; + + + public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a xsIDREF reference of the ref attribute. + */ + xsIDREF &getRef() { return attrRef; } + /** + * Gets the ref attribute. + * @return Returns a constant xsIDREF reference of the ref attribute. + */ + const xsIDREF &getRef() const{ return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( const xsIDREF &atRef ) { attrRef.setID( atRef.getID() ); + _validAttributeArray[0] = true; } + + protected: + /** + * Constructor + */ + domAll() : attrRef() {} + /** + * Destructor + */ + virtual ~domAll() {} + /** + * Copy Constructor + */ + domAll( const domAll &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domAll &operator=( const domAll &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + class domPrimary; + + typedef daeSmartRef domPrimaryRef; + typedef daeTArray domPrimary_Array; + +/** + * Init mip level 0 of the surface with one compound image such as DDS. Use + * of this element expects that the surface has element mip_levels=0 or mipmap_generate. + */ + class domPrimary : public daeElement + { + protected: // Attribute + xsIDREF attrRef; + + + public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a xsIDREF reference of the ref attribute. + */ + xsIDREF &getRef() { return attrRef; } + /** + * Gets the ref attribute. + * @return Returns a constant xsIDREF reference of the ref attribute. + */ + const xsIDREF &getRef() const{ return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( const xsIDREF &atRef ) { attrRef.setID( atRef.getID() ); + _validAttributeArray[0] = true; } + + protected: + /** + * Constructor + */ + domPrimary() : attrRef() {} + /** + * Destructor + */ + virtual ~domPrimary() {} + /** + * Copy Constructor + */ + domPrimary( const domPrimary &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domPrimary &operator=( const domPrimary &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + + + +protected: // Elements +/** + * Init the entire surface with one compound image such as DDS @see domAll + */ + domAllRef elemAll; +/** + * Init mip level 0 of the surface with one compound image such as DDS. Use + * of this element expects that the surface has element mip_levels=0 or mipmap_generate. + * @see domPrimary + */ + domPrimaryRef elemPrimary; + /** + * Used to preserve order in elements that do not specify strict sequencing of sub-elements. + */ + daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; + + +public: //Accessors and Mutators + /** + * Gets the all element. + * @return a daeSmartRef to the all element. + */ + const domAllRef getAll() const { return elemAll; } + /** + * Gets the primary element. + * @return a daeSmartRef to the primary element. + */ + const domPrimaryRef getPrimary() const { return elemPrimary; } + /** + * Gets the _contents array. + * @return Returns a reference to the _contents element array. + */ + daeElementRefArray &getContents() { return _contents; } + /** + * Gets the _contents array. + * @return Returns a constant reference to the _contents element array. + */ + const daeElementRefArray &getContents() const { return _contents; } + +protected: + /** + * Constructor + */ + domFx_surface_init_volume_common_complexType() : elemAll(), elemPrimary() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_volume_common_complexType() {} + /** + * Copy Constructor + */ + domFx_surface_init_volume_common_complexType( const domFx_surface_init_volume_common_complexType &cpy ) { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_volume_common_complexType &operator=( const domFx_surface_init_volume_common_complexType &cpy ) { (void)cpy; return *this; } +}; + +/** + * An element of type domFx_surface_init_volume_common_complexType. + */ +class domFx_surface_init_volume_common : public daeElement, public domFx_surface_init_volume_common_complexType +{ +protected: + /** + * Constructor + */ + domFx_surface_init_volume_common() {} + /** + * Destructor + */ + virtual ~domFx_surface_init_volume_common() {} + /** + * Copy Constructor + */ + domFx_surface_init_volume_common( const domFx_surface_init_volume_common &cpy ) : daeElement(), domFx_surface_init_volume_common_complexType() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domFx_surface_init_volume_common &operator=( const domFx_surface_init_volume_common &cpy ) { (void)cpy; return *this; } + +public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + +public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; +}; + + +#endif diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGeometry.h b/Extras/COLLADA_DOM/include/1.4/dom/domGeometry.h index 6f8ef9598..dc5f1f1c3 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGeometry.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGeometry.h @@ -64,6 +64,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -76,7 +80,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -87,7 +92,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGl_pipeline_settings.h b/Extras/COLLADA_DOM/include/1.4/dom/domGl_pipeline_settings.h index dc4857c1e..c521c6519 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGl_pipeline_settings.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGl_pipeline_settings.h @@ -60,7 +60,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_func_type atValue ) { attrValue = atValue; } + void setValue( domGl_func_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -71,7 +72,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -134,7 +136,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_alpha_value_type atValue ) { attrValue = atValue; } + void setValue( domGl_alpha_value_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -145,7 +148,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -272,7 +276,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -283,7 +288,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -346,7 +352,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -357,7 +364,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -484,7 +492,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -495,7 +504,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -558,7 +568,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -569,7 +580,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -632,7 +644,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -643,7 +656,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -706,7 +720,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -717,7 +732,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -848,7 +864,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -859,7 +876,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -930,7 +948,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -941,7 +960,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1004,7 +1024,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1015,7 +1036,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1142,7 +1164,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_face_type atValue ) { attrValue = atValue; } + void setValue( domGl_face_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1153,7 +1176,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1216,7 +1240,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_material_type atValue ) { attrValue = atValue; } + void setValue( domGl_material_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1227,7 +1252,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1346,7 +1372,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_face_type atValue ) { attrValue = atValue; } + void setValue( domGl_face_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1357,7 +1384,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1420,7 +1448,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_func_type atValue ) { attrValue = atValue; } + void setValue( domGl_func_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1431,7 +1460,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1494,7 +1524,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_fog_type atValue ) { attrValue = atValue; } + void setValue( domGl_fog_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1505,7 +1536,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1568,7 +1600,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_fog_coord_src_type atValue ) { attrValue = atValue; } + void setValue( domGl_fog_coord_src_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1579,7 +1612,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1642,7 +1676,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_front_face_type atValue ) { attrValue = atValue; } + void setValue( domGl_front_face_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1653,7 +1688,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1716,7 +1752,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_light_model_color_control_type atValue ) { attrValue = atValue; } + void setValue( domGl_light_model_color_control_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1727,7 +1764,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1790,7 +1828,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_logic_op_type atValue ) { attrValue = atValue; } + void setValue( domGl_logic_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1801,7 +1840,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1872,7 +1912,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_face_type atValue ) { attrValue = atValue; } + void setValue( domGl_face_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1883,7 +1924,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1946,7 +1988,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_polygon_mode_type atValue ) { attrValue = atValue; } + void setValue( domGl_polygon_mode_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1957,7 +2000,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2076,7 +2120,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_shade_model_type atValue ) { attrValue = atValue; } + void setValue( domGl_shade_model_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2087,7 +2132,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2158,7 +2204,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_func_type atValue ) { attrValue = atValue; } + void setValue( domGl_func_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2169,7 +2216,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2232,7 +2280,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( xsUnsignedByte atValue ) { attrValue = atValue; } + void setValue( xsUnsignedByte atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2243,7 +2292,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2306,7 +2356,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( xsUnsignedByte atValue ) { attrValue = atValue; } + void setValue( xsUnsignedByte atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2317,7 +2368,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2450,7 +2502,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2461,7 +2514,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2524,7 +2578,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2535,7 +2590,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2598,7 +2654,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2609,7 +2666,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2742,7 +2800,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_func_type atValue ) { attrValue = atValue; } + void setValue( domGl_func_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2753,7 +2812,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2816,7 +2876,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_func_type atValue ) { attrValue = atValue; } + void setValue( domGl_func_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2827,7 +2888,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2890,7 +2952,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( xsUnsignedByte atValue ) { attrValue = atValue; } + void setValue( xsUnsignedByte atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2901,7 +2964,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2964,7 +3028,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( xsUnsignedByte atValue ) { attrValue = atValue; } + void setValue( xsUnsignedByte atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2975,7 +3040,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3114,7 +3180,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_face_type atValue ) { attrValue = atValue; } + void setValue( domGl_face_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3125,7 +3192,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3188,7 +3256,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3199,7 +3268,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3262,7 +3332,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3273,7 +3344,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3336,7 +3408,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3347,7 +3420,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3486,7 +3560,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_face_type atValue ) { attrValue = atValue; } + void setValue( domGl_face_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3497,7 +3572,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3560,7 +3636,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( xsUnsignedByte atValue ) { attrValue = atValue; } + void setValue( xsUnsignedByte atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3571,7 +3648,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3691,7 +3769,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3702,7 +3781,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -3713,7 +3793,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -3782,7 +3863,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3793,7 +3875,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -3804,7 +3887,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -3873,7 +3957,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3884,7 +3969,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -3895,7 +3981,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -3964,7 +4051,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3975,7 +4063,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -3986,7 +4075,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4055,7 +4145,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4066,7 +4157,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -4077,7 +4169,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4141,7 +4234,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4152,7 +4246,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -4163,7 +4258,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4227,7 +4323,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4238,7 +4335,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -4249,7 +4347,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4313,7 +4412,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4324,7 +4424,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -4335,7 +4436,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4399,7 +4501,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4410,7 +4513,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -4421,7 +4525,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4490,7 +4595,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat3 &atValue ) { attrValue = atValue; } + void setValue( const domFloat3 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4501,7 +4607,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -4512,7 +4619,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4576,7 +4684,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4587,7 +4696,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -4598,7 +4708,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4664,14 +4775,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -4723,6 +4834,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -4735,7 +4850,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } /** * Gets the value element. @@ -4822,14 +4938,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -4881,6 +4997,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -4893,7 +5013,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } /** * Gets the value element. @@ -4980,14 +5101,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -5039,6 +5160,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -5051,7 +5176,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } /** * Gets the value element. @@ -5138,14 +5264,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -5197,6 +5323,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -5209,7 +5339,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } /** * Gets the value element. @@ -5296,14 +5427,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -5355,6 +5486,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -5367,7 +5502,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } /** * Gets the value element. @@ -5454,14 +5590,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -5513,6 +5649,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -5525,7 +5665,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[0] = true; } /** * Gets the value element. @@ -5610,7 +5751,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5621,7 +5763,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -5632,7 +5775,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -5696,7 +5840,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5707,7 +5852,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -5718,7 +5864,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -5782,7 +5929,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5793,7 +5941,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -5804,7 +5953,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -5868,7 +6018,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5879,7 +6030,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -5890,7 +6042,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -5954,7 +6107,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5965,7 +6119,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -5976,7 +6131,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -6040,7 +6196,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6051,7 +6208,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -6062,7 +6220,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -6131,7 +6290,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6142,7 +6302,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -6153,7 +6314,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -6217,7 +6379,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domString atValue ) { attrValue = atValue; } + void setValue( domString atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6228,7 +6391,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -6239,7 +6403,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -6308,7 +6473,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6319,7 +6485,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -6330,7 +6497,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -6394,7 +6562,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6405,7 +6574,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -6416,7 +6586,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGL_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGL_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -6484,7 +6655,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6495,7 +6667,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6563,7 +6736,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6574,7 +6748,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6637,7 +6812,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domInt atValue ) { attrValue = atValue; } + void setValue( domInt atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6648,7 +6824,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6711,7 +6888,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6722,7 +6900,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6790,7 +6969,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domBool4 &atValue ) { attrValue = atValue; } + void setValue( const domBool4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6801,7 +6981,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6869,7 +7050,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat2 &atValue ) { attrValue = atValue; } + void setValue( const domFloat2 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6880,7 +7062,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6943,7 +7126,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6954,7 +7138,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7022,7 +7207,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat2 &atValue ) { attrValue = atValue; } + void setValue( const domFloat2 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7033,7 +7219,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7096,7 +7283,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7107,7 +7295,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7170,7 +7359,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7181,7 +7371,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7244,7 +7435,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7255,7 +7447,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7323,7 +7516,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7334,7 +7528,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7402,7 +7597,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7413,7 +7609,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7476,7 +7673,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7487,7 +7685,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7555,7 +7754,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domInt2 &atValue ) { attrValue = atValue; } + void setValue( const domInt2 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7566,7 +7766,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7629,7 +7830,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7640,7 +7842,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7708,7 +7911,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7719,7 +7923,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7787,7 +7992,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7798,7 +8004,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7866,7 +8073,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7877,7 +8085,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -7940,7 +8149,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -7951,7 +8161,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8019,7 +8230,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8030,7 +8242,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8098,7 +8311,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8109,7 +8323,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8177,7 +8392,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat3 &atValue ) { attrValue = atValue; } + void setValue( const domFloat3 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8188,7 +8404,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8251,7 +8468,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8262,7 +8480,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8325,7 +8544,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8336,7 +8556,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8399,7 +8620,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8410,7 +8632,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8473,7 +8696,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8484,7 +8708,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8552,7 +8777,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat2 &atValue ) { attrValue = atValue; } + void setValue( const domFloat2 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8563,7 +8789,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8631,7 +8858,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8642,7 +8870,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8710,7 +8939,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domInt4 &atValue ) { attrValue = atValue; } + void setValue( const domInt4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8721,7 +8951,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8784,7 +9015,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domInt atValue ) { attrValue = atValue; } + void setValue( domInt atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8795,7 +9027,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8858,7 +9091,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8869,7 +9103,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -8932,7 +9167,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -8943,7 +9179,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9006,7 +9243,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9017,7 +9255,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9080,7 +9319,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9091,7 +9331,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9132,6 +9373,82 @@ public: static daeMetaElement* _Meta; }; + class domColor_material_enable; + + typedef daeSmartRef domColor_material_enableRef; + typedef daeTArray domColor_material_enable_Array; + + class domColor_material_enable : public daeElement + { + protected: // Attributes + domBool attrValue; + xsNCName attrParam; + + + public: //Accessors and Mutators + /** + * Gets the value attribute. + * @return Returns a domBool of the value attribute. + */ + domBool getValue() const { return attrValue; } + /** + * Sets the value attribute. + * @param atValue The new value for the value attribute. + */ + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } + + /** + * Gets the param attribute. + * @return Returns a xsNCName of the param attribute. + */ + xsNCName getParam() const { return attrParam; } + /** + * Sets the param attribute. + * @param atParam The new value for the param attribute. + */ + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } + + protected: + /** + * Constructor + */ + domColor_material_enable() : attrValue(), attrParam() {} + /** + * Destructor + */ + virtual ~domColor_material_enable() {} + /** + * Copy Constructor + */ + domColor_material_enable( const domColor_material_enable &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domColor_material_enable &operator=( const domColor_material_enable &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + class domCull_face_enable; typedef daeSmartRef domCull_face_enableRef; @@ -9154,7 +9471,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9165,7 +9483,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9228,7 +9547,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9239,7 +9559,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9302,7 +9623,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9313,7 +9635,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9376,7 +9699,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9387,7 +9711,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9450,7 +9775,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9461,7 +9787,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9524,7 +9851,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9535,7 +9863,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9598,7 +9927,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9609,7 +9939,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9672,7 +10003,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9683,7 +10015,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9746,7 +10079,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9757,7 +10091,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9820,7 +10155,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9831,7 +10167,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9894,7 +10231,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9905,7 +10243,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -9968,7 +10307,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -9979,7 +10319,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10042,7 +10383,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10053,7 +10395,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10116,7 +10459,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10127,7 +10471,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10190,7 +10535,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10201,7 +10547,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10264,7 +10611,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10275,7 +10623,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10338,7 +10687,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10349,7 +10699,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10412,7 +10763,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10423,7 +10775,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10486,7 +10839,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10497,7 +10851,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10560,7 +10915,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10571,7 +10927,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10634,7 +10991,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10645,7 +11003,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10708,7 +11067,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10719,7 +11079,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10782,7 +11143,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10793,7 +11155,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10856,7 +11219,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10867,7 +11231,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -10930,7 +11295,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -10941,7 +11307,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -11067,6 +11434,7 @@ protected: // Elements domAuto_normal_enableRef elemAuto_normal_enable; domBlend_enableRef elemBlend_enable; domColor_logic_op_enableRef elemColor_logic_op_enable; + domColor_material_enableRef elemColor_material_enable; domCull_face_enableRef elemCull_face_enable; domDepth_bounds_enableRef elemDepth_bounds_enable; domDepth_clamp_enableRef elemDepth_clamp_enable; @@ -11097,6 +11465,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -11510,6 +11882,11 @@ public: //Accessors and Mutators * @return a daeSmartRef to the color_logic_op_enable element. */ const domColor_logic_op_enableRef getColor_logic_op_enable() const { return elemColor_logic_op_enable; } + /** + * Gets the color_material_enable element. + * @return a daeSmartRef to the color_material_enable element. + */ + const domColor_material_enableRef getColor_material_enable() const { return elemColor_material_enable; } /** * Gets the cull_face_enable element. * @return a daeSmartRef to the cull_face_enable element. @@ -11655,7 +12032,7 @@ protected: /** * Constructor */ - domGl_pipeline_settings() : elemAlpha_func(), elemBlend_func(), elemBlend_func_separate(), elemBlend_equation(), elemBlend_equation_separate(), elemColor_material(), elemCull_face(), elemDepth_func(), elemFog_mode(), elemFog_coord_src(), elemFront_face(), elemLight_model_color_control(), elemLogic_op(), elemPolygon_mode(), elemShade_model(), elemStencil_func(), elemStencil_op(), elemStencil_func_separate(), elemStencil_op_separate(), elemStencil_mask_separate(), elemLight_enable(), elemLight_ambient(), elemLight_diffuse(), elemLight_specular(), elemLight_position(), elemLight_constant_attenuation(), elemLight_linear_attenuation(), elemLight_quadratic_attenuation(), elemLight_spot_cutoff(), elemLight_spot_direction(), elemLight_spot_exponent(), elemTexture1D(), elemTexture2D(), elemTexture3D(), elemTextureCUBE(), elemTextureRECT(), elemTextureDEPTH(), elemTexture1D_enable(), elemTexture2D_enable(), elemTexture3D_enable(), elemTextureCUBE_enable(), elemTextureRECT_enable(), elemTextureDEPTH_enable(), elemTexture_env_color(), elemTexture_env_mode(), elemClip_plane(), elemClip_plane_enable(), elemBlend_color(), elemClear_color(), elemClear_stencil(), elemClear_depth(), elemColor_mask(), elemDepth_bounds(), elemDepth_mask(), elemDepth_range(), elemFog_density(), elemFog_start(), elemFog_end(), elemFog_color(), elemLight_model_ambient(), elemLighting_enable(), elemLine_stipple(), elemLine_width(), elemMaterial_ambient(), elemMaterial_diffuse(), elemMaterial_emission(), elemMaterial_shininess(), elemMaterial_specular(), elemModel_view_matrix(), elemPoint_distance_attenuation(), elemPoint_fade_threshold_size(), elemPoint_size(), elemPoint_size_min(), elemPoint_size_max(), elemPolygon_offset(), elemProjection_matrix(), elemScissor(), elemStencil_mask(), elemAlpha_test_enable(), elemAuto_normal_enable(), elemBlend_enable(), elemColor_logic_op_enable(), elemCull_face_enable(), elemDepth_bounds_enable(), elemDepth_clamp_enable(), elemDepth_test_enable(), elemDither_enable(), elemFog_enable(), elemLight_model_local_viewer_enable(), elemLight_model_two_side_enable(), elemLine_smooth_enable(), elemLine_stipple_enable(), elemLogic_op_enable(), elemMultisample_enable(), elemNormalize_enable(), elemPoint_smooth_enable(), elemPolygon_offset_fill_enable(), elemPolygon_offset_line_enable(), elemPolygon_offset_point_enable(), elemPolygon_smooth_enable(), elemPolygon_stipple_enable(), elemRescale_normal_enable(), elemSample_alpha_to_coverage_enable(), elemSample_alpha_to_one_enable(), elemSample_coverage_enable(), elemScissor_test_enable(), elemStencil_test_enable(), elemGl_hook_abstract() {} + domGl_pipeline_settings() : elemAlpha_func(), elemBlend_func(), elemBlend_func_separate(), elemBlend_equation(), elemBlend_equation_separate(), elemColor_material(), elemCull_face(), elemDepth_func(), elemFog_mode(), elemFog_coord_src(), elemFront_face(), elemLight_model_color_control(), elemLogic_op(), elemPolygon_mode(), elemShade_model(), elemStencil_func(), elemStencil_op(), elemStencil_func_separate(), elemStencil_op_separate(), elemStencil_mask_separate(), elemLight_enable(), elemLight_ambient(), elemLight_diffuse(), elemLight_specular(), elemLight_position(), elemLight_constant_attenuation(), elemLight_linear_attenuation(), elemLight_quadratic_attenuation(), elemLight_spot_cutoff(), elemLight_spot_direction(), elemLight_spot_exponent(), elemTexture1D(), elemTexture2D(), elemTexture3D(), elemTextureCUBE(), elemTextureRECT(), elemTextureDEPTH(), elemTexture1D_enable(), elemTexture2D_enable(), elemTexture3D_enable(), elemTextureCUBE_enable(), elemTextureRECT_enable(), elemTextureDEPTH_enable(), elemTexture_env_color(), elemTexture_env_mode(), elemClip_plane(), elemClip_plane_enable(), elemBlend_color(), elemClear_color(), elemClear_stencil(), elemClear_depth(), elemColor_mask(), elemDepth_bounds(), elemDepth_mask(), elemDepth_range(), elemFog_density(), elemFog_start(), elemFog_end(), elemFog_color(), elemLight_model_ambient(), elemLighting_enable(), elemLine_stipple(), elemLine_width(), elemMaterial_ambient(), elemMaterial_diffuse(), elemMaterial_emission(), elemMaterial_shininess(), elemMaterial_specular(), elemModel_view_matrix(), elemPoint_distance_attenuation(), elemPoint_fade_threshold_size(), elemPoint_size(), elemPoint_size_min(), elemPoint_size_max(), elemPolygon_offset(), elemProjection_matrix(), elemScissor(), elemStencil_mask(), elemAlpha_test_enable(), elemAuto_normal_enable(), elemBlend_enable(), elemColor_logic_op_enable(), elemColor_material_enable(), elemCull_face_enable(), elemDepth_bounds_enable(), elemDepth_clamp_enable(), elemDepth_test_enable(), elemDither_enable(), elemFog_enable(), elemLight_model_local_viewer_enable(), elemLight_model_two_side_enable(), elemLine_smooth_enable(), elemLine_stipple_enable(), elemLogic_op_enable(), elemMultisample_enable(), elemNormalize_enable(), elemPoint_smooth_enable(), elemPolygon_offset_fill_enable(), elemPolygon_offset_line_enable(), elemPolygon_offset_point_enable(), elemPolygon_smooth_enable(), elemPolygon_stipple_enable(), elemRescale_normal_enable(), elemSample_alpha_to_coverage_enable(), elemSample_alpha_to_one_enable(), elemSample_coverage_enable(), elemScissor_test_enable(), elemStencil_test_enable(), elemGl_hook_abstract() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_basic_type_common.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_basic_type_common.h index 0a19fe9df..e70cff13d 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_basic_type_common.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_basic_type_common.h @@ -2072,6 +2072,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_newparam.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_newparam.h index 91cd7787a..d7453efd2 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_newparam.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_newparam.h @@ -46,14 +46,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -199,7 +199,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the annotate element array. @@ -250,6 +250,20 @@ protected: */ class domGles_newparam : public daeElement, public domGles_newparam_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_pipeline_settings.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_pipeline_settings.h index c54e3bdf9..bd88bfe82 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_pipeline_settings.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_pipeline_settings.h @@ -54,7 +54,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_func_type atValue ) { attrValue = atValue; } + void setValue( domGl_func_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -65,7 +66,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -128,7 +130,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_alpha_value_type atValue ) { attrValue = atValue; } + void setValue( domGl_alpha_value_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -139,7 +142,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -266,7 +270,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -277,7 +282,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -340,7 +346,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_blend_type atValue ) { attrValue = atValue; } + void setValue( domGl_blend_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -351,7 +358,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -475,7 +483,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -486,7 +495,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -549,7 +559,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domInt atValue ) { attrValue = atValue; } + void setValue( domInt atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -560,7 +571,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -623,7 +635,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -634,7 +647,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -703,7 +717,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domBool4 &atValue ) { attrValue = atValue; } + void setValue( const domBool4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -714,7 +729,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -725,7 +741,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -793,7 +810,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domBool4 &atValue ) { attrValue = atValue; } + void setValue( const domBool4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -804,7 +822,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -867,7 +886,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_face_type atValue ) { attrValue = atValue; } + void setValue( domGl_face_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -878,7 +898,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -941,7 +962,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_func_type atValue ) { attrValue = atValue; } + void setValue( domGl_func_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -952,7 +974,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1015,7 +1038,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1026,7 +1050,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1094,7 +1119,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat2 &atValue ) { attrValue = atValue; } + void setValue( const domFloat2 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1105,7 +1131,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1173,7 +1200,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1184,7 +1212,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1247,7 +1276,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1258,7 +1288,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1321,7 +1352,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_fog_type atValue ) { attrValue = atValue; } + void setValue( domGl_fog_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1332,7 +1364,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1395,7 +1428,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1406,7 +1440,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1469,7 +1504,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1480,7 +1516,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1543,7 +1580,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_front_face_type atValue ) { attrValue = atValue; } + void setValue( domGl_front_face_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1554,7 +1592,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1618,7 +1657,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[0] = true; } /** * Gets the value element. @@ -1686,7 +1726,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_logic_op_type atValue ) { attrValue = atValue; } + void setValue( domGl_logic_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1697,7 +1738,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -1766,7 +1808,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1777,7 +1820,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -1788,7 +1832,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -1857,7 +1902,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1868,7 +1914,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -1879,7 +1926,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -1948,7 +1996,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -1959,7 +2008,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -1970,7 +2020,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -2039,7 +2090,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2050,7 +2102,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -2061,7 +2114,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -2125,7 +2179,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2136,7 +2191,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -2147,7 +2203,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -2211,7 +2268,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2222,7 +2280,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -2233,7 +2292,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -2297,7 +2357,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2308,7 +2369,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -2319,7 +2381,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -2383,7 +2446,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2394,7 +2458,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -2405,7 +2470,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -2474,7 +2540,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat3 &atValue ) { attrValue = atValue; } + void setValue( const domFloat3 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2485,7 +2552,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -2496,7 +2564,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -2560,7 +2629,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2571,7 +2641,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -2582,7 +2653,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -2650,7 +2722,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2661,7 +2734,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2724,7 +2798,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2735,7 +2810,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2803,7 +2879,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2814,7 +2891,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2882,7 +2960,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2893,7 +2972,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -2961,7 +3041,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -2972,7 +3053,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3035,7 +3117,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3046,7 +3129,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3114,7 +3198,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3125,7 +3210,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3193,7 +3279,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3204,7 +3291,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3272,7 +3360,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat3 &atValue ) { attrValue = atValue; } + void setValue( const domFloat3 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3283,7 +3372,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3346,7 +3436,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3357,7 +3448,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3420,7 +3512,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3431,7 +3524,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3494,7 +3588,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3505,7 +3600,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3568,7 +3664,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domFloat atValue ) { attrValue = atValue; } + void setValue( domFloat atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3579,7 +3676,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3647,7 +3745,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat2 &atValue ) { attrValue = atValue; } + void setValue( const domFloat2 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3658,7 +3757,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3726,7 +3826,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; } + void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3737,7 +3838,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3805,7 +3907,8 @@ public: * Sets the value array attribute. * @param atValue The new value for the value array attribute. */ - void setValue( const domInt4 &atValue ) { attrValue = atValue; } + void setValue( const domInt4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3816,7 +3919,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3879,7 +3983,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_shade_model_type atValue ) { attrValue = atValue; } + void setValue( domGl_shade_model_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3890,7 +3995,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -3961,7 +4067,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGl_func_type atValue ) { attrValue = atValue; } + void setValue( domGl_func_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -3972,7 +4079,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4035,7 +4143,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( xsUnsignedByte atValue ) { attrValue = atValue; } + void setValue( xsUnsignedByte atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4046,7 +4155,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4109,7 +4219,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( xsUnsignedByte atValue ) { attrValue = atValue; } + void setValue( xsUnsignedByte atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4120,7 +4231,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4245,7 +4357,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domInt atValue ) { attrValue = atValue; } + void setValue( domInt atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4256,7 +4369,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4327,7 +4441,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4338,7 +4453,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4401,7 +4517,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4412,7 +4529,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4475,7 +4593,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; } + void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4486,7 +4605,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4611,7 +4731,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4622,7 +4743,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4685,7 +4807,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4696,7 +4819,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4760,7 +4884,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4771,7 +4896,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -4782,7 +4908,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -4845,7 +4972,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4856,7 +4984,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4919,7 +5048,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -4930,7 +5060,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -4993,7 +5124,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5004,7 +5136,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5067,7 +5200,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5078,7 +5212,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5141,7 +5276,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5152,7 +5288,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5215,7 +5352,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5226,7 +5364,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5289,7 +5428,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5300,7 +5440,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5364,7 +5505,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5375,7 +5517,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } /** * Gets the index attribute. @@ -5386,7 +5529,8 @@ public: * Sets the index attribute. * @param atIndex The new value for the index attribute. */ - void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; } + void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; + _validAttributeArray[2] = true; } protected: /** @@ -5449,7 +5593,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5460,7 +5605,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5523,7 +5669,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5534,7 +5681,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5597,7 +5745,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5608,7 +5757,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5671,7 +5821,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5682,7 +5833,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5745,7 +5897,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5756,7 +5909,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5819,7 +5973,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5830,7 +5985,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5893,7 +6049,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5904,7 +6061,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -5967,7 +6125,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -5978,7 +6137,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6041,7 +6201,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6052,7 +6213,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6115,7 +6277,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6126,7 +6289,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6189,7 +6353,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6200,7 +6365,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6263,7 +6429,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6274,7 +6441,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6337,7 +6505,8 @@ public: * Sets the value attribute. * @param atValue The new value for the value attribute. */ - void setValue( domBool atValue ) { attrValue = atValue; } + void setValue( domBool atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } /** * Gets the param attribute. @@ -6348,7 +6517,8 @@ public: * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } protected: /** @@ -6469,6 +6639,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_sampler_state.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_sampler_state.h index 53cbed4c3..78d70726b 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_sampler_state.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_sampler_state.h @@ -513,7 +513,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the wrap_s element. @@ -584,6 +584,20 @@ protected: */ class domGles_sampler_state : public daeElement, public domGles_sampler_state_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h index 3b13de95b..c301345bf 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h @@ -57,7 +57,7 @@ public: //Accessors and Mutators * Sets the unit attribute. * @param atUnit The new value for the unit attribute. */ - void setUnit( xsNCName atUnit ) { attrUnit = atUnit; } + void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; } protected: /** @@ -83,6 +83,44 @@ protected: */ class domGles_texcombiner_argumentAlpha_type : public daeElement, public domGles_texcombiner_argumentAlpha_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the source attribute. + * @return Returns a domGles_texcombiner_source_enums of the source attribute. + */ + domGles_texcombiner_source_enums getSource() const { return attrSource; } + /** + * Sets the source attribute. + * @param atSource The new value for the source attribute. + */ + void setSource( domGles_texcombiner_source_enums atSource ) { attrSource = atSource; + _validAttributeArray[0] = true; } + + /** + * Gets the operand attribute. + * @return Returns a domGles_texcombiner_operandAlpha_enums of the operand attribute. + */ + domGles_texcombiner_operandAlpha_enums getOperand() const { return attrOperand; } + /** + * Sets the operand attribute. + * @param atOperand The new value for the operand attribute. + */ + void setOperand( domGles_texcombiner_operandAlpha_enums atOperand ) { attrOperand = atOperand; + _validAttributeArray[1] = true; } + + /** + * Gets the unit attribute. + * @return Returns a xsNCName of the unit attribute. + */ + xsNCName getUnit() const { return attrUnit; } + /** + * Sets the unit attribute. + * @param atUnit The new value for the unit attribute. + */ + void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; + _validAttributeArray[2] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h index afc116d34..275704585 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h @@ -57,7 +57,7 @@ public: //Accessors and Mutators * Sets the unit attribute. * @param atUnit The new value for the unit attribute. */ - void setUnit( xsNCName atUnit ) { attrUnit = atUnit; } + void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; } protected: /** @@ -83,6 +83,44 @@ protected: */ class domGles_texcombiner_argumentRGB_type : public daeElement, public domGles_texcombiner_argumentRGB_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the source attribute. + * @return Returns a domGles_texcombiner_source_enums of the source attribute. + */ + domGles_texcombiner_source_enums getSource() const { return attrSource; } + /** + * Sets the source attribute. + * @param atSource The new value for the source attribute. + */ + void setSource( domGles_texcombiner_source_enums atSource ) { attrSource = atSource; + _validAttributeArray[0] = true; } + + /** + * Gets the operand attribute. + * @return Returns a domGles_texcombiner_operandRGB_enums of the operand attribute. + */ + domGles_texcombiner_operandRGB_enums getOperand() const { return attrOperand; } + /** + * Sets the operand attribute. + * @param atOperand The new value for the operand attribute. + */ + void setOperand( domGles_texcombiner_operandRGB_enums atOperand ) { attrOperand = atOperand; + _validAttributeArray[1] = true; } + + /** + * Gets the unit attribute. + * @return Returns a xsNCName of the unit attribute. + */ + xsNCName getUnit() const { return attrUnit; } + /** + * Sets the unit attribute. + * @param atUnit The new value for the unit attribute. + */ + void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; + _validAttributeArray[2] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h index ef9efb147..2b5dbeb3c 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h @@ -84,6 +84,32 @@ protected: */ class domGles_texcombiner_commandAlpha_type : public daeElement, public domGles_texcombiner_commandAlpha_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the operator attribute. + * @return Returns a domGles_texcombiner_operatorAlpha_enums of the operator attribute. + */ + domGles_texcombiner_operatorAlpha_enums getOperator() const { return attrOperator; } + /** + * Sets the operator attribute. + * @param atOperator The new value for the operator attribute. + */ + void setOperator( domGles_texcombiner_operatorAlpha_enums atOperator ) { attrOperator = atOperator; + _validAttributeArray[0] = true; } + + /** + * Gets the scale attribute. + * @return Returns a xsFloat of the scale attribute. + */ + xsFloat getScale() const { return attrScale; } + /** + * Sets the scale attribute. + * @param atScale The new value for the scale attribute. + */ + void setScale( xsFloat atScale ) { attrScale = atScale; + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_commandRGB_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_commandRGB_type.h index c7ae43e47..e50f8c0cc 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_commandRGB_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texcombiner_commandRGB_type.h @@ -88,6 +88,32 @@ protected: */ class domGles_texcombiner_commandRGB_type : public daeElement, public domGles_texcombiner_commandRGB_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the operator attribute. + * @return Returns a domGles_texcombiner_operatorRGB_enums of the operator attribute. + */ + domGles_texcombiner_operatorRGB_enums getOperator() const { return attrOperator; } + /** + * Sets the operator attribute. + * @param atOperator The new value for the operator attribute. + */ + void setOperator( domGles_texcombiner_operatorRGB_enums atOperator ) { attrOperator = atOperator; + _validAttributeArray[0] = true; } + + /** + * Gets the scale attribute. + * @return Returns a xsFloat of the scale attribute. + */ + xsFloat getScale() const { return attrScale; } + /** + * Sets the scale attribute. + * @param atScale The new value for the scale attribute. + */ + void setScale( xsFloat atScale ) { attrScale = atScale; + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texenv_command_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texenv_command_type.h index 2a98db2e3..dc97dadb2 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texenv_command_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texenv_command_type.h @@ -48,7 +48,7 @@ public: //Accessors and Mutators * Sets the unit attribute. * @param atUnit The new value for the unit attribute. */ - void setUnit( xsNCName atUnit ) { attrUnit = atUnit; } + void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; } /** * Gets the constant element. @@ -79,6 +79,32 @@ protected: */ class domGles_texenv_command_type : public daeElement, public domGles_texenv_command_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the operator attribute. + * @return Returns a domGles_texenv_mode_enums of the operator attribute. + */ + domGles_texenv_mode_enums getOperator() const { return attrOperator; } + /** + * Sets the operator attribute. + * @param atOperator The new value for the operator attribute. + */ + void setOperator( domGles_texenv_mode_enums atOperator ) { attrOperator = atOperator; + _validAttributeArray[0] = true; } + + /** + * Gets the unit attribute. + * @return Returns a xsNCName of the unit attribute. + */ + xsNCName getUnit() const { return attrUnit; } + /** + * Sets the unit attribute. + * @param atUnit The new value for the unit attribute. + */ + void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_constant_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_constant_type.h index 61b307ca5..9093f6eea 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_constant_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_constant_type.h @@ -50,7 +50,7 @@ public: //Accessors and Mutators * Sets the param attribute. * @param atParam The new value for the param attribute. */ - void setParam( xsNCName atParam ) { attrParam = atParam; } + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; } protected: /** @@ -76,6 +76,37 @@ protected: */ class domGles_texture_constant_type : public daeElement, public domGles_texture_constant_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the value array attribute. + * @return Returns a domFloat4 reference of the value array attribute. + */ + domFloat4 &getValue() { return attrValue; } + /** + * Gets the value array attribute. + * @return Returns a constant domFloat4 reference of the value array attribute. + */ + const domFloat4 &getValue() const { return attrValue; } + /** + * Sets the value array attribute. + * @param atValue The new value for the value array attribute. + */ + void setValue( const domFloat4 &atValue ) { attrValue = atValue; + _validAttributeArray[0] = true; } + + /** + * Gets the param attribute. + * @return Returns a xsNCName of the param attribute. + */ + xsNCName getParam() const { return attrParam; } + /** + * Sets the param attribute. + * @param atParam The new value for the param attribute. + */ + void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_pipeline.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_pipeline.h index 372c70968..f5b5e9da8 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_pipeline.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_pipeline.h @@ -54,6 +54,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -66,7 +70,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the texcombiner element array. @@ -133,6 +137,20 @@ protected: */ class domGles_texture_pipeline : public daeElement, public domGles_texture_pipeline_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_unit.h b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_unit.h index 4e49a17f5..2ddea3e22 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_unit.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGles_texture_unit.h @@ -16,6 +16,7 @@ #include #include +#include class domGles_texture_unit_complexType { @@ -37,14 +38,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -102,14 +103,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -171,7 +172,8 @@ public: * Sets the semantic attribute. * @param atSemantic The new value for the semantic attribute. */ - void setSemantic( xsNCName atSemantic ) { attrSemantic = atSemantic; } + void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; + _validAttributeArray[0] = true; } protected: /** @@ -225,6 +227,7 @@ protected: // Elements domSurfaceRef elemSurface; domSampler_stateRef elemSampler_state; domTexcoordRef elemTexcoord; + domExtra_Array elemExtra_array; public: //Accessors and Mutators /** @@ -236,7 +239,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the surface element. @@ -253,11 +256,21 @@ public: //Accessors and Mutators * @return a daeSmartRef to the texcoord element. */ const domTexcoordRef getTexcoord() const { return elemTexcoord; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } protected: /** * Constructor */ - domGles_texture_unit_complexType() : attrSid(), elemSurface(), elemSampler_state(), elemTexcoord() {} + domGles_texture_unit_complexType() : attrSid(), elemSurface(), elemSampler_state(), elemTexcoord(), elemExtra_array() {} /** * Destructor */ @@ -277,6 +290,20 @@ protected: */ class domGles_texture_unit : public daeElement, public domGles_texture_unit_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_newarray_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_newarray_type.h index a1cdf70be..0f5df3504 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_newarray_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_newarray_type.h @@ -42,6 +42,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -111,6 +115,20 @@ protected: */ class domGlsl_newarray_type : public daeElement, public domGlsl_newarray_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the length attribute. + * @return Returns a xsPositiveInteger of the length attribute. + */ + xsPositiveInteger getLength() const { return attrLength; } + /** + * Sets the length attribute. + * @param atLength The new value for the length attribute. + */ + void setLength( xsPositiveInteger atLength ) { attrLength = atLength; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_newparam.h b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_newparam.h index 2d7e9c524..8b22602a8 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_newparam.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_newparam.h @@ -40,14 +40,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -167,6 +167,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -246,6 +250,20 @@ protected: */ class domGlsl_newparam : public daeElement, public domGlsl_newparam_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a domGlsl_identifier of the sid attribute. + */ + domGlsl_identifier getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( domGlsl_identifier atSid ) { attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_param_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_param_type.h index 73d6a9157..8268db296 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_param_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_param_type.h @@ -16,7 +16,7 @@ #include #include -#include +#include #include #include #include @@ -1148,7 +1148,7 @@ protected: // Elements domInt2Ref elemInt2; domInt3Ref elemInt3; domInt4Ref elemInt4; - domFx_surface_commonRef elemSurface; + domGlsl_surface_typeRef elemSurface; domGl_sampler1DRef elemSampler1D; domGl_sampler2DRef elemSampler2D; domGl_sampler3DRef elemSampler3D; @@ -1160,6 +1160,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -1242,7 +1246,7 @@ public: //Accessors and Mutators * Gets the surface element. * @return a daeSmartRef to the surface element. */ - const domFx_surface_commonRef getSurface() const { return elemSurface; } + const domGlsl_surface_typeRef getSurface() const { return elemSurface; } /** * Gets the sampler1D element. * @return a daeSmartRef to the sampler1D element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setarray_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setarray_type.h index c7865f626..97351a386 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setarray_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setarray_type.h @@ -42,6 +42,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -111,6 +115,20 @@ protected: */ class domGlsl_setarray_type : public daeElement, public domGlsl_setarray_type_complexType { + +public: //Accessors and Mutators + /** + * Gets the length attribute. + * @return Returns a xsPositiveInteger of the length attribute. + */ + xsPositiveInteger getLength() const { return attrLength; } + /** + * Sets the length attribute. + * @param atLength The new value for the length attribute. + */ + void setLength( xsPositiveInteger atLength ) { attrLength = atLength; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setparam.h b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setparam.h index 3b9bd852f..6dde2b149 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setparam.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setparam.h @@ -34,6 +34,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -57,7 +61,7 @@ public: //Accessors and Mutators * Sets the program attribute. * @param atProgram The new value for the program attribute. */ - void setProgram( xsNCName atProgram ) { attrProgram = atProgram; } + void setProgram( xsNCName atProgram ) { *(daeStringRef*)&attrProgram = atProgram; } /** * Gets the annotate element array. @@ -114,6 +118,32 @@ protected: */ class domGlsl_setparam : public daeElement, public domGlsl_setparam_complexType { + +public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a domGlsl_identifier of the ref attribute. + */ + domGlsl_identifier getRef() const { return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( domGlsl_identifier atRef ) { attrRef = atRef; + _validAttributeArray[0] = true; } + + /** + * Gets the program attribute. + * @return Returns a xsNCName of the program attribute. + */ + xsNCName getProgram() const { return attrProgram; } + /** + * Sets the program attribute. + * @param atProgram The new value for the program attribute. + */ + void setProgram( xsNCName atProgram ) { *(daeStringRef*)&attrProgram = atProgram; + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setparam_simple.h b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setparam_simple.h index 8abe5fa3d..cc8fc13fb 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setparam_simple.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_setparam_simple.h @@ -79,6 +79,20 @@ protected: */ class domGlsl_setparam_simple : public daeElement, public domGlsl_setparam_simple_complexType { + +public: //Accessors and Mutators + /** + * Gets the ref attribute. + * @return Returns a domGlsl_identifier of the ref attribute. + */ + domGlsl_identifier getRef() const { return attrRef; } + /** + * Sets the ref attribute. + * @param atRef The new value for the ref attribute. + */ + void setRef( domGlsl_identifier atRef ) { attrRef = atRef; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_surface_type.h b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_surface_type.h index 9fa0eb1d1..9c965e632 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_surface_type.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domGlsl_surface_type.h @@ -69,18 +69,19 @@ public: * Sets the source attribute. * @param atSource The new value for the source attribute. */ - void setSource( xsNCName atSource ) { attrSource = atSource; } + void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; + _validAttributeArray[0] = true; } /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -152,6 +153,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domIDREF_array.h b/Extras/COLLADA_DOM/include/1.4/dom/domIDREF_array.h index dc271a2cd..280891f5b 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domIDREF_array.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domIDREF_array.h @@ -56,7 +56,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -67,7 +68,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the count attribute. @@ -78,7 +80,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[2] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domImage.h b/Extras/COLLADA_DOM/include/1.4/dom/domImage.h index 9de1d3e44..52513308e 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domImage.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domImage.h @@ -234,6 +234,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -246,7 +250,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -257,7 +262,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the format attribute. @@ -268,7 +274,8 @@ public: //Accessors and Mutators * Sets the format attribute. * @param atFormat The new value for the format attribute. */ - void setFormat( xsToken atFormat ) { attrFormat = atFormat; } + void setFormat( xsToken atFormat ) { *(daeStringRef*)&attrFormat = atFormat; + _validAttributeArray[2] = true; } /** * Gets the height attribute. @@ -279,7 +286,8 @@ public: //Accessors and Mutators * Sets the height attribute. * @param atHeight The new value for the height attribute. */ - void setHeight( domUint atHeight ) { attrHeight = atHeight; } + void setHeight( domUint atHeight ) { attrHeight = atHeight; + _validAttributeArray[3] = true; } /** * Gets the width attribute. @@ -290,7 +298,8 @@ public: //Accessors and Mutators * Sets the width attribute. * @param atWidth The new value for the width attribute. */ - void setWidth( domUint atWidth ) { attrWidth = atWidth; } + void setWidth( domUint atWidth ) { attrWidth = atWidth; + _validAttributeArray[4] = true; } /** * Gets the depth attribute. @@ -301,7 +310,8 @@ public: //Accessors and Mutators * Sets the depth attribute. * @param atDepth The new value for the depth attribute. */ - void setDepth( domUint atDepth ) { attrDepth = atDepth; } + void setDepth( domUint atDepth ) { attrDepth = atDepth; + _validAttributeArray[5] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInputGlobal.h b/Extras/COLLADA_DOM/include/1.4/dom/domInputGlobal.h index f1beea5f4..3b4c133c7 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInputGlobal.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInputGlobal.h @@ -46,7 +46,7 @@ public: //Accessors and Mutators * Sets the semantic attribute. * @param atSemantic The new value for the semantic attribute. */ - void setSemantic( xsNMTOKEN atSemantic ) { attrSemantic = atSemantic; } + void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; } /** * Gets the source attribute. @@ -88,6 +88,37 @@ protected: */ class domInputGlobal : public daeElement, public domInputGlobal_complexType { + +public: //Accessors and Mutators + /** + * Gets the semantic attribute. + * @return Returns a xsNMTOKEN of the semantic attribute. + */ + xsNMTOKEN getSemantic() const { return attrSemantic; } + /** + * Sets the semantic attribute. + * @param atSemantic The new value for the semantic attribute. + */ + void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; + _validAttributeArray[0] = true; } + + /** + * Gets the source attribute. + * @return Returns a xsAnyURI reference of the source attribute. + */ + xsAnyURI &getSource() { return attrSource; } + /** + * Gets the source attribute. + * @return Returns a constant xsAnyURI reference of the source attribute. + */ + const xsAnyURI &getSource() const { return attrSource; } + /** + * Sets the source attribute. + * @param atSource The new value for the source attribute. + */ + void setSource( const xsAnyURI &atSource ) { attrSource.setURI( atSource.getURI() ); + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInputLocal.h b/Extras/COLLADA_DOM/include/1.4/dom/domInputLocal.h index dbba2ac1d..9dc543f46 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInputLocal.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInputLocal.h @@ -46,7 +46,7 @@ public: //Accessors and Mutators * Sets the semantic attribute. * @param atSemantic The new value for the semantic attribute. */ - void setSemantic( xsNMTOKEN atSemantic ) { attrSemantic = atSemantic; } + void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; } /** * Gets the source attribute. @@ -88,6 +88,37 @@ protected: */ class domInputLocal : public daeElement, public domInputLocal_complexType { + +public: //Accessors and Mutators + /** + * Gets the semantic attribute. + * @return Returns a xsNMTOKEN of the semantic attribute. + */ + xsNMTOKEN getSemantic() const { return attrSemantic; } + /** + * Sets the semantic attribute. + * @param atSemantic The new value for the semantic attribute. + */ + void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; + _validAttributeArray[0] = true; } + + /** + * Gets the source attribute. + * @return Returns a domURIFragmentType reference of the source attribute. + */ + domURIFragmentType &getSource() { return attrSource; } + /** + * Gets the source attribute. + * @return Returns a constant domURIFragmentType reference of the source attribute. + */ + const domURIFragmentType &getSource() const { return attrSource; } + /** + * Sets the source attribute. + * @param atSource The new value for the source attribute. + */ + void setSource( const domURIFragmentType &atSource ) { attrSource.setURI( atSource.getURI() ); + _validAttributeArray[1] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInputLocalOffset.h b/Extras/COLLADA_DOM/include/1.4/dom/domInputLocalOffset.h index 1d0a6ebd8..b882171fa 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInputLocalOffset.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInputLocalOffset.h @@ -69,7 +69,7 @@ public: //Accessors and Mutators * Sets the semantic attribute. * @param atSemantic The new value for the semantic attribute. */ - void setSemantic( xsNMTOKEN atSemantic ) { attrSemantic = atSemantic; } + void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; } /** * Gets the source attribute. @@ -122,6 +122,61 @@ protected: */ class domInputLocalOffset : public daeElement, public domInputLocalOffset_complexType { + +public: //Accessors and Mutators + /** + * Gets the offset attribute. + * @return Returns a domUint of the offset attribute. + */ + domUint getOffset() const { return attrOffset; } + /** + * Sets the offset attribute. + * @param atOffset The new value for the offset attribute. + */ + void setOffset( domUint atOffset ) { attrOffset = atOffset; + _validAttributeArray[0] = true; } + + /** + * Gets the semantic attribute. + * @return Returns a xsNMTOKEN of the semantic attribute. + */ + xsNMTOKEN getSemantic() const { return attrSemantic; } + /** + * Sets the semantic attribute. + * @param atSemantic The new value for the semantic attribute. + */ + void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; + _validAttributeArray[1] = true; } + + /** + * Gets the source attribute. + * @return Returns a domURIFragmentType reference of the source attribute. + */ + domURIFragmentType &getSource() { return attrSource; } + /** + * Gets the source attribute. + * @return Returns a constant domURIFragmentType reference of the source attribute. + */ + const domURIFragmentType &getSource() const { return attrSource; } + /** + * Sets the source attribute. + * @param atSource The new value for the source attribute. + */ + void setSource( const domURIFragmentType &atSource ) { attrSource.setURI( atSource.getURI() ); + _validAttributeArray[2] = true; } + + /** + * Gets the set attribute. + * @return Returns a domUint of the set attribute. + */ + domUint getSet() const { return attrSet; } + /** + * Sets the set attribute. + * @param atSet The new value for the set attribute. + */ + void setSet( domUint atSet ) { attrSet = atSet; + _validAttributeArray[3] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInstanceWithExtra.h b/Extras/COLLADA_DOM/include/1.4/dom/domInstanceWithExtra.h index 274872d64..968e03fef 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInstanceWithExtra.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInstanceWithExtra.h @@ -25,7 +25,7 @@ */ class domInstanceWithExtra_complexType { -protected: // Attribute +protected: // Attributes /** * The url attribute refers to resource to instantiate. This may refer to * a local resource using a relative URL fragment identifier that begins @@ -33,6 +33,16 @@ protected: // Attribute * resource using an absolute or relative URL. */ xsAnyURI attrUrl; +/** + * The sid attribute is a text string value containing the sub-identifier + * of this element. This value must be unique within the scope of the parent + * element. Optional attribute. + */ + xsNCName attrSid; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; protected: // Element /** @@ -57,6 +67,28 @@ public: //Accessors and Mutators */ void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); } + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; } + /** * Gets the extra element array. * @return Returns a reference to the array of extra elements. @@ -71,7 +103,7 @@ protected: /** * Constructor */ - domInstanceWithExtra_complexType() : attrUrl(), elemExtra_array() {} + domInstanceWithExtra_complexType() : attrUrl(), attrSid(), attrName(), elemExtra_array() {} /** * Destructor */ @@ -91,6 +123,49 @@ protected: */ class domInstanceWithExtra : public daeElement, public domInstanceWithExtra_complexType { + +public: //Accessors and Mutators + /** + * Gets the url attribute. + * @return Returns a xsAnyURI reference of the url attribute. + */ + xsAnyURI &getUrl() { return attrUrl; } + /** + * Gets the url attribute. + * @return Returns a constant xsAnyURI reference of the url attribute. + */ + const xsAnyURI &getUrl() const { return attrUrl; } + /** + * Sets the url attribute. + * @param atUrl The new value for the url attribute. + */ + void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); + _validAttributeArray[0] = true; } + + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[2] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_controller.h b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_controller.h index 1551a06f6..2590d5aed 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_controller.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_controller.h @@ -102,7 +102,7 @@ public: }; -protected: // Attribute +protected: // Attributes /** * The url attribute refers to resource. This may refer to a local resource * using a relative URL fragment identifier that begins with the “#” @@ -110,6 +110,16 @@ protected: // Attribute * absolute or relative URL. */ xsAnyURI attrUrl; +/** + * The sid attribute is a text string value containing the sub-identifier + * of this element. This value must be unique within the scope of the parent + * element. Optional attribute. + */ + xsNCName attrSid; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; protected: // Elements /** @@ -143,7 +153,32 @@ public: //Accessors and Mutators * Sets the url attribute. * @param atUrl The new value for the url attribute. */ - void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); } + void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); + _validAttributeArray[0] = true; } + + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[2] = true; } /** * Gets the skeleton element array. @@ -174,7 +209,7 @@ protected: /** * Constructor */ - domInstance_controller() : attrUrl(), elemSkeleton_array(), elemBind_material(), elemExtra_array() {} + domInstance_controller() : attrUrl(), attrSid(), attrName(), elemSkeleton_array(), elemBind_material(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_effect.h b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_effect.h index d8a91e566..fa92f9ad1 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_effect.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_effect.h @@ -38,10 +38,15 @@ public: { protected: // Attributes /** - * “platform” defines a string that specifies which platform this is - * hint is aimed for. + * A platform defines a string that specifies which platform this is hint + * is aimed for. */ xsNCName attrPlatform; +/** + * A profile defines a string that specifies which API profile this is hint + * is aimed for. + */ + xsNCName attrProfile; /** * A reference to the technique to use for the specified platform. */ @@ -58,7 +63,20 @@ public: * Sets the platform attribute. * @param atPlatform The new value for the platform attribute. */ - void setPlatform( xsNCName atPlatform ) { attrPlatform = atPlatform; } + void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; + _validAttributeArray[0] = true; } + + /** + * Gets the profile attribute. + * @return Returns a xsNCName of the profile attribute. + */ + xsNCName getProfile() const { return attrProfile; } + /** + * Sets the profile attribute. + * @param atProfile The new value for the profile attribute. + */ + void setProfile( xsNCName atProfile ) { *(daeStringRef*)&attrProfile = atProfile; + _validAttributeArray[1] = true; } /** * Gets the ref attribute. @@ -69,13 +87,14 @@ public: * Sets the ref attribute. * @param atRef The new value for the ref attribute. */ - void setRef( xsNCName atRef ) { attrRef = atRef; } + void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; + _validAttributeArray[2] = true; } protected: /** * Constructor */ - domTechnique_hint() : attrPlatform(), attrRef() {} + domTechnique_hint() : attrPlatform(), attrProfile(), attrRef() {} /** * Destructor */ @@ -121,7 +140,7 @@ public: class domSetparam : public daeElement { protected: // Attribute - xsNCName attrRef; + xsToken attrRef; protected: // Element domFx_basic_type_commonRef elemFx_basic_type_common; @@ -129,14 +148,15 @@ public: public: //Accessors and Mutators /** * Gets the ref attribute. - * @return Returns a xsNCName of the ref attribute. + * @return Returns a xsToken of the ref attribute. */ - xsNCName getRef() const { return attrRef; } + xsToken getRef() const { return attrRef; } /** * Sets the ref attribute. * @param atRef The new value for the ref attribute. */ - void setRef( xsNCName atRef ) { attrRef = atRef; } + void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; + _validAttributeArray[0] = true; } /** * Gets the fx_basic_type_common element. @@ -183,7 +203,7 @@ public: }; -protected: // Attribute +protected: // Attributes /** * The url attribute refers to resource. This may refer to a local resource * using a relative URL fragment identifier that begins with the “#” @@ -191,6 +211,16 @@ protected: // Attribute * absolute or relative URL. */ xsAnyURI attrUrl; +/** + * The sid attribute is a text string value containing the sub-identifier + * of this element. This value must be unique within the scope of the parent + * element. Optional attribute. + */ + xsNCName attrSid; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; protected: // Elements /** @@ -222,7 +252,32 @@ public: //Accessors and Mutators * Sets the url attribute. * @param atUrl The new value for the url attribute. */ - void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); } + void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); + _validAttributeArray[0] = true; } + + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[2] = true; } /** * Gets the technique_hint element array. @@ -258,7 +313,7 @@ protected: /** * Constructor */ - domInstance_effect() : attrUrl(), elemTechnique_hint_array(), elemSetparam_array(), elemExtra_array() {} + domInstance_effect() : attrUrl(), attrSid(), attrName(), elemTechnique_hint_array(), elemSetparam_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_geometry.h b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_geometry.h index 121e72c1e..cae074f53 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_geometry.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_geometry.h @@ -25,7 +25,7 @@ */ class domInstance_geometry : public daeElement { -protected: // Attribute +protected: // Attributes /** * The url attribute refers to resource. This may refer to a local resource * using a relative URL fragment identifier that begins with the “#” @@ -33,6 +33,16 @@ protected: // Attribute * absolute or relative URL. */ xsAnyURI attrUrl; +/** + * The sid attribute is a text string value containing the sub-identifier + * of this element. This value must be unique within the scope of the parent + * element. Optional attribute. + */ + xsNCName attrSid; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; protected: // Elements /** @@ -60,7 +70,32 @@ public: //Accessors and Mutators * Sets the url attribute. * @param atUrl The new value for the url attribute. */ - void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); } + void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); + _validAttributeArray[0] = true; } + + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[2] = true; } /** * Gets the bind_material element. @@ -81,7 +116,7 @@ protected: /** * Constructor */ - domInstance_geometry() : attrUrl(), elemBind_material(), elemExtra_array() {} + domInstance_geometry() : attrUrl(), attrSid(), attrName(), elemBind_material(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_material.h b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_material.h index a2ab71add..c9d9cec5c 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_material.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_material.h @@ -58,7 +58,8 @@ public: * Sets the semantic attribute. * @param atSemantic The new value for the semantic attribute. */ - void setSemantic( xsNCName atSemantic ) { attrSemantic = atSemantic; } + void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; + _validAttributeArray[0] = true; } /** * Gets the target attribute. @@ -69,7 +70,8 @@ public: * Sets the target attribute. * @param atTarget The new value for the target attribute. */ - void setTarget( xsToken atTarget ) { attrTarget = atTarget; } + void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget; + _validAttributeArray[1] = true; } protected: /** @@ -110,6 +112,108 @@ public: static daeMetaElement* _Meta; }; + class domBind_vertex_input; + + typedef daeSmartRef domBind_vertex_inputRef; + typedef daeTArray domBind_vertex_input_Array; + +/** + * The bind_vertex_input element binds vertex inputs to effect parameters + * upon instantiation. + */ + class domBind_vertex_input : public daeElement + { + protected: // Attributes +/** + * The semantic attribute specifies which effect parameter to bind. + */ + xsNCName attrSemantic; +/** + * The input_semantic attribute specifies which input semantic to bind. + */ + xsNCName attrInput_semantic; +/** + * The input_set attribute specifies which input set to bind. + */ + domUint attrInput_set; + + + public: //Accessors and Mutators + /** + * Gets the semantic attribute. + * @return Returns a xsNCName of the semantic attribute. + */ + xsNCName getSemantic() const { return attrSemantic; } + /** + * Sets the semantic attribute. + * @param atSemantic The new value for the semantic attribute. + */ + void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; + _validAttributeArray[0] = true; } + + /** + * Gets the input_semantic attribute. + * @return Returns a xsNCName of the input_semantic attribute. + */ + xsNCName getInput_semantic() const { return attrInput_semantic; } + /** + * Sets the input_semantic attribute. + * @param atInput_semantic The new value for the input_semantic attribute. + */ + void setInput_semantic( xsNCName atInput_semantic ) { *(daeStringRef*)&attrInput_semantic = atInput_semantic; + _validAttributeArray[1] = true; } + + /** + * Gets the input_set attribute. + * @return Returns a domUint of the input_set attribute. + */ + domUint getInput_set() const { return attrInput_set; } + /** + * Sets the input_set attribute. + * @param atInput_set The new value for the input_set attribute. + */ + void setInput_set( domUint atInput_set ) { attrInput_set = atInput_set; + _validAttributeArray[2] = true; } + + protected: + /** + * Constructor + */ + domBind_vertex_input() : attrSemantic(), attrInput_semantic(), attrInput_set() {} + /** + * Destructor + */ + virtual ~domBind_vertex_input() {} + /** + * Copy Constructor + */ + domBind_vertex_input( const domBind_vertex_input &cpy ) : daeElement() { (void)cpy; } + /** + * Overloaded assignment operator + */ + virtual domBind_vertex_input &operator=( const domBind_vertex_input &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @param bytes The size allocated for this instance. + * @return a daeElementRef referencing an instance of this object. + */ + static daeElementRef create(daeInt bytes); + /** + * Creates a daeMetaElement object that describes this element in the meta object reflection framework. + * If a daeMetaElement already exists it will return that instead of creating a new one. + * @return A daeMetaElement describing this COLLADA element. + */ + static daeMetaElement* registerElement(); + + public: // STATIC MEMBERS + /** + * The daeMetaElement that describes this element in the meta object reflection framework. + */ + static daeMetaElement* _Meta; + }; + protected: // Attributes /** @@ -122,6 +226,16 @@ protected: // Attributes * instantiate. */ xsAnyURI attrTarget; +/** + * The sid attribute is a text string value containing the sub-identifier + * of this element. This value must be unique within the scope of the parent + * element. Optional attribute. + */ + xsNCName attrSid; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; protected: // Elements /** @@ -129,6 +243,11 @@ protected: // Elements * @see domBind */ domBind_Array elemBind_array; +/** + * The bind_vertex_input element binds vertex inputs to effect parameters + * upon instantiation. @see domBind_vertex_input + */ + domBind_vertex_input_Array elemBind_vertex_input_array; /** * The extra element may appear any number of times. @see domExtra */ @@ -144,7 +263,8 @@ public: //Accessors and Mutators * Sets the symbol attribute. * @param atSymbol The new value for the symbol attribute. */ - void setSymbol( xsNCName atSymbol ) { attrSymbol = atSymbol; } + void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; + _validAttributeArray[0] = true; } /** * Gets the target attribute. @@ -160,7 +280,32 @@ public: //Accessors and Mutators * Sets the target attribute. * @param atTarget The new value for the target attribute. */ - void setTarget( const xsAnyURI &atTarget ) { attrTarget.setURI( atTarget.getURI() ); } + void setTarget( const xsAnyURI &atTarget ) { attrTarget.setURI( atTarget.getURI() ); + _validAttributeArray[1] = true; } + + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[2] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[3] = true; } /** * Gets the bind element array. @@ -172,6 +317,16 @@ public: //Accessors and Mutators * @return Returns a constant reference to the array of bind elements. */ const domBind_Array &getBind_array() const { return elemBind_array; } + /** + * Gets the bind_vertex_input element array. + * @return Returns a reference to the array of bind_vertex_input elements. + */ + domBind_vertex_input_Array &getBind_vertex_input_array() { return elemBind_vertex_input_array; } + /** + * Gets the bind_vertex_input element array. + * @return Returns a constant reference to the array of bind_vertex_input elements. + */ + const domBind_vertex_input_Array &getBind_vertex_input_array() const { return elemBind_vertex_input_array; } /** * Gets the extra element array. * @return Returns a reference to the array of extra elements. @@ -186,7 +341,7 @@ protected: /** * Constructor */ - domInstance_material() : attrSymbol(), attrTarget(), elemBind_array(), elemExtra_array() {} + domInstance_material() : attrSymbol(), attrTarget(), attrSid(), attrName(), elemBind_array(), elemBind_vertex_input_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_physics_model.h b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_physics_model.h index 5fa9786aa..59eff79a9 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_physics_model.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_physics_model.h @@ -37,10 +37,14 @@ protected: // Attributes xsAnyURI attrUrl; /** * The sid attribute is a text string value containing the sub-identifier - * of this element. This value must be unique within the scope of the parent + * of this element. This value must be unique within the scope of the parent * element. Optional attribute. */ xsNCName attrSid; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; /** * The parent attribute points to the id of a node in the visual scene. This * allows a physics model to be instantiated under a specific transform node, @@ -85,7 +89,8 @@ public: //Accessors and Mutators * Sets the url attribute. * @param atUrl The new value for the url attribute. */ - void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); } + void setUrl( const xsAnyURI &atUrl ) { attrUrl.setURI( atUrl.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the sid attribute. @@ -96,7 +101,20 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[2] = true; } /** * Gets the parent attribute. @@ -112,7 +130,8 @@ public: //Accessors and Mutators * Sets the parent attribute. * @param atParent The new value for the parent attribute. */ - void setParent( const xsAnyURI &atParent ) { attrParent.setURI( atParent.getURI() ); } + void setParent( const xsAnyURI &atParent ) { attrParent.setURI( atParent.getURI() ); + _validAttributeArray[3] = true; } /** * Gets the instance_force_field element array. @@ -158,7 +177,7 @@ protected: /** * Constructor */ - domInstance_physics_model() : attrUrl(), attrSid(), attrParent(), elemInstance_force_field_array(), elemInstance_rigid_body_array(), elemInstance_rigid_constraint_array(), elemExtra_array() {} + domInstance_physics_model() : attrUrl(), attrSid(), attrName(), attrParent(), elemInstance_force_field_array(), elemInstance_rigid_body_array(), elemInstance_rigid_constraint_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_rigid_body.h b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_rigid_body.h index b00cb4506..2c613cafb 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_rigid_body.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_rigid_body.h @@ -229,7 +229,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the value of this element. @@ -296,6 +297,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -408,7 +413,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the value of this element. @@ -486,6 +492,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -659,6 +669,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -775,6 +789,10 @@ protected: // Attributes * element. Optional attribute. */ xsNCName attrSid; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; /** * The target attribute indicates which node is influenced by this rigid_body * instance. Required attribute @@ -808,7 +826,8 @@ public: //Accessors and Mutators * Sets the body attribute. * @param atBody The new value for the body attribute. */ - void setBody( xsNCName atBody ) { attrBody = atBody; } + void setBody( xsNCName atBody ) { *(daeStringRef*)&attrBody = atBody; + _validAttributeArray[0] = true; } /** * Gets the sid attribute. @@ -819,7 +838,20 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[2] = true; } /** * Gets the target attribute. @@ -835,7 +867,8 @@ public: //Accessors and Mutators * Sets the target attribute. * @param atTarget The new value for the target attribute. */ - void setTarget( const xsAnyURI &atTarget ) { attrTarget.setURI( atTarget.getURI() ); } + void setTarget( const xsAnyURI &atTarget ) { attrTarget.setURI( atTarget.getURI() ); + _validAttributeArray[3] = true; } /** * Gets the technique_common element. @@ -866,7 +899,7 @@ protected: /** * Constructor */ - domInstance_rigid_body() : attrBody(), attrSid(), attrTarget(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {} + domInstance_rigid_body() : attrBody(), attrSid(), attrName(), attrTarget(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_rigid_constraint.h b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_rigid_constraint.h index 93c14e5ed..9b4434561 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInstance_rigid_constraint.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInstance_rigid_constraint.h @@ -23,12 +23,22 @@ */ class domInstance_rigid_constraint : public daeElement { -protected: // Attribute +protected: // Attributes /** * The constraint attribute indicates which rigid_constraing to instantiate. * Required attribute. */ xsNCName attrConstraint; +/** + * The sid attribute is a text string value containing the sub-identifier + * of this element. This value must be unique within the scope of the parent + * element. Optional attribute. + */ + xsNCName attrSid; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; protected: // Element /** @@ -46,7 +56,32 @@ public: //Accessors and Mutators * Sets the constraint attribute. * @param atConstraint The new value for the constraint attribute. */ - void setConstraint( xsNCName atConstraint ) { attrConstraint = atConstraint; } + void setConstraint( xsNCName atConstraint ) { *(daeStringRef*)&attrConstraint = atConstraint; + _validAttributeArray[0] = true; } + + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[2] = true; } /** * Gets the extra element array. @@ -62,7 +97,7 @@ protected: /** * Constructor */ - domInstance_rigid_constraint() : attrConstraint(), elemExtra_array() {} + domInstance_rigid_constraint() : attrConstraint(), attrSid(), attrName(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domInt_array.h b/Extras/COLLADA_DOM/include/1.4/dom/domInt_array.h index 74d4ce3e8..275ebda02 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domInt_array.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domInt_array.h @@ -67,7 +67,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -78,7 +79,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the count attribute. @@ -89,7 +91,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[2] = true; } /** * Gets the minInclusive attribute. @@ -100,7 +103,8 @@ public: //Accessors and Mutators * Sets the minInclusive attribute. * @param atMinInclusive The new value for the minInclusive attribute. */ - void setMinInclusive( xsInteger atMinInclusive ) { attrMinInclusive = atMinInclusive; } + void setMinInclusive( xsInteger atMinInclusive ) { attrMinInclusive = atMinInclusive; + _validAttributeArray[3] = true; } /** * Gets the maxInclusive attribute. @@ -111,7 +115,8 @@ public: //Accessors and Mutators * Sets the maxInclusive attribute. * @param atMaxInclusive The new value for the maxInclusive attribute. */ - void setMaxInclusive( xsInteger atMaxInclusive ) { attrMaxInclusive = atMaxInclusive; } + void setMaxInclusive( xsInteger atMaxInclusive ) { attrMaxInclusive = atMaxInclusive; + _validAttributeArray[4] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_animation_clips.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_animation_clips.h index dd6463e8e..725bdb327 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_animation_clips.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_animation_clips.h @@ -63,7 +63,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -74,7 +75,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_animations.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_animations.h index a8bae094c..cdf63a54f 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_animations.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_animations.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_cameras.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_cameras.h index bba329f8d..6c853946b 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_cameras.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_cameras.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_controllers.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_controllers.h index a93dc5d4c..c9d007243 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_controllers.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_controllers.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_effects.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_effects.h index 40275caae..a69dbb323 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_effects.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_effects.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_force_fields.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_force_fields.h index ed9e69966..7c40524be 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_force_fields.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_force_fields.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_geometries.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_geometries.h index f72ce58f8..fe8163fc4 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_geometries.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_geometries.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_images.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_images.h index 5ffdaca42..b4ba84e88 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_images.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_images.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_lights.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_lights.h index 725da687a..0b3136361 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_lights.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_lights.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_materials.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_materials.h index 93ebedd97..31c233531 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_materials.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_materials.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_nodes.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_nodes.h index 41c9cad4d..dea2f13f7 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_nodes.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_nodes.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_materials.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_materials.h index f7554a29f..e20f0c402 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_materials.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_materials.h @@ -26,6 +26,17 @@ */ class domLibrary_physics_materials : public daeElement { +protected: // Attributes +/** + * The id attribute is a text string containing the unique identifier of + * this element. This value must be unique within the instance document. + * Optional attribute. + */ + xsID attrId; +/** + * The name attribute is the text string name of this element. Optional attribute. + */ + xsNCName attrName; protected: // Elements /** @@ -43,6 +54,30 @@ protected: // Elements domExtra_Array elemExtra_array; public: //Accessors and Mutators + /** + * Gets the id attribute. + * @return Returns a xsID of the id attribute. + */ + xsID getId() const { return attrId; } + /** + * Sets the id attribute. + * @param atId The new value for the id attribute. + */ + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } + + /** + * Gets the name attribute. + * @return Returns a xsNCName of the name attribute. + */ + xsNCName getName() const { return attrName; } + /** + * Sets the name attribute. + * @param atName The new value for the name attribute. + */ + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } + /** * Gets the asset element. * @return a daeSmartRef to the asset element. @@ -72,7 +107,7 @@ protected: /** * Constructor */ - domLibrary_physics_materials() : elemAsset(), elemPhysics_material_array(), elemExtra_array() {} + domLibrary_physics_materials() : attrId(), attrName(), elemAsset(), elemPhysics_material_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_models.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_models.h index 6a1ed426f..72de995e7 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_models.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_models.h @@ -62,7 +62,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -73,7 +74,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_scenes.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_scenes.h index f3b24109c..7653969f7 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_scenes.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_physics_scenes.h @@ -62,7 +62,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -73,7 +74,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_visual_scenes.h b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_visual_scenes.h index d3196bcb9..2d7adf8e6 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_visual_scenes.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLibrary_visual_scenes.h @@ -62,7 +62,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -73,7 +74,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLight.h b/Extras/COLLADA_DOM/include/1.4/dom/domLight.h index de47056be..52c505ba1 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLight.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLight.h @@ -446,6 +446,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -562,7 +566,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -573,7 +578,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLines.h b/Extras/COLLADA_DOM/include/1.4/dom/domLines.h index 8cef7d53f..1291ba697 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLines.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLines.h @@ -72,7 +72,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the count attribute. @@ -83,7 +84,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[1] = true; } /** * Gets the material attribute. @@ -94,7 +96,8 @@ public: //Accessors and Mutators * Sets the material attribute. * @param atMaterial The new value for the material attribute. */ - void setMaterial( xsNCName atMaterial ) { attrMaterial = atMaterial; } + void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; + _validAttributeArray[2] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLinestrips.h b/Extras/COLLADA_DOM/include/1.4/dom/domLinestrips.h index 7a67689f1..cf2bb910e 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLinestrips.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLinestrips.h @@ -72,7 +72,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the count attribute. @@ -83,7 +84,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[1] = true; } /** * Gets the material attribute. @@ -94,7 +96,8 @@ public: //Accessors and Mutators * Sets the material attribute. * @param atMaterial The new value for the material attribute. */ - void setMaterial( xsNCName atMaterial ) { attrMaterial = atMaterial; } + void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; + _validAttributeArray[2] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domLookat.h b/Extras/COLLADA_DOM/include/1.4/dom/domLookat.h index d59c0cf11..85be386f9 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domLookat.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domLookat.h @@ -49,7 +49,8 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domMaterial.h b/Extras/COLLADA_DOM/include/1.4/dom/domMaterial.h index eacca1ee4..35cfefab9 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domMaterial.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domMaterial.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domMatrix.h b/Extras/COLLADA_DOM/include/1.4/dom/domMatrix.h index 106602812..48d8b836e 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domMatrix.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domMatrix.h @@ -48,7 +48,8 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domMesh.h b/Extras/COLLADA_DOM/include/1.4/dom/domMesh.h index 3780d452a..9b203f448 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domMesh.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domMesh.h @@ -80,6 +80,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domMorph.h b/Extras/COLLADA_DOM/include/1.4/dom/domMorph.h index 9d74dac66..c1588a5d1 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domMorph.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domMorph.h @@ -149,7 +149,8 @@ public: //Accessors and Mutators * Sets the method attribute. * @param atMethod The new value for the method attribute. */ - void setMethod( domMorphMethodType atMethod ) { attrMethod = atMethod; } + void setMethod( domMorphMethodType atMethod ) { attrMethod = atMethod; + _validAttributeArray[0] = true; } /** * Gets the source attribute. @@ -165,7 +166,8 @@ public: //Accessors and Mutators * Sets the source attribute. * @param atSource The new value for the source attribute. */ - void setSource( const xsAnyURI &atSource ) { attrSource.setURI( atSource.getURI() ); } + void setSource( const xsAnyURI &atSource ) { attrSource.setURI( atSource.getURI() ); + _validAttributeArray[1] = true; } /** * Gets the source element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domName_array.h b/Extras/COLLADA_DOM/include/1.4/dom/domName_array.h index 102c2edf9..8aca26ce7 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domName_array.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domName_array.h @@ -56,7 +56,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -67,7 +68,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the count attribute. @@ -78,7 +80,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[2] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domNode.h b/Extras/COLLADA_DOM/include/1.4/dom/domNode.h index 99384a465..f44882127 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domNode.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domNode.h @@ -131,6 +131,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -143,7 +147,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -154,7 +159,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the sid attribute. @@ -165,7 +171,8 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[2] = true; } /** * Gets the type attribute. @@ -176,7 +183,8 @@ public: //Accessors and Mutators * Sets the type attribute. * @param atType The new value for the type attribute. */ - void setType( domNodeType atType ) { attrType = atType; } + void setType( domNodeType atType ) { attrType = atType; + _validAttributeArray[3] = true; } /** * Gets the layer array attribute. @@ -192,7 +200,8 @@ public: //Accessors and Mutators * Sets the layer array attribute. * @param atLayer The new value for the layer array attribute. */ - void setLayer( const domListOfNames &atLayer ) { attrLayer = atLayer; } + void setLayer( const domListOfNames &atLayer ) { attrLayer = atLayer; + _validAttributeArray[4] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domParam.h b/Extras/COLLADA_DOM/include/1.4/dom/domParam.h index 7733b7718..fef4b01c9 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domParam.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domParam.h @@ -61,7 +61,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the sid attribute. @@ -72,7 +73,8 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } /** * Gets the semantic attribute. @@ -83,7 +85,8 @@ public: //Accessors and Mutators * Sets the semantic attribute. * @param atSemantic The new value for the semantic attribute. */ - void setSemantic( xsNMTOKEN atSemantic ) { attrSemantic = atSemantic; } + void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; + _validAttributeArray[2] = true; } /** * Gets the type attribute. @@ -94,18 +97,19 @@ public: //Accessors and Mutators * Sets the type attribute. * @param atType The new value for the type attribute. */ - void setType( xsNMTOKEN atType ) { attrType = atType; } + void setType( xsNMTOKEN atType ) { *(daeStringRef*)&attrType = atType; + _validAttributeArray[3] = true; } /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_material.h b/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_material.h index d97e4257b..379d5b9c6 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_material.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_material.h @@ -155,7 +155,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -166,7 +167,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_model.h b/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_model.h index b30c45b4e..16d70ce73 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_model.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_model.h @@ -75,7 +75,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -86,7 +87,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_scene.h b/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_scene.h index 102b52a64..8e0aeaf41 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_scene.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domPhysics_scene.h @@ -151,7 +151,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -162,7 +163,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domPolygons.h b/Extras/COLLADA_DOM/include/1.4/dom/domPolygons.h index 5e934f05d..b7f3aa3cc 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domPolygons.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domPolygons.h @@ -223,6 +223,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -235,7 +239,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the count attribute. @@ -246,7 +251,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[1] = true; } /** * Gets the material attribute. @@ -257,7 +263,8 @@ public: //Accessors and Mutators * Sets the material attribute. * @param atMaterial The new value for the material attribute. */ - void setMaterial( xsNCName atMaterial ) { attrMaterial = atMaterial; } + void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; + _validAttributeArray[2] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domPolylist.h b/Extras/COLLADA_DOM/include/1.4/dom/domPolylist.h index 9e060dd3c..69f6bb725 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domPolylist.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domPolylist.h @@ -155,7 +155,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the count attribute. @@ -166,7 +167,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[1] = true; } /** * Gets the material attribute. @@ -177,7 +179,8 @@ public: //Accessors and Mutators * Sets the material attribute. * @param atMaterial The new value for the material attribute. */ - void setMaterial( xsNCName atMaterial ) { attrMaterial = atMaterial; } + void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; + _validAttributeArray[2] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domProfile_CG.h b/Extras/COLLADA_DOM/include/1.4/dom/domProfile_CG.h index 5c652ccae..9734a63a7 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domProfile_CG.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domProfile_CG.h @@ -17,11 +17,12 @@ #include #include +#include #include +#include #include #include #include -#include #include #include #include @@ -157,14 +158,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNMTOKEN of the value. + * @return Returns a xsNMTOKEN of the value. */ xsNMTOKEN getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNMTOKEN val ) { _value = val; } + void setValue( xsNMTOKEN val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -225,14 +226,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -302,18 +303,19 @@ public: * Sets the source attribute. * @param atSource The new value for the source attribute. */ - void setSource( xsNCName atSource ) { attrSource = atSource; } + void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; + _validAttributeArray[0] = true; } /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -389,7 +391,8 @@ public: * Sets the ref attribute. * @param atRef The new value for the ref attribute. */ - void setRef( xsNCName atRef ) { attrRef = atRef; } + void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; + _validAttributeArray[0] = true; } protected: /** @@ -449,6 +452,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -461,7 +468,8 @@ public: * Sets the symbol attribute. * @param atSymbol The new value for the symbol attribute. */ - void setSymbol( xsNCName atSymbol ) { attrSymbol = atSymbol; } + void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; + _validAttributeArray[0] = true; } /** * Gets the cg_param_type element. @@ -558,7 +566,8 @@ public: * Sets the stage attribute. * @param atStage The new value for the stage attribute. */ - void setStage( domCg_pipeline_stage atStage ) { attrStage = atStage; } + void setStage( domCg_pipeline_stage atStage ) { attrStage = atStage; + _validAttributeArray[0] = true; } /** * Gets the annotate element array. @@ -658,10 +667,15 @@ public: * a pass. @see domShader */ domShader_Array elemShader_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -674,7 +688,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the annotate element array. @@ -771,6 +786,16 @@ public: * @return Returns a constant reference to the array of shader elements. */ const domShader_Array &getShader_array() const { return elemShader_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -786,7 +811,7 @@ public: /** * Constructor */ - domPass() : attrSid(), elemAnnotate_array(), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw(), elemGl_pipeline_settings_array(), elemShader_array() {} + domPass() : attrSid(), elemAnnotate_array(), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw(), elemGl_pipeline_settings_array(), elemShader_array(), elemExtra_array() {} /** * Destructor */ @@ -852,10 +877,15 @@ public: * one rendering pipeline. @see domPass */ domPass_Array elemPass_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -868,7 +898,8 @@ public: * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the sid attribute. @@ -879,7 +910,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } /** * Gets the asset element. @@ -956,6 +988,16 @@ public: * @return Returns a constant reference to the array of pass elements. */ const domPass_Array &getPass_array() const { return elemPass_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -971,7 +1013,7 @@ public: /** * Constructor */ - domTechnique() : attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array() {} + domTechnique() : attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array(), elemExtra_array() {} /** * Destructor */ @@ -1007,7 +1049,13 @@ public: }; -protected: // Attribute +protected: // Attributes +/** + * The id attribute is a text string containing the unique identifier of + * this element. This value must be unique within the instance document. + * Optional attribute. + */ + xsID attrId; /** * The type of platform. This is a vendor-defined character string that indicates * the platform or capability target for the technique. Optional @@ -1015,6 +1063,7 @@ protected: // Attribute xsNCName attrPlatform; protected: // Elements + domAssetRef elemAsset; domFx_code_profile_Array elemCode_array; domFx_include_common_Array elemInclude_array; domImage_Array elemImage_array; @@ -1024,13 +1073,30 @@ protected: // Elements * passes necessary for rendering this effect using one method. @see domTechnique */ domTechnique_Array elemTechnique_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators + /** + * Gets the id attribute. + * @return Returns a xsID of the id attribute. + */ + xsID getId() const { return attrId; } + /** + * Sets the id attribute. + * @param atId The new value for the id attribute. + */ + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } + /** * Gets the platform attribute. * @return Returns a xsNCName of the platform attribute. @@ -1040,8 +1106,14 @@ public: //Accessors and Mutators * Sets the platform attribute. * @param atPlatform The new value for the platform attribute. */ - void setPlatform( xsNCName atPlatform ) { attrPlatform = atPlatform; } + void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; + _validAttributeArray[1] = true; } + /** + * Gets the asset element. + * @return a daeSmartRef to the asset element. + */ + const domAssetRef getAsset() const { return elemAsset; } /** * Gets the code element array. * @return Returns a reference to the array of code elements. @@ -1092,6 +1164,16 @@ public: //Accessors and Mutators * @return Returns a constant reference to the array of technique elements. */ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -1107,7 +1189,7 @@ protected: /** * Constructor */ - domProfile_CG() : attrPlatform(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemTechnique_array() {} + domProfile_CG() : attrId(), attrPlatform(), elemAsset(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domProfile_COMMON.h b/Extras/COLLADA_DOM/include/1.4/dom/domProfile_COMMON.h index 9b5194cf2..e82b2ee38 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domProfile_COMMON.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domProfile_COMMON.h @@ -17,12 +17,13 @@ #include #include +#include #include #include #include -#include #include #include +#include /** * Opens a block of COMMON platform-specific data types and technique declarations. @@ -54,7 +55,7 @@ public: domCommon_color_or_texture_typeRef elemEmission; domCommon_color_or_texture_typeRef elemReflective; domCommon_float_or_param_typeRef elemReflectivity; - domCommon_color_or_texture_typeRef elemTransparent; + domCommon_transparent_typeRef elemTransparent; domCommon_float_or_param_typeRef elemTransparency; domCommon_float_or_param_typeRef elemIndex_of_refraction; @@ -78,7 +79,8 @@ public: * Gets the transparent element. * @return a daeSmartRef to the transparent element. */ - const domCommon_color_or_texture_typeRef getTransparent() const { return elemTransparent; } + const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; } + /** * Gets the transparency element. * @return a daeSmartRef to the transparency element. @@ -142,7 +144,7 @@ public: domCommon_color_or_texture_typeRef elemDiffuse; domCommon_color_or_texture_typeRef elemReflective; domCommon_float_or_param_typeRef elemReflectivity; - domCommon_color_or_texture_typeRef elemTransparent; + domCommon_transparent_typeRef elemTransparent; domCommon_float_or_param_typeRef elemTransparency; domCommon_float_or_param_typeRef elemIndex_of_refraction; @@ -176,7 +178,8 @@ public: * Gets the transparent element. * @return a daeSmartRef to the transparent element. */ - const domCommon_color_or_texture_typeRef getTransparent() const { return elemTransparent; } + const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; } + /** * Gets the transparency element. * @return a daeSmartRef to the transparency element. @@ -242,7 +245,7 @@ public: domCommon_float_or_param_typeRef elemShininess; domCommon_color_or_texture_typeRef elemReflective; domCommon_float_or_param_typeRef elemReflectivity; - domCommon_color_or_texture_typeRef elemTransparent; + domCommon_transparent_typeRef elemTransparent; domCommon_float_or_param_typeRef elemTransparency; domCommon_float_or_param_typeRef elemIndex_of_refraction; @@ -286,7 +289,8 @@ public: * Gets the transparent element. * @return a daeSmartRef to the transparent element. */ - const domCommon_color_or_texture_typeRef getTransparent() const { return elemTransparent; } + const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; } + /** * Gets the transparency element. * @return a daeSmartRef to the transparency element. @@ -352,7 +356,7 @@ public: domCommon_float_or_param_typeRef elemShininess; domCommon_color_or_texture_typeRef elemReflective; domCommon_float_or_param_typeRef elemReflectivity; - domCommon_color_or_texture_typeRef elemTransparent; + domCommon_transparent_typeRef elemTransparent; domCommon_float_or_param_typeRef elemTransparency; domCommon_float_or_param_typeRef elemIndex_of_refraction; @@ -396,7 +400,7 @@ public: * Gets the transparent element. * @return a daeSmartRef to the transparent element. */ - const domCommon_color_or_texture_typeRef getTransparent() const { return elemTransparent; } + const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; } /** * Gets the transparency element. * @return a daeSmartRef to the transparency element. @@ -480,6 +484,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -492,7 +500,8 @@ public: * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the sid attribute. @@ -503,7 +512,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } /** * Gets the asset element. @@ -611,8 +621,16 @@ public: }; +protected: // Attribute +/** + * The id attribute is a text string containing the unique identifier of + * this element. This value must be unique within the instance document. + * Optional attribute. + */ + xsID attrId; protected: // Elements + domAssetRef elemAsset; domImage_Array elemImage_array; domCommon_newparam_type_Array elemNewparam_array; /** @@ -628,9 +646,30 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators + /** + * Gets the id attribute. + * @return Returns a xsID of the id attribute. + */ + xsID getId() const { return attrId; } + /** + * Sets the id attribute. + * @param atId The new value for the id attribute. + */ + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } + + /** + * Gets the asset element. + * @return a daeSmartRef to the asset element. + */ + const domAssetRef getAsset() const { return elemAsset; } /** * Gets the image element array. * @return Returns a reference to the array of image elements. @@ -681,7 +720,7 @@ protected: /** * Constructor */ - domProfile_COMMON() : elemImage_array(), elemNewparam_array(), elemTechnique(), elemExtra_array() {} + domProfile_COMMON() : attrId(), elemAsset(), elemImage_array(), elemNewparam_array(), elemTechnique(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domProfile_GLES.h b/Extras/COLLADA_DOM/include/1.4/dom/domProfile_GLES.h index 018f5437e..6efa49d58 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domProfile_GLES.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domProfile_GLES.h @@ -17,9 +17,10 @@ #include #include -#include -#include #include +#include +#include +#include #include #include #include @@ -66,7 +67,8 @@ public: * Sets the ref attribute. * @param atRef The new value for the ref attribute. */ - void setRef( xsNCName atRef ) { attrRef = atRef; } + void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; + _validAttributeArray[0] = true; } /** * Gets the annotate element array. @@ -613,10 +615,15 @@ public: domStencil_clearRef elemStencil_clear; domDrawRef elemDraw; domGles_pipeline_settings_Array elemGles_pipeline_settings_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -629,7 +636,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the annotate element array. @@ -686,6 +694,16 @@ public: * @return Returns a constant reference to the array of gles_pipeline_settings elements. */ const domGles_pipeline_settings_Array &getGles_pipeline_settings_array() const { return elemGles_pipeline_settings_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -701,7 +719,7 @@ public: /** * Constructor */ - domPass() : attrSid(), elemAnnotate_array(), elemColor_target(), elemDepth_target(), elemStencil_target(), elemColor_clear(), elemDepth_clear(), elemStencil_clear(), elemDraw(), elemGles_pipeline_settings_array() {} + domPass() : attrSid(), elemAnnotate_array(), elemColor_target(), elemDepth_target(), elemStencil_target(), elemColor_clear(), elemDepth_clear(), elemStencil_clear(), elemDraw(), elemGles_pipeline_settings_array(), elemExtra_array() {} /** * Destructor */ @@ -748,7 +766,7 @@ public: protected: // Elements domAssetRef elemAsset; - domFx_annotate_commonRef elemAnnotate; + domFx_annotate_common_Array elemAnnotate_array; domImage_Array elemImage_array; domGles_newparam_Array elemNewparam_array; domSetparam_Array elemSetparam_array; @@ -757,10 +775,15 @@ public: * one rendering pipeline. @see domPass */ domPass_Array elemPass_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -773,7 +796,8 @@ public: * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the sid attribute. @@ -784,7 +808,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } /** * Gets the asset element. @@ -792,10 +817,15 @@ public: */ const domAssetRef getAsset() const { return elemAsset; } /** - * Gets the annotate element. - * @return a daeSmartRef to the annotate element. + * Gets the annotate element array. + * @return Returns a reference to the array of annotate elements. */ - const domFx_annotate_commonRef getAnnotate() const { return elemAnnotate; } + domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; } + /** + * Gets the annotate element array. + * @return Returns a constant reference to the array of annotate elements. + */ + const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; } /** * Gets the image element array. * @return Returns a reference to the array of image elements. @@ -836,6 +866,16 @@ public: * @return Returns a constant reference to the array of pass elements. */ const domPass_Array &getPass_array() const { return elemPass_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -851,7 +891,7 @@ public: /** * Constructor */ - domTechnique() : attrId(), attrSid(), elemAsset(), elemAnnotate(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array() {} + domTechnique() : attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array(), elemExtra_array() {} /** * Destructor */ @@ -887,8 +927,21 @@ public: }; +protected: // Attributes +/** + * The id attribute is a text string containing the unique identifier of + * this element. This value must be unique within the instance document. + * Optional attribute. + */ + xsID attrId; +/** + * The type of platform. This is a vendor-defined character string that indicates + * the platform or capability target for the technique. Optional + */ + xsNCName attrPlatform; protected: // Elements + domAssetRef elemAsset; domImage_Array elemImage_array; domGles_newparam_Array elemNewparam_array; /** @@ -896,13 +949,47 @@ protected: // Elements * passes necessary for rendering this effect using one method. @see domTechnique */ domTechnique_Array elemTechnique_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators + /** + * Gets the id attribute. + * @return Returns a xsID of the id attribute. + */ + xsID getId() const { return attrId; } + /** + * Sets the id attribute. + * @param atId The new value for the id attribute. + */ + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } + + /** + * Gets the platform attribute. + * @return Returns a xsNCName of the platform attribute. + */ + xsNCName getPlatform() const { return attrPlatform; } + /** + * Sets the platform attribute. + * @param atPlatform The new value for the platform attribute. + */ + void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; + _validAttributeArray[1] = true; } + + /** + * Gets the asset element. + * @return a daeSmartRef to the asset element. + */ + const domAssetRef getAsset() const { return elemAsset; } /** * Gets the image element array. * @return Returns a reference to the array of image elements. @@ -933,6 +1020,16 @@ public: //Accessors and Mutators * @return Returns a constant reference to the array of technique elements. */ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -948,7 +1045,7 @@ protected: /** * Constructor */ - domProfile_GLES() : elemImage_array(), elemNewparam_array(), elemTechnique_array() {} + domProfile_GLES() : attrId(), attrPlatform(), elemAsset(), elemImage_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domProfile_GLSL.h b/Extras/COLLADA_DOM/include/1.4/dom/domProfile_GLSL.h index 2ee5d1e4a..575ffe630 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domProfile_GLSL.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domProfile_GLSL.h @@ -17,13 +17,15 @@ #include #include +#include #include +#include #include #include #include +#include #include #include -#include #include #include #include @@ -160,14 +162,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNMTOKEN of the value. + * @return Returns a xsNMTOKEN of the value. */ xsNMTOKEN getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNMTOKEN val ) { _value = val; } + void setValue( xsNMTOKEN val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -228,14 +230,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsString of the value. + * @return Returns a xsString of the value. */ xsString getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsString val ) { _value = val; } + void setValue( xsString val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -305,18 +307,19 @@ public: * Sets the source attribute. * @param atSource The new value for the source attribute. */ - void setSource( xsNCName atSource ) { attrSource = atSource; } + void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; + _validAttributeArray[0] = true; } /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -389,7 +392,8 @@ public: * Sets the ref attribute. * @param atRef The new value for the ref attribute. */ - void setRef( xsString atRef ) { attrRef = atRef; } + void setRef( xsString atRef ) { *(daeStringRef*)&attrRef = atRef; + _validAttributeArray[0] = true; } protected: /** @@ -445,6 +449,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -457,7 +465,8 @@ public: * Sets the symbol attribute. * @param atSymbol The new value for the symbol attribute. */ - void setSymbol( xsNCName atSymbol ) { attrSymbol = atSymbol; } + void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; + _validAttributeArray[0] = true; } /** * Gets the glsl_param_type element. @@ -558,7 +567,8 @@ public: * Sets the stage attribute. * @param atStage The new value for the stage attribute. */ - void setStage( domGlsl_pipeline_stage atStage ) { attrStage = atStage; } + void setStage( domGlsl_pipeline_stage atStage ) { attrStage = atStage; + _validAttributeArray[0] = true; } /** * Gets the annotate element array. @@ -658,10 +668,15 @@ public: * a pass. @see domShader */ domShader_Array elemShader_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -674,7 +689,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the annotate element array. @@ -771,6 +787,16 @@ public: * @return Returns a constant reference to the array of shader elements. */ const domShader_Array &getShader_array() const { return elemShader_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -786,7 +812,7 @@ public: /** * Constructor */ - domPass() : attrSid(), elemAnnotate_array(), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw(), elemGl_pipeline_settings_array(), elemShader_array() {} + domPass() : attrSid(), elemAnnotate_array(), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw(), elemGl_pipeline_settings_array(), elemShader_array(), elemExtra_array() {} /** * Destructor */ @@ -837,6 +863,7 @@ public: xsNCName attrSid; protected: // Elements + domFx_annotate_common_Array elemAnnotate_array; domFx_code_profile_Array elemCode_array; domFx_include_common_Array elemInclude_array; domImage_Array elemImage_array; @@ -847,10 +874,15 @@ public: * one rendering pipeline. @see domPass */ domPass_Array elemPass_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -863,7 +895,8 @@ public: * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the sid attribute. @@ -874,8 +907,19 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[1] = true; } + /** + * Gets the annotate element array. + * @return Returns a reference to the array of annotate elements. + */ + domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; } + /** + * Gets the annotate element array. + * @return Returns a constant reference to the array of annotate elements. + */ + const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; } /** * Gets the code element array. * @return Returns a reference to the array of code elements. @@ -936,6 +980,16 @@ public: * @return Returns a constant reference to the array of pass elements. */ const domPass_Array &getPass_array() const { return elemPass_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -951,7 +1005,7 @@ public: /** * Constructor */ - domTechnique() : attrId(), attrSid(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array() {} + domTechnique() : attrId(), attrSid(), elemAnnotate_array(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array(), elemExtra_array() {} /** * Destructor */ @@ -987,8 +1041,16 @@ public: }; +protected: // Attribute +/** + * The id attribute is a text string containing the unique identifier of + * this element. This value must be unique within the instance document. + * Optional attribute. + */ + xsID attrId; protected: // Elements + domAssetRef elemAsset; domFx_code_profile_Array elemCode_array; domFx_include_common_Array elemInclude_array; domImage_Array elemImage_array; @@ -998,13 +1060,35 @@ protected: // Elements * passes necessary for rendering this effect using one method. @see domTechnique */ domTechnique_Array elemTechnique_array; + domExtra_Array elemExtra_array; /** * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators + /** + * Gets the id attribute. + * @return Returns a xsID of the id attribute. + */ + xsID getId() const { return attrId; } + /** + * Sets the id attribute. + * @param atId The new value for the id attribute. + */ + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } + + /** + * Gets the asset element. + * @return a daeSmartRef to the asset element. + */ + const domAssetRef getAsset() const { return elemAsset; } /** * Gets the code element array. * @return Returns a reference to the array of code elements. @@ -1055,6 +1139,16 @@ public: //Accessors and Mutators * @return Returns a constant reference to the array of technique elements. */ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; } + /** + * Gets the extra element array. + * @return Returns a reference to the array of extra elements. + */ + domExtra_Array &getExtra_array() { return elemExtra_array; } + /** + * Gets the extra element array. + * @return Returns a constant reference to the array of extra elements. + */ + const domExtra_Array &getExtra_array() const { return elemExtra_array; } /** * Gets the _contents array. * @return Returns a reference to the _contents element array. @@ -1070,7 +1164,7 @@ protected: /** * Constructor */ - domProfile_GLSL() : elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemTechnique_array() {} + domProfile_GLSL() : attrId(), elemAsset(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {} /** * Destructor */ diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domRigid_body.h b/Extras/COLLADA_DOM/include/1.4/dom/domRigid_body.h index 6fe433caf..9a19fa4ca 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domRigid_body.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domRigid_body.h @@ -60,7 +60,7 @@ public: typedef daeTArray domDynamic_Array; /** - * If FALSE, the rigid_body is not moveable + * If false, the rigid_body is not moveable */ class domDynamic : public daeElement { @@ -88,7 +88,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the value of this element. @@ -161,6 +162,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -251,7 +256,7 @@ public: typedef daeTArray domHollow_Array; /** - * If TRUE, the mass is distributed along the surface of the shape + * If true, the mass is distributed along the surface of the shape */ class domHollow : public daeElement { @@ -279,7 +284,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the value of this element. @@ -335,7 +341,7 @@ public: protected: // Elements /** - * If TRUE, the mass is distributed along the surface of the shape @see domHollow + * If true, the mass is distributed along the surface of the shape @see domHollow */ domHollowRef elemHollow; /** @@ -402,6 +408,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -554,7 +564,7 @@ public: protected: // Elements /** - * If FALSE, the rigid_body is not moveable @see domDynamic + * If false, the rigid_body is not moveable @see domDynamic */ domDynamicRef elemDynamic; /** @@ -590,6 +600,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -723,7 +737,8 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -734,7 +749,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the technique_common element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domRigid_constraint.h b/Extras/COLLADA_DOM/include/1.4/dom/domRigid_constraint.h index d708b6fcc..2a8c961c0 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domRigid_constraint.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domRigid_constraint.h @@ -64,6 +64,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -81,7 +85,8 @@ public: * Sets the rigid_body attribute. * @param atRigid_body The new value for the rigid_body attribute. */ - void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body.setURI( atRigid_body.getURI() ); } + void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body.setURI( atRigid_body.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the translate element array. @@ -197,6 +202,10 @@ public: * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -214,7 +223,8 @@ public: * Sets the rigid_body attribute. * @param atRigid_body The new value for the rigid_body attribute. */ - void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body.setURI( atRigid_body.getURI() ); } + void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body.setURI( atRigid_body.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the translate element array. @@ -314,7 +324,7 @@ public: typedef daeTArray domEnabled_Array; /** - * If FALSE, the constraint doesn’t exert any force or influence on the + * If false, the constraint doesn’t exert any force or influence on the * rigid bodies. */ class domEnabled : public daeElement @@ -343,7 +353,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the value of this element. @@ -429,7 +440,8 @@ public: * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the value of this element. @@ -941,7 +953,7 @@ public: protected: // Elements /** - * If FALSE, the constraint doesn’t exert any force or influence on the + * If false, the constraint doesn’t exert any force or influence on the * rigid bodies. @see domEnabled */ domEnabledRef elemEnabled; @@ -1069,7 +1081,8 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -1080,7 +1093,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the ref_attachment element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domRotate.h b/Extras/COLLADA_DOM/include/1.4/dom/domRotate.h index c49828e61..d6e2838f0 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domRotate.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domRotate.h @@ -47,7 +47,8 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domSampler.h b/Extras/COLLADA_DOM/include/1.4/dom/domSampler.h index d0f6e8466..6d786ee17 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domSampler.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domSampler.h @@ -50,7 +50,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domSkew.h b/Extras/COLLADA_DOM/include/1.4/dom/domSkew.h index 37341f554..bcdb15b59 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domSkew.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domSkew.h @@ -47,7 +47,8 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } /** * Gets the _value array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domSkin.h b/Extras/COLLADA_DOM/include/1.4/dom/domSkin.h index 5c11c561b..fd65c3ec6 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domSkin.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domSkin.h @@ -390,7 +390,8 @@ public: * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[0] = true; } /** * Gets the input element array. @@ -513,7 +514,8 @@ public: //Accessors and Mutators * Sets the source attribute. * @param atSource The new value for the source attribute. */ - void setSource( const xsAnyURI &atSource ) { attrSource.setURI( atSource.getURI() ); } + void setSource( const xsAnyURI &atSource ) { attrSource.setURI( atSource.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the bind_shape_matrix element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domSource.h b/Extras/COLLADA_DOM/include/1.4/dom/domSource.h index d0464c522..e0d003b0c 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domSource.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domSource.h @@ -101,7 +101,7 @@ protected: // Attributes /** * The id attribute is a text string containing the unique identifier of * this element. This value must be unique within the instance document. - * Optional attribute. + * Required attribute. */ xsID attrId; /** @@ -148,6 +148,10 @@ protected: // Elements * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -160,7 +164,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -171,7 +176,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domSpline.h b/Extras/COLLADA_DOM/include/1.4/dom/domSpline.h index db509905c..024cc19d8 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domSpline.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domSpline.h @@ -139,7 +139,8 @@ public: //Accessors and Mutators * Sets the closed attribute. * @param atClosed The new value for the closed attribute. */ - void setClosed( domBool atClosed ) { attrClosed = atClosed; } + void setClosed( domBool atClosed ) { attrClosed = atClosed; + _validAttributeArray[0] = true; } /** * Gets the source element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domTargetableFloat.h b/Extras/COLLADA_DOM/include/1.4/dom/domTargetableFloat.h index aef7db19b..03f3cd0c9 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domTargetableFloat.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domTargetableFloat.h @@ -47,7 +47,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the value of this element. @@ -84,6 +84,20 @@ protected: */ class domTargetableFloat : public daeElement, public domTargetableFloat_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domTargetableFloat3.h b/Extras/COLLADA_DOM/include/1.4/dom/domTargetableFloat3.h index 775527033..ef1c04803 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domTargetableFloat3.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domTargetableFloat3.h @@ -47,7 +47,7 @@ public: //Accessors and Mutators * Sets the sid attribute. * @param atSid The new value for the sid attribute. */ - void setSid( xsNCName atSid ) { attrSid = atSid; } + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; } /** * Gets the _value array. @@ -89,6 +89,20 @@ protected: */ class domTargetableFloat3 : public daeElement, public domTargetableFloat3_complexType { + +public: //Accessors and Mutators + /** + * Gets the sid attribute. + * @return Returns a xsNCName of the sid attribute. + */ + xsNCName getSid() const { return attrSid; } + /** + * Sets the sid attribute. + * @param atSid The new value for the sid attribute. + */ + void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; + _validAttributeArray[0] = true; } + protected: /** * Constructor diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domTechnique.h b/Extras/COLLADA_DOM/include/1.4/dom/domTechnique.h index fcff25df5..3324ccf64 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domTechnique.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domTechnique.h @@ -45,6 +45,10 @@ protected: // Element * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: //Accessors and Mutators @@ -62,7 +66,8 @@ public: //Accessors and Mutators * Sets the xmlns attribute. * @param xmlns The new value for the xmlns attribute. */ - void setXmlns( const xsAnyURI &xmlns ) { attrXmlns.setURI( xmlns.getURI() ); } + void setXmlns( const xsAnyURI &xmlns ) { attrXmlns.setURI( xmlns.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the profile attribute. @@ -73,7 +78,8 @@ public: //Accessors and Mutators * Sets the profile attribute. * @param atProfile The new value for the profile attribute. */ - void setProfile( xsNMTOKEN atProfile ) { attrProfile = atProfile; } + void setProfile( xsNMTOKEN atProfile ) { *(daeStringRef*)&attrProfile = atProfile; + _validAttributeArray[1] = true; } /** * Gets the _contents array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domTriangles.h b/Extras/COLLADA_DOM/include/1.4/dom/domTriangles.h index 691c4f1f6..678211a32 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domTriangles.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domTriangles.h @@ -72,7 +72,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the count attribute. @@ -83,7 +84,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[1] = true; } /** * Gets the material attribute. @@ -94,7 +96,8 @@ public: //Accessors and Mutators * Sets the material attribute. * @param atMaterial The new value for the material attribute. */ - void setMaterial( xsNCName atMaterial ) { attrMaterial = atMaterial; } + void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; + _validAttributeArray[2] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domTrifans.h b/Extras/COLLADA_DOM/include/1.4/dom/domTrifans.h index a1eb9c8ef..66c8003c8 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domTrifans.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domTrifans.h @@ -72,7 +72,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the count attribute. @@ -83,7 +84,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[1] = true; } /** * Gets the material attribute. @@ -94,7 +96,8 @@ public: //Accessors and Mutators * Sets the material attribute. * @param atMaterial The new value for the material attribute. */ - void setMaterial( xsNCName atMaterial ) { attrMaterial = atMaterial; } + void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; + _validAttributeArray[2] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domTristrips.h b/Extras/COLLADA_DOM/include/1.4/dom/domTristrips.h index 9d88e5fdc..170554756 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domTristrips.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domTristrips.h @@ -72,7 +72,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the count attribute. @@ -83,7 +84,8 @@ public: //Accessors and Mutators * Sets the count attribute. * @param atCount The new value for the count attribute. */ - void setCount( domUint atCount ) { attrCount = atCount; } + void setCount( domUint atCount ) { attrCount = atCount; + _validAttributeArray[1] = true; } /** * Gets the material attribute. @@ -94,7 +96,8 @@ public: //Accessors and Mutators * Sets the material attribute. * @param atMaterial The new value for the material attribute. */ - void setMaterial( xsNCName atMaterial ) { attrMaterial = atMaterial; } + void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; + _validAttributeArray[2] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domTypes.h b/Extras/COLLADA_DOM/include/1.4/dom/domTypes.h index 99690adb6..59ae3be10 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domTypes.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domTypes.h @@ -85,7 +85,7 @@ typedef domGlsl_ListOfFloat domGlsl_float4x4; typedef domGlsl_ListOfInt domGlsl_int2; typedef domGlsl_ListOfInt domGlsl_int3; typedef domGlsl_ListOfInt domGlsl_int4; -typedef xsString domGlsl_identifier; +typedef xsToken domGlsl_identifier; typedef xsBoolean domCg_bool; typedef xsFloat domCg_float; typedef xsInt domCg_int; @@ -196,7 +196,7 @@ typedef domCg_ListOfFixed domCg_fixed4x1; typedef domCg_ListOfFixed domCg_fixed4x2; typedef domCg_ListOfFixed domCg_fixed4x3; typedef domCg_ListOfFixed domCg_fixed4x4; -typedef xsString domCg_identifier; +typedef xsToken domCg_identifier; typedef xsNonNegativeInteger domGLES_MAX_LIGHTS_index; typedef xsNonNegativeInteger domGLES_MAX_CLIP_PLANES_index; typedef xsNonNegativeInteger domGLES_MAX_TEXTURE_COORDS_index; @@ -237,11 +237,18 @@ enum domUpAxisType { */ enum domVersionType { VERSIONTYPE_1_4_0, - VERSIONTYPE_COUNT = 1 + VERSIONTYPE_1_4_1, + VERSIONTYPE_COUNT = 2 +}; + +enum domFx_opaque_enum { + FX_OPAQUE_ENUM_A_ONE, /**< When a transparent opaque attribute is set to A_ONE, it means the transparency information will be taken from the alpha channel of the color, texture, or parameter supplying the value. The value of 1.0 is opaque in this mode. */ + FX_OPAQUE_ENUM_RGB_ZERO, /**< When a transparent opaque attribute is set to RGB_ZERO, it means the transparency information will be taken from the red, green, and blue channels of the color, texture, or parameter supplying the value. Each channel is modulated independently. The value of 0.0 is opaque in this mode. */ + FX_OPAQUE_ENUM_COUNT = 2 }; enum domFx_surface_type_enum { - FX_SURFACE_TYPE_ENUM_UNTYPED, + FX_SURFACE_TYPE_ENUM_UNTYPED, /**< When a surface's type attribute is set to UNTYPED, its type is initially unknown and established later by the context in which it is used, such as by a texture sampler that references it. A surface of any other type may be changed into an UNTYPED surface at run-time, as if it were created by , using . If there is a type mismatch between a operation and what the run-time decides the type should be, the result is profile- and platform-specific behavior. */ FX_SURFACE_TYPE_ENUM_1D, FX_SURFACE_TYPE_ENUM_2D, FX_SURFACE_TYPE_ENUM_3D, @@ -261,6 +268,61 @@ enum domFx_surface_face_enum { FX_SURFACE_FACE_ENUM_COUNT = 6 }; +/** + * The per-texel layout of the format. The length of the string indicate + * how many channels there are and the letter respresents the name of the + * channel. There are typically 0 to 4 channels. + */ +enum domFx_surface_format_hint_channels_enum { + FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGB, /**< RGB color map */ + FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGBA, /**< RGB color + Alpha map often used for color + transparency or other things packed into channel A like specular power */ + FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_L, /**< Luminance map often used for light mapping */ + FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_LA, /**< Luminance+Alpha map often used for light mapping */ + FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_D, /**< Depth map often used for displacement, parellax, relief, or shadow mapping */ + FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZ, /**< Typically used for normal maps or 3component displacement maps. */ + FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZW, /**< Typically used for normal maps where W is the depth for relief or parrallax mapping */ + FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_COUNT = 7 +}; + +/** + * Each channel of the texel has a precision. Typically these are all linked + * together. An exact format lay lower the precision of an individual channel + * but applying a higher precision by linking the channels together may still + * convey the same information. + */ +enum domFx_surface_format_hint_precision_enum { + FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_LOW, /**< For integers this typically represents 8 bits. For floats typically 16 bits. */ + FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_MID, /**< For integers this typically represents 8 to 24 bits. For floats typically 16 to 32 bits. */ + FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_HIGH, /**< For integers this typically represents 16 to 32 bits. For floats typically 24 to 32 bits. */ + FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_COUNT = 3 +}; + +/** + * Each channel represents a range of values. Some example ranges are signed + * or unsigned integers, or between between a clamped range such as 0.0f to + * 1.0f, or high dynamic range via floating point + */ +enum domFx_surface_format_hint_range_enum { + FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SNORM, /**< Format is representing a decimal value that remains within the -1 to 1 range. Implimentation could be integer-fixedpoint or floats. */ + FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UNORM, /**< Format is representing a decimal value that remains within the 0 to 1 range. Implimentation could be integer-fixedpoint or floats. */ + FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SINT, /**< Format is representing signed integer numbers. (ex. 8bits = -128 to 127) */ + FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UINT, /**< Format is representing unsigned integer numbers. (ex. 8bits = 0 to 255) */ + FX_SURFACE_FORMAT_HINT_RANGE_ENUM_FLOAT, /**< Format should support full floating point ranges. High precision is expected to be 32bit. Mid precision may be 16 to 32 bit. Low precision is expected to be 16 bit. */ + FX_SURFACE_FORMAT_HINT_RANGE_ENUM_COUNT = 5 +}; + +/** + * Additional hints about data relationships and other things to help the + * application pick the best format. + */ +enum domFx_surface_format_hint_option_enum { + FX_SURFACE_FORMAT_HINT_OPTION_ENUM_SRGB_GAMMA, /**< colors are stored with respect to the sRGB 2.2 gamma curve rather than linear */ + FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED3, /**< the texel's XYZ/RGB should be normalized such as in a normal map. */ + FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED4, /**< the texel's XYZW/RGBA should be normalized such as in a normal map. */ + FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COMPRESSABLE, /**< The surface may use run-time compression. Considering the best compression based on desired, channel, range, precision, and options */ + FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COUNT = 4 +}; + enum domFx_sampler_wrap_common { FX_SAMPLER_WRAP_COMMON_NONE, FX_SAMPLER_WRAP_COMMON_WRAP, diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domVertices.h b/Extras/COLLADA_DOM/include/1.4/dom/domVertices.h index 09be00708..fc111ffeb 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domVertices.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domVertices.h @@ -31,7 +31,7 @@ protected: // Attributes /** * The id attribute is a text string containing the unique identifier of * this element. This value must be unique within the instance document. - * Optional attribute. + * Required attribute. */ xsID attrId; /** @@ -60,7 +60,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -71,7 +72,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the input element array. diff --git a/Extras/COLLADA_DOM/include/1.4/dom/domVisual_scene.h b/Extras/COLLADA_DOM/include/1.4/dom/domVisual_scene.h index d2491dc78..758349361 100644 --- a/Extras/COLLADA_DOM/include/1.4/dom/domVisual_scene.h +++ b/Extras/COLLADA_DOM/include/1.4/dom/domVisual_scene.h @@ -76,14 +76,14 @@ public: public: //Accessors and Mutators /** * Gets the value of this element. - * @return a xsNCName of the value. + * @return Returns a xsNCName of the value. */ xsNCName getValue() const { return _value; } /** * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( xsNCName val ) { _value = val; } + void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } protected: /** @@ -160,7 +160,8 @@ public: * Sets the camera_node attribute. * @param atCamera_node The new value for the camera_node attribute. */ - void setCamera_node( const xsAnyURI &atCamera_node ) { attrCamera_node.setURI( atCamera_node.getURI() ); } + void setCamera_node( const xsAnyURI &atCamera_node ) { attrCamera_node.setURI( atCamera_node.getURI() ); + _validAttributeArray[0] = true; } /** * Gets the layer element array. @@ -240,7 +241,8 @@ public: * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[0] = true; } /** * Gets the render element array. @@ -334,7 +336,8 @@ public: //Accessors and Mutators * Sets the id attribute. * @param atId The new value for the id attribute. */ - void setId( xsID atId ) { attrId = atId; } + void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; + _validAttributeArray[0] = true; } /** * Gets the name attribute. @@ -345,7 +348,8 @@ public: //Accessors and Mutators * Sets the name attribute. * @param atName The new value for the name attribute. */ - void setName( xsNCName atName ) { attrName = atName; } + void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; + _validAttributeArray[1] = true; } /** * Gets the asset element. diff --git a/Extras/COLLADA_DOM/include/dae/daeArray.h b/Extras/COLLADA_DOM/include/dae/daeArray.h index af6ac3790..f2648a53e 100644 --- a/Extras/COLLADA_DOM/include/dae/daeArray.h +++ b/Extras/COLLADA_DOM/include/dae/daeArray.h @@ -130,6 +130,13 @@ public: for(size_t i=0;i<_count;i++) set( i, cpy[i] ); } + /** + * Constructor that takes one element and turns into an array + */ + daeTArray( const T &el ) : daeArray() { + _elementSize = sizeof(T); + append( el ); + } /** * Destructor. */ @@ -177,10 +184,10 @@ public: { // If the array shrank, destruct the elements size_t i; - for(i=_count-1; i>= nElements; i--) + for(i=_count; i>nElements; i--) { - ((T*)_data + i)->~T(); - memset(_data+i*_elementSize,0,_elementSize); + ((T*)_data + (i-1))->~T(); + memset(_data+(i-1)*_elementSize,0,_elementSize); } } _count = nElements; @@ -239,11 +246,14 @@ public: * objects in two places, the class member and the @c _contents array, when you remove something from the * do, you must remove it from both places. */ - inline daeInt remove(const T& value) + inline daeInt remove(const T& value, size_t *idx = NULL ) { size_t index; if(find(value,index) == DAE_OK) { + if ( idx != NULL ) { + *idx = index; + } return(removeIndex( index )); } else diff --git a/Extras/COLLADA_DOM/include/dae/daeDocument.h b/Extras/COLLADA_DOM/include/dae/daeDocument.h index 78c567050..962fbc574 100644 --- a/Extras/COLLADA_DOM/include/dae/daeDocument.h +++ b/Extras/COLLADA_DOM/include/dae/daeDocument.h @@ -73,14 +73,14 @@ public: * @note This function is called internally and not meant to be called by the client application. * Calling this function from the client application may result in unexpected behavior. */ - void insertElement( daeElementRef element ) { insertedElements.append( element ); } + void insertElement( daeElementRef element ); /** * This function is used to track how a document gets modified. It gets called internally. * @param element The element that was removed from this document. * @note This function is called internally and not meant to be called by the client application. * Calling this function from the client application may result in unexpected behavior. */ - void removeElement( daeElementRef element ) { removedElements.append( element ); } + void removeElement( daeElementRef element ); /** * This function is used to track how a document gets modified. It gets called internally. diff --git a/Extras/COLLADA_DOM/include/dae/daeElement.h b/Extras/COLLADA_DOM/include/dae/daeElement.h index 596b5e5ba..fdd9ec849 100644 --- a/Extras/COLLADA_DOM/include/dae/daeElement.h +++ b/Extras/COLLADA_DOM/include/dae/daeElement.h @@ -54,6 +54,7 @@ private: protected: daeMetaElement* _meta; daeString _elementName; + daeBoolArray _validAttributeArray; public: /** An enum that describes the state of user integration with this object */ @@ -210,6 +211,30 @@ public: */ virtual daeBool setAttribute(daeString attrName, daeString attrValue); + /** + * Checks if an attribute has been set either by being loaded from the COLLADA document or set + * programmatically. + * @param attrName The name of the attribute to check. + * @return Returns true if the attribute has been set. False if the attribute hasn't been set + * or doesn't exist for this element. + */ + daeBool isAttributeSet( daeString attrName ); + + /** + * Checks if this element can have the attribute specified. + * @param attrName The name of the attribute to look for. + * @return Returns true is this element can have an attribute with the name specified. False otherwise. + */ + daeBool hasAttribute( daeString attrName ); + + /** + * Gets a pointer to the value of the attribute specified. + * @param attrName The name of the attribute to look for. + * @return Returns a daeMemoryRef (char *) to the value of the attribute. The return value will need + * to be typecast to the appropriate type. Returns NULL if the attribute does not exist. + */ + daeMemoryRef getAttributeValue( daeString attrName ); + /** * Finds the database document associated with @c this element. * @return Returns the @c daeDocument representing the containing file or database @@ -255,7 +280,6 @@ public: */ daeElement* createAndPlace(daeString className); - //!!!ACL /** * Create a sub-element via #createElement and place it via #placeElementAt * This also automatically inserts the new element at the specified index in the _contents of it's @@ -272,7 +296,18 @@ public: * If @c createAndPlace() was used to create the element, its parent is the the caller of @c createAndPlace(). * @return Returns the parent element, if @c this is not the top level element. */ + daeElement* getParentElement() { return _parent;} + /** + * Deprecated. Use getParentElement() + * @deprecated + */ daeElement* getXMLParentElement() { return _parent;} + /** + * Sets the parent element for this element. + * @param newParent The element which is the new parent element for this element. + * @note This function is called internally and not meant to be called form the client application. + */ + void setParentElement( daeElement *parent ) { _parent = parent; } /** * Gets the associated Meta information for this element. This @@ -321,7 +356,6 @@ public: */ daeString getID() const; - //!!! ACL /** * Gets the children/sub-elements of this element. * This is a helper function used to easily access an element's children without the use of the diff --git a/Extras/COLLADA_DOM/include/dae/daeIDRef.h b/Extras/COLLADA_DOM/include/dae/daeIDRef.h index c137eefc3..687e59f30 100644 --- a/Extras/COLLADA_DOM/include/dae/daeIDRef.h +++ b/Extras/COLLADA_DOM/include/dae/daeIDRef.h @@ -191,6 +191,11 @@ public: * Initializes the @c daeIDREf, setting id, element, and container to NULL. */ void initialize(); + + //Backwards Compatibility + daeIDRef &get( daeUInt idx ) { (void)idx; return *this; } + size_t getCount() const { return 1; } + daeIDRef& operator[](size_t index) { (void)index; return *this; } }; class daeIDRefResolver; diff --git a/Extras/COLLADA_DOM/include/dae/daeIntegrationObject.h b/Extras/COLLADA_DOM/include/dae/daeIntegrationObject.h index 615185c73..f19dff88a 100644 --- a/Extras/COLLADA_DOM/include/dae/daeIntegrationObject.h +++ b/Extras/COLLADA_DOM/include/dae/daeIntegrationObject.h @@ -35,8 +35,8 @@ public: virtual ~daeIntegrationObject() {} public: - /** A smartRef to the element associated with this integration object. */ - daeElementRef _element; + /** A pointer to the element associated with this integration object. */ + daeElement *_element; /** A pointer at which to store the user object associated with this element. */ void* _object; /** An enum describing the state of the conversion from COLLADA. */ diff --git a/Extras/COLLADA_DOM/include/dae/daeMetaAny.h b/Extras/COLLADA_DOM/include/dae/daeMetaAny.h new file mode 100644 index 000000000..92e8ba2d4 --- /dev/null +++ b/Extras/COLLADA_DOM/include/dae/daeMetaAny.h @@ -0,0 +1,44 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#ifndef __DAE_META_ANY_H__ +#define __DAE_META_ANY_H__ + +#include + +/** + * The daeMetaAny class defines the behavior of an xs:any content model in the COLLADA Schema. + */ +class daeMetaAny : public daeMetaCMPolicy +{ +public: + /** + * Constructor. + * @param container The daeMetaElement that this policy object belongs to. + * @param parent The daeMetaCMPolicy parent of this policy object. + * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the + * correct order of child elements. + * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema. + * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema. + */ + daeMetaAny( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 ); + ~daeMetaAny(); + + daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL ); + daeBool removeElement(daeElement* parent, daeElement* child); + daeMetaElement *findChild( daeString elementName ); + void getChildren( daeElement* parent, daeElementRefArray &array ); +}; + +#endif + diff --git a/Extras/COLLADA_DOM/include/dae/daeMetaAttribute.h b/Extras/COLLADA_DOM/include/dae/daeMetaAttribute.h index 9259792c9..0e05b879f 100644 --- a/Extras/COLLADA_DOM/include/dae/daeMetaAttribute.h +++ b/Extras/COLLADA_DOM/include/dae/daeMetaAttribute.h @@ -25,14 +25,6 @@ class daeMetaElement; class daeMetaAttribute; class daeMetaElementAttribute; -typedef daeSmartRef daeMetaElementAttributeRef; -typedef daeSmartRef daeMetaElementRef; -typedef daeSmartRef daeMetaAttributeRef; - -typedef daeTArray daeMetaAttributeRefArray; -typedef daeTArray daeMetaAttributePtrArray; -typedef daeTArray daeMetaElementAttributeRefArray; - /** * The @c daeMetaAttribute class describes one attribute in a C++ COLLADA dom element. * @@ -57,7 +49,6 @@ protected: daeAtomicType* _type; daeMetaElement* _container; daeString _default; - daeBool _isValid; daeBool _isRequired; public: @@ -71,21 +62,6 @@ public: */ ~daeMetaAttribute() {} public: - /** - * Determines if the value of this attribute was ever set. - * This will be the case if @c setDefault() was - * called or if the attribute was assigned a value by the input file. If you set the value yourself, - * you need to call @c setIsValid() to set this flag. - * @return Returns true if the value in this attribute is valid. - */ - daeBool getIsValid() {return _isValid; } - /** - * Sets the value that indicates if this attribute contains a valid value. - * If you don't set this on an optional - * attribute, that attribute will not be written. - * @param isValid Indicates if the value in this attribute valid, true if it is, false if not. - */ - void setIsValid(daeBool isValid) {_isValid = isValid;} /** * Determines if the schema indicates that this is a required attribute. * @return Returns true if this is a required attribute, false if not. @@ -182,35 +158,14 @@ public: * @return Returns the associated particle out of parent element e, based on index, if necessary. */ virtual daeMemoryRef get(daeElement* e, daeInt index); + + /** + * Gets if this attribute is an array attribute. + * @return Returns true if this attribute is an array type. + */ + virtual daeBool isArrayAttribute() { return false; } -public: // STATIC MEMBERS - /** - * Lists the type names that can be created by factories and indicates which _FactoryTemplates to use for each type. - */ - static daeStringRefArrayArray _NameBindings; - /** - * Points to the factory objects used to construct various types of attributes, _NameBindings specifies which type names are bound to which factories. - */ - static daeMetaAttributeRefArray _FactoryTemplates; - -public: //STATIC INTERFACE - /** - * Obsolete - */ - static daeMetaAttributeRef Factory(daeStringRef xmlTypeName); - /** - * Obsolete - */ - static void InitializeKnownTypes(); - public: - /** - * Clones the @c daeMetaAttribute. - * @return Returns a duplicate of this @c daeMetaAttribute. - * @note Not Implemented. - */ - virtual daeMetaAttributeRef clone(); - /** * Resolves a reference (if there is one) in the attribute type; * only useful for reference types. @@ -261,171 +216,7 @@ public: daeChar* getWritableMemory(daeElement* e) { return (daeChar*)e+_offset; } }; -/** -* The @c daeMetaElementAttribute class represents a single attribute whose value is an element. -*/ -class daeMetaElementAttribute : public daeMetaAttribute -{ -public: - /** Minimum number of times this meta element can occur. */ - daeInt _minOccurs; - /** Maximum number of times this meta element can occur. */ - daeInt _maxOccurs; - /** If this element is found in a choice group in the schema */ - daeBool _isInChoice; - /** If this element is found in a sequence group in the schema */ - daeBool _isInSequence; - - /** The element found before this one in the sequence group in the schema */ - daeMetaElement* _previousInSequence; - /** The metaElement that describes the element type of this attribute */ - daeMetaElement* _elementType; -public: - /** - * Constructor - */ - daeMetaElementAttribute(); - /** - * Destructor - */ - ~daeMetaElementAttribute() {} -public: - /** - * Sets the element type for the element that this attribute points to. - * @param elementType @c daeMetaElement representing the type. - */ - void setElementType(daeMetaElement *elementType) { - _elementType = elementType; } - /** - * Gets the element type for the element that this attribute points to. - * @return Returns the @c daeMetaElement representing the type. - */ - daeMetaElement* getElementType() { return _elementType; } - - /** - * Defines the override version of base method. - * @see daeMetaAttribute::clone() - */ - virtual daeMetaAttributeRef clone(); - - /** - * Places element child in element parent using @c this element attribute. - * @param parent The Element in which to place child. - * @param child The Element to place in parent. - */ - virtual void placeElement(daeElement* parent, daeElement* child); - /** - * Removes element child from element parent using @c this element attribute. - * @param parent The Element in which to remove child. - * @param child The Element to remove from parent. - */ - virtual void removeElement(daeElement* parent, daeElement* child); - /** - * Sets the database document associated with this element. - * @param parent The daeElement to set the document. - * @param c The @c daeDocument to associate with this element. - */ - virtual void setDocument(daeElement *parent, daeDocument* c ); - inline void setCollection(daeElement *parent, daeDocument* c ) { - setDocument( parent, c ); - } - - /** - * Gets the number of elements associated with this attribute in instance e. - * @param e Containing element to run the operation on. - * @return Returns the number of elements associated with this attribute - * in instance e. - */ - virtual daeInt getCount(daeElement* e); - - /** - * Gets an element from containing element e based on index. - * @param e Containing element from which to get the element. - * @param index Index of the element to retrieve if indeed - * there is an array of elements rather than a singleton. - * @return Returns the associated element out of parent element e, based on index, if necessary. - */ - virtual daeMemoryRef get(daeElement* e, daeInt index); - - /** - * Defines the override version of base method. - * @param element Element on which to set this attribute. - * @param s String containing the value to be converted via the - * atomic type system. - */ - virtual void set(daeElement* element, daeString s); - /** - * Defines the override version of base method. - * @param toElement Pointer to a @c daeElement to copy this attribute to. - * @param fromElement Pointer to a @c daeElement to copy this attribute from. - */ - virtual void copy(daeElement* toElement, daeElement* fromElement); -}; -typedef daeSmartRef daeMetaElementAttributeRef; -typedef daeTArray daeMetaElementAttributeArray; - - -/** - * The @c daeMetaElementArrayAttribute class is similar to daeMetaElementAttribute - * except that this meta attribute - * describes an array of elements rather than a singleton. - */ -class daeMetaElementArrayAttribute : public daeMetaElementAttribute -{ -public: - /** - * Constructor - */ - daeMetaElementArrayAttribute(); -public: - /** - * Defines the override version of this method from @c daeMetaElement. - * @return Returns a duplicate of this @c daeMetaAttribute. - * @note Not Implemented. - */ - virtual daeMetaAttributeRef clone(); - /** - * Defines the override version of this method from @c daeMetaElement. - */ - virtual void placeElement(daeElement* parent, daeElement* child); - /** - * Defines the override version of this method from @c daeMetaElement. - */ - virtual void removeElement(daeElement* parent, daeElement* child); - /** - * Sets the database document associated with this element. - * @param c The @c daeDocument to associate with this element. - */ - virtual void setDocument(daeElement *parent, daeDocument* c ); - inline void setCollection(daeElement *parent, daeDocument* c ) { - setDocument( parent, c ); - } - - /** - * Defines the override version of this method from @c daeMetaElement. - * @param e Containing element to run the operation on. - * @return Returns the number of particles associated with this attribute - * in instance e. - */ - virtual daeInt getCount(daeElement* e); - /** - * Defines the override version of this method from @c daeMetaElement. - * @param e Containing element from which to get the element. - * @param index Index of the particle to retrieve if indeed - * there is an array of elements rather than a singleton. - * @return Returns the associated particle out of parent element e, based on index, if necessary. - */ - virtual daeMemoryRef get(daeElement* e, daeInt index); - /** - * Defines the override version of this method from @c daeMetaElement. - * @param toElement Pointer to a @c daeElement to copy this attribute to. - * @param fromElement Pointer to a @c daeElement to copy this attribute from. - */ - virtual void copy(daeElement* toElement, daeElement* fromElement); -}; -typedef daeSmartRef daeMetaElementArrayAttributeRef; -typedef daeTArray daeMetaElementArrayAttributeArray; /** * The @c daeMetaArrayAttribute class is simple a wrapper that implements @@ -436,14 +227,7 @@ typedef daeTArray daeMetaElementArrayAttributeA */ class daeMetaArrayAttribute : public daeMetaAttribute { - daeMetaAttributeRef arrayType; public: - /** - * Defines the override version of this method from @c daeMetaAttribute. - * @return Returns a duplicate of this @c daeMetaAttribute. - * @note Not Implemented. - */ - virtual daeMetaAttributeRef clone(); /** * Defines the override version of this method from @c daeMetaAttribute. * @param element Element on which to set this attribute. @@ -472,8 +256,20 @@ public: * @return Returns the associated particle out of parent element e, based on index, if necessary. */ virtual daeMemoryRef get(daeElement* e, daeInt index); + + /** + * Gets if this attribute is an array attribute. + * @return Returns true if this attribute is an array type. + */ + virtual daeBool isArrayAttribute() { return true; } }; + +typedef daeSmartRef daeMetaAttributeRef; + +typedef daeTArray daeMetaAttributeRefArray; +typedef daeTArray daeMetaAttributePtrArray; + #endif //__DAE_META_ATTRIBUTE_H__ diff --git a/Extras/COLLADA_DOM/include/dae/daeMetaCMPolicy.h b/Extras/COLLADA_DOM/include/dae/daeMetaCMPolicy.h new file mode 100644 index 000000000..0eec6b095 --- /dev/null +++ b/Extras/COLLADA_DOM/include/dae/daeMetaCMPolicy.h @@ -0,0 +1,118 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#ifndef __DAE_META_CM_POLICY_H__ +#define __DAE_META_CM_POLICY_H__ + +#include +#include +//class daeElement; +class daeMetaElement; + +/** + * The daeMetaCMPolicy class is the base class for the content model policy classes which are used to + * describe the availability and ordering of an element's children. + */ +class daeMetaCMPolicy +{ +public: + /** + * Places an element into the parent element based on this content model policy object. + * @param parent The parent element for which the child element will be placed. + * @param child The new child element. + * @param ordinal A reference to a daeUInt which holds the ordinal return value for a placed child. Used + * to maintain proper ording of child elements. + * @param offset The offset to used when attempting to place this element. Affects comparison against + * minOccurs and maxOccurs. + * @param before The element that the child should appear before. Optional. + * @param after The element that the child should appear after. Optional. + * @return Returns The child element that was placed within this content model object or any of its + * children. NULL if placement failed. + */ + virtual daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL ) = 0; + /** + * Removes an element from the parent based on this content model object. + * @param parent The parent element for which child you want to remove. + * @param child The child that will be removed from the parent. + * @return Returns true if the child was successfully removed from this content model object or any of + * its children. False otherwise. + */ + virtual daeBool removeElement(daeElement* parent, daeElement* child ) = 0; + /** + * Gets the daeMetaElement of an acceptable child of this content model object. + * @param elementName The name of the element whos metaElement information you are interested in. + * @return Returns a pointer to a daeMetaElement class that describes the element interested in. + * Returns NULL if the element is not valid in this content model. + */ + virtual daeMetaElement *findChild( daeString elementName ) = 0; + /** + * Populates an array with the children of parent based on this content model object. + * @param parent The parent element whos children you want. + * @param array The array where you the children will be appended to. + */ + virtual void getChildren( daeElement* parent, daeElementRefArray &array ) = 0; + + /** + * Adds a child to this content model object. + * @param p The child content model policy object. + */ + void appendChild( daeMetaCMPolicy *p ) { _children.append( p ); } + + /** + * Gets the parent of this content model policy object. + * @return Returns a pointer to the parent node. + */ + daeMetaCMPolicy *getParent() { return _parent; } + + /** + * Sets the maximum ordinal value of this policy objects children. Used to keep proper ording for + * cm objects that may appear multiple times. + * @param ord The maximum ordinal value for this content model object. + */ + void setMaxOrdinal( daeUInt ord ) { _maxOrdinal = ord; } + +protected: + /** + * Constructor. + * @param container The daeMetaElement that this policy object belongs to. + * @param parent The daeMetaCMPolicy parent of this policy object. + * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the + * correct order of child elements. + * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema. + * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema. + */ + daeMetaCMPolicy( daeMetaElement *container ,daeMetaCMPolicy *parent, daeUInt ordinal, + daeInt minO, daeInt maxO ) : _container( container ), _parent( parent ), _minOccurs( minO ), + _maxOccurs( maxO ), _maxOrdinal( 0 ), _ordinalOffset( ordinal ) {} + + /** + * Destructor. + */ + virtual ~daeMetaCMPolicy(); + + daeMetaElement * _container; + daeMetaCMPolicy * _parent; + daeTArray _children; + + /** Minimum number of times this meta element can occur. */ + daeInt _minOccurs; + /** Maximum number of times this meta element can occur. -1 for unbounded */ + daeInt _maxOccurs; + + daeUInt _maxOrdinal; + daeUInt _ordinalOffset; + +}; + +#endif + diff --git a/Extras/COLLADA_DOM/include/dae/daeMetaChoice.h b/Extras/COLLADA_DOM/include/dae/daeMetaChoice.h new file mode 100644 index 000000000..cd640ac70 --- /dev/null +++ b/Extras/COLLADA_DOM/include/dae/daeMetaChoice.h @@ -0,0 +1,44 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#ifndef __DAE_META_CHOICE_H__ +#define __DAE_META_CHOICE_H__ + +#include + +/** + * The daeMetaChoice class defines the behavior of an xs:choice content model in the COLLADA Schema. + */ +class daeMetaChoice : public daeMetaCMPolicy +{ +public: + /** + * Constructor. + * @param container The daeMetaElement that this policy object belongs to. + * @param parent The daeMetaCMPolicy parent of this policy object. + * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the + * correct order of child elements. + * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema. + * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema. + */ + daeMetaChoice( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 ); + ~daeMetaChoice(); + + daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL ); + daeBool removeElement(daeElement* parent, daeElement* child); + daeMetaElement *findChild( daeString elementName ); + void getChildren( daeElement* parent, daeElementRefArray &array ); +}; + +#endif + diff --git a/Extras/COLLADA_DOM/include/dae/daeMetaElement.h b/Extras/COLLADA_DOM/include/dae/daeMetaElement.h index f95bedd5d..2eb7a8c83 100644 --- a/Extras/COLLADA_DOM/include/dae/daeMetaElement.h +++ b/Extras/COLLADA_DOM/include/dae/daeMetaElement.h @@ -19,10 +19,10 @@ #include #include +class daeMetaCMPolicy; +class daeMetaElementArrayAttribute; + typedef daeElementRef (*daeElementConstructFunctionPtr)(daeInt bytes); -class daeMetaElement; -typedef daeSmartRef daeMetaElementRef; -typedef daeTArray daeMetaElementRefArray; /** * Each instance of the @c daeMetaElement class describes a C++ COLLADA dom @@ -45,43 +45,33 @@ typedef daeTArray daeMetaElementRefArray; class daeMetaElement : public daeElement { protected: - daeStringRef _name; + daeStringRef _name; - daeElementConstructFunctionPtr _createFunc; - daeInt _minOccurs; - daeInt _maxOccurs; - daeStringRef _ref; - daeBool _isSequence; - daeBool _isChoice; - daeBool _needsResolve; - daeInt _elementSize; + daeElementConstructFunctionPtr _createFunc; + daeBool _needsResolve; + daeInt _elementSize; - daeMetaElementAttributeArray _metaElements; daeMetaAttributeRefArray _metaAttributes; daeMetaAttributeRef _metaValue; daeMetaElementArrayAttribute* _metaContents; + daeMetaArrayAttribute* _metaContentsOrder; + daeMetaElement * _metaIntegration; daeMetaAttributeRef _metaID; - daeMetaElement* _parent; - - daeMetaElement** _staticPointerAddress; - daeMetaAttributePtrArray _resolvers; daeBool _isTrackableForQueries; daeBool _usesStringContents; - daeBool _isTransparent; - daeBool _isAbstract; - daeBool _allowsAny; + daeBool _isTransparent; + daeBool _isAbstract; + daeBool _allowsAny; + daeBool _innerClass; - static daeMetaElementRefArray _metas; + static daeTArray > _metas; - daeStringArray _otherChildren; - daeStringArray _otherChildrenTypes; - daeTArray _otherChildrenContainer; - + daeMetaCMPolicy * _contentModel; public: /** @@ -95,31 +85,17 @@ public: ~daeMetaElement(); public: // public accessors + /** - * Gets the number of possible children of elements of this type that don't actually - * belong to this type. - * @return Returns the number of other possible children. + * Determines if elements of this type is an inner class. + * @return Returns true if this element type is an inner class. */ - size_t getPossibleChildrenCount() { return _otherChildren.getCount(); } + daeBool getIsInnerClass() { return _innerClass; } /** - * Gets the name of the possible child specified. - * @param index Index into the _otherChildren array. - * @return Returns the name of the possible child specified. + * Sets if elements of this type are inner classes. + * @param abstract True if this type is an inner class. */ - daeString getPossibleChildName(daeInt index) { return _otherChildren.get(index); } - /** - * Gets the containing element for the possible child specified. - * @param index Index into the _otherChildrenContainer array. - * @return Returns the containing element for the possible child specified. - */ - daeMetaElementAttribute* getPossibleChildContainer(daeInt index) { return _otherChildrenContainer.get(index); } - /** - * Gets the type of the possible child specified. - * @param index Index into the _otherChildren array. - * @return Returns a string of the type of the possible child specified. - */ - daeString getPossibleChildType(daeInt index) { return _otherChildrenTypes.get(index); } - + void setIsInnerClass( daeBool ic ) { _innerClass = ic; } /** * Determines if elements of this type can be placed in the object model. * @return Returns true if this element type is abstract, false otherwise. @@ -209,25 +185,6 @@ public: // public accessors */ daeMetaAttribute* getIDAttribute() { return _metaID; } - /** - * Gets the @c daeMetaElement associated with a child element of a given - * element type. - * @param elementName Name of the element to find as a child of @c this. - * @return Returns the @c daeMetaElement describing the potential child element, or - * NULL if no such child type exists in the context of this element. - */ - daeMetaElement* findChild(daeString elementName); - - /** - * Gets the container of this element type as defined by the COLLADA's XML - * schema. This parent type controls where this element - * can be directly inlined inside of another element. - * Although an element can be referred to in multiple places, it is only - * included in one; thus a single parent. - * @return Returns the parent @c daeMetaElement. - */ - daeMetaElement* getParent() { return _parent; } - /** * Gets the name of this element type. * @return Returns the name of this element type. @@ -240,14 +197,6 @@ public: // public accessors */ void setName(daeString s) { _name = s; } - /** - * Gets the array of element attributes associated with this element type. - * @return Returns the array of potential child elements in the XML COLLADA - * hierarchy. - */ - daeMetaElementAttributeArray& getMetaElements() { - return _metaElements; } - /** * Gets the array of attributes that represent URI fields that need * to be "resolved" after the database is completely read in. @@ -266,14 +215,6 @@ public: // public accessors daeMetaAttributeRefArray& getMetaAttributes() { return _metaAttributes; } - /** - * Gets the array of element attributes associated with this element type. - * @returns Returns the array of potential child elements in the XML COLLADA - * hierarchy. - */ - daeMetaElementAttributeArray& getMetaElementArray() { - return _metaElements; } - /** * Gets the attribute which has a name as provided by the s parameter. * @param s String containing the desired attribute's name. @@ -297,13 +238,19 @@ public: // public accessors public: /** - * Resisters with the reflective object system that the dom class described by this @c daeMetaElement + * Registers with the reflective object system that the dom class described by this @c daeMetaElement * contains a _contents array. This method is @em only for @c daeMetaElement contstuction, and * should only be called by the system as it sets up the Reflective Object System. - * @param offset Byte offset for the contents field in the C++ - * element class. + * @param offset Byte offset for the contents field in the C++ element class. */ void addContents(daeInt offset); + /** + * Registers with the reflective object system the array that stores the _contents ordering. This method is @em + * only for @c daeMetaElement contstuction, and should only be called by the system as it sets up the Reflective + * Object System. + * @param offset Byte offset for the contents order array in the C++ element class. + */ + void addContentsOrder( daeInt offset ); /** * Gets the attribute associated with the contents meta information. @@ -312,32 +259,6 @@ public: */ daeMetaElementArrayAttribute* getContents() { return _metaContents; } - /** - * Appends another element type to be a potential child - * element of this element type. - * @param metaElement @c daeMetaElement of the potential child element. - * @param offset Byte offset where the corresponding C++ field lives - * in each c++ class instance for this element type. - * @param name The name for this attribute if the type is complex, if none is - * specified, the name of the @c daeMetaElement will be used. - */ - void appendElement(daeMetaElement* metaElement, daeInt offset, daeString name=NULL); - - /** - * Appends the potential child element - * as a list of potential child elements rather than as a singleton. - * @param metaElement @c daeMetaElement of the potential child element. - * @param offset Byte offset where the corresponding C++ field lives - * in each C++ class instance for this element type. In this case the - * C++ field will be an array of elements rather than merely a pointer to - * one. - * @param name The name for this attribute if the type is complex, if none is - * specified, the name of the metaElement will be used. - * @note This function is the same as @c appendElement(), except that it appends the potential child element - * as a list of potential child elements rather than as a singleton. - */ - void appendArrayElement(daeMetaElement* metaElement, daeInt offset, daeString name=NULL); - /** * Appends a @c daeMetaAttribute that represents a field corresponding to an * XML attribute to the C++ version of this element type. @@ -346,34 +267,6 @@ public: */ void appendAttribute(daeMetaAttribute* attr); - /** - * Appends a possible child and maps the name to the actual container. - * @param name The name of the child element. - * @param cont Pointer to the @c daeMetaElementAttribute which contains the element. - * @param type The type name of the possible child. - */ - void appendPossibleChild( daeString name, daeMetaElementAttribute* cont, daeString type = NULL ); - - /** - * Sets the address where the static pointer lives for this element type's - * @c daeMetaElement. For instance, daeNode::_Meta will point to its - * corresponding @c daeMetaElement. - * If the @c daeMetaElement is deleted independently, this pointer is automatically set to NULL. - * @param addr Address of the storage for the pointer to the @c daeMetaElement. - */ - void setStaticPointerAddress(daeMetaElement** addr) { - _staticPointerAddress = addr; } - - - /** - * Gets the address where the static pointer lives for this element type's - * @c daeMetaElement. For instance, daeNode::_Meta will point to its - * corresponding @c daeMetaElement. - * If the @c daeMetaElement is deleted independently, this pointer is automatically set to NULL. - * @return Returns the address of the storage for the pointer to the @c daeMetaElement. - */ - daeMetaElement** getStaticPointerAddress() { return _staticPointerAddress;} - /** * Registers the function that can construct a C++ instance * of this class. Necessary for the factory system such that C++ @@ -397,6 +290,7 @@ public: * including factory creation. */ void validate(); + /** * Places a child element into the parent element where the * calling object is the @c daeMetaElement for the parent element. @@ -404,7 +298,50 @@ public: * @param child Child element to place in the parent. * @return Returns true if the operation was successful, false otherwise. */ - daeBool place(daeElementRef parent, daeElementRef child); + daeBool place(daeElement *parent, daeElement *child, daeUInt *ordinal = NULL); + /** + * Places a child element into the parent element at a specific location + * where the calling object is the @c daeMetaElement for the parent element. + * @param index The location in the contents array to insert. + * @param parent Element to act as the container. + * @param child Child element to place in the parent. + * @return Returns true if the operation was successful, false otherwise. + * @note This should only be called on elements that have a _contents array. Elements without + * a _contents array will be placed normally. + */ + daeBool placeAt( daeInt index, daeElement *parent, daeElement *child ); + /** + * Places a child element into the parent element at a specific location which is right + * before the marker element. + * @param marker The element location in the contents array to insert before. + * @param parent Element to act as the container. + * @param child Child element to place in the parent. + * @return Returns true if the operation was successful, false otherwise. + */ + daeBool placeBefore( daeElement* marker, daeElement *parent, daeElement *child, daeUInt *ordinal = NULL ); + /** + * Places a child element into the parent element at a specific location which is right + * after the marker element. + * @param marker The element location in the contents array to insert after. + * @param parent Element to act as the container. + * @param child Child element to place in the parent. + * @return Returns true if the operation was successful, false otherwise. + */ + daeBool placeAfter( daeElement* marker, daeElement *parent, daeElement *child, daeUInt *ordinal = NULL ); + + /** + * Removes a child element from its parent element. + * @param parent Element That is the parent. + * @param child Child element to remove. + * @return Returns true if the operation was successful, false otherwise. + */ + daeBool remove( daeElement *parent, daeElement *child ); + /** + * Gets all of the children from an element of this type. + * @param parent The element that you want to get the children from. + * @param array The return value. An elementref array to append this element's children to. + */ + void getChildren( daeElement* parent, daeElementRefArray &array ); /** * Invokes the factory element creation routine set by @c registerConstructor() @@ -425,35 +362,29 @@ public: daeElementRef create(daeString childElementTypeName); /** - * Gets the meta information for a given subelement - * @param s Name of the child element type to look up. - * @return Returns the meta information for a given subelement. + * Gets the root of the content model policy tree. + * @return Returns the root element of the tree of content model policy elements. */ - daeMetaElement* getChildMetaElement(daeString s); - + daeMetaCMPolicy *getCMRoot() { return _contentModel; } /** - * Gets the meta information for a given subelement - * @param s Name of the child element type to look up. - * @return Returns the meta information for a given subelement. + * Sets the root of the content model policy tree. + * @param cm The root element of the tree of content model policy elements. */ - daeMetaElementAttribute* getChildMetaElementAttribute(daeString s); + void setCMRoot( daeMetaCMPolicy *cm ) { _contentModel = cm; } public: - /** - * Unused - */ - static daeMetaElement* _Schema; -public: - /** - * Empty no-op function. - */ - static void initializeSchemaMeta(); /** * Releases all of the meta information contained in @c daeMetaElements. */ static void releaseMetas(); + + static const daeTArray > &getAllMetas() { return _metas; } }; + +typedef daeSmartRef daeMetaElementRef; +typedef daeTArray daeMetaElementRefArray; + #endif //__DAE_META_ELEMENT_H__ diff --git a/Extras/COLLADA_DOM/include/dae/daeMetaElementAttribute.h b/Extras/COLLADA_DOM/include/dae/daeMetaElementAttribute.h new file mode 100644 index 000000000..3ebdc7aec --- /dev/null +++ b/Extras/COLLADA_DOM/include/dae/daeMetaElementAttribute.h @@ -0,0 +1,189 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#ifndef __DAE_META_ELEMENT_ATTRIBUTE_H__ +#define __DAE_META_ELEMENT_ATTRIBUTE_H__ + +#include +#include +#include + +class daeMetaElement; +class daeElement; +class daeDocument; + +/** +* The @c daeMetaElementAttribute class represents a content model object that is an element. +*/ +class daeMetaElementAttribute : public daeMetaAttribute, public daeMetaCMPolicy +{ +public: + /** The metaElement that describes the element type of this attribute */ + daeMetaElement* _elementType; + +public: + /** + * Constructor. + * @param container The daeMetaElement that this policy object belongs to. + * @param parent The daeMetaCMPolicy parent of this policy object. + * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the + * correct order of child elements. + * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema. + * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema. + */ + daeMetaElementAttribute( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1); + /** + * Destructor + */ + virtual ~daeMetaElementAttribute(); + +public: + + virtual daeElement *placeElement(daeElement* parent, daeElement* child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL); + virtual daeBool removeElement(daeElement* parent, daeElement* child); + + daeMetaElement *findChild( daeString elementName ); + + virtual void getChildren( daeElement* parent, daeElementRefArray &array ); + +public: + /** + * Sets the element type for the element that this attribute points to. + * @param elementType @c daeMetaElement representing the type. + */ + void setElementType(daeMetaElement *elementType) { + _elementType = elementType; } + + /** + * Gets the element type for the element that this attribute points to. + * @return Returns the @c daeMetaElement representing the type. + */ + daeMetaElement* getElementType() { return _elementType; } + + /** + * Sets the database document associated with this element. + * @param parent The daeElement to set the document. + * @param c The @c daeDocument to associate with this element. + */ + virtual void setDocument(daeElement *parent, daeDocument* c ); + inline void setCollection(daeElement *parent, daeDocument* c ) { + setDocument( parent, c ); + } + + /** + * Gets the number of elements associated with this attribute in instance e. + * @param e Containing element to run the operation on. + * @return Returns the number of elements associated with this attribute + * in instance e. + */ + virtual daeInt getCount(daeElement* e); + + /** + * Gets an element from containing element e based on index. + * @param e Containing element from which to get the element. + * @param index Index of the element to retrieve if indeed + * there is an array of elements rather than a singleton. + * @return Returns the associated element out of parent element e, based on index, if necessary. + */ + virtual daeMemoryRef get(daeElement* e, daeInt index); + + /** + * Defines the override version of base method. + * @param element Element on which to set this attribute. + * @param s String containing the value to be converted via the + * atomic type system. + */ + virtual void set(daeElement* element, daeString s); + /** + * Defines the override version of base method. + * @param toElement Pointer to a @c daeElement to copy this attribute to. + * @param fromElement Pointer to a @c daeElement to copy this attribute from. + */ + virtual void copy(daeElement* toElement, daeElement* fromElement); + + /** + * Gets if this attribute is an array attribute. + * @return Returns true if this attribute is an array type. + */ + virtual daeBool isArrayAttribute() { return false; } +}; +typedef daeSmartRef daeMetaElementAttributeRef; +typedef daeTArray daeMetaElementAttributeArray; + + +/** + * The @c daeMetaElementArrayAttribute class is similar to daeMetaElementAttribute + * except that this meta attribute describes an array of elements rather than a singleton. + */ +class daeMetaElementArrayAttribute : public daeMetaElementAttribute +{ +public: + /** + * Constructor. + * @param container The daeMetaElement that this policy object belongs to. + * @param parent The daeMetaCMPolicy parent of this policy object. + * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the + * correct order of child elements. + * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema. + * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema. + */ + daeMetaElementArrayAttribute(daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1); + ~daeMetaElementArrayAttribute(); +public: + virtual daeElement *placeElement(daeElement* parent, daeElement* child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL); + virtual daeBool removeElement(daeElement* parent, daeElement* child); + + void getChildren( daeElement* parent, daeElementRefArray &array ); + + /** + * Sets the database document associated with this element. + * @param c The @c daeDocument to associate with this element. + */ + virtual void setDocument(daeElement *parent, daeDocument* c ); + inline void setCollection(daeElement *parent, daeDocument* c ) { + setDocument( parent, c ); + } + + /** + * Defines the override version of this method from @c daeMetaElement. + * @param e Containing element to run the operation on. + * @return Returns the number of particles associated with this attribute + * in instance e. + */ + virtual daeInt getCount(daeElement* e); + /** + * Defines the override version of this method from @c daeMetaElement. + * @param e Containing element from which to get the element. + * @param index Index of the particle to retrieve if indeed + * there is an array of elements rather than a singleton. + * @return Returns the associated particle out of parent element e, based on index, if necessary. + */ + virtual daeMemoryRef get(daeElement* e, daeInt index); + /** + * Defines the override version of this method from @c daeMetaElement. + * @param toElement Pointer to a @c daeElement to copy this attribute to. + * @param fromElement Pointer to a @c daeElement to copy this attribute from. + */ + virtual void copy(daeElement* toElement, daeElement* fromElement); + + /** + * Gets if this attribute is an array attribute. + * @return Returns true if this attribute is an array type. + */ + virtual daeBool isArrayAttribute() { return true; } +}; +typedef daeSmartRef daeMetaElementArrayAttributeRef; +typedef daeTArray daeMetaElementArrayAttributeArray; + +#endif + diff --git a/Extras/COLLADA_DOM/include/dae/daeMetaGroup.h b/Extras/COLLADA_DOM/include/dae/daeMetaGroup.h new file mode 100644 index 000000000..f03d12a66 --- /dev/null +++ b/Extras/COLLADA_DOM/include/dae/daeMetaGroup.h @@ -0,0 +1,55 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#ifndef __DAE_META_GROUP_H__ +#define __DAE_META_GROUP_H__ + +#include + +class daeMetaElementAttribute; + +/** + * The daeMetaGroup class defines the behavior of an xs:group ref content model from the COLLADA Schema. + */ +class daeMetaGroup : public daeMetaCMPolicy +{ +public: + /** + * Constructor. + * @param econ The daeMetaElementAttribute that represents the group element in the parent. + * @param container The daeMetaElement that this policy object belongs to. + * @param parent The daeMetaCMPolicy parent of this policy object. + * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the + * correct order of child elements. + * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema. + * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema. + */ + daeMetaGroup( daeMetaElementAttribute *econ, daeMetaElement *container, daeMetaCMPolicy *parent = NULL, + daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 ); + + /** + * Destructor. + */ + ~daeMetaGroup(); + + daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL ); + daeBool removeElement(daeElement* parent, daeElement* child); + daeMetaElement *findChild( daeString elementName ); + void getChildren( daeElement* parent, daeElementRefArray &array ); + +protected: + daeMetaElementAttribute *_elementContainer; +}; + +#endif + diff --git a/Extras/COLLADA_DOM/include/dae/daeMetaSequence.h b/Extras/COLLADA_DOM/include/dae/daeMetaSequence.h new file mode 100644 index 000000000..b2028b47a --- /dev/null +++ b/Extras/COLLADA_DOM/include/dae/daeMetaSequence.h @@ -0,0 +1,51 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#ifndef __DAE_META_SEQUENCE_H__ +#define __DAE_META_SEQUENCE_H__ + +#include + +/** + * The daeMetaSequence class defines the behavior of an xs:sequence content model in the COLLADA Schema. + */ +class daeMetaSequence : public daeMetaCMPolicy +{ +public: + /** + * Constructor. + * @param container The daeMetaElement that this policy object belongs to. + * @param parent The daeMetaCMPolicy parent of this policy object. + * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the + * correct order of child elements. + * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema. + * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema. + */ + daeMetaSequence( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 ); + + /** + * Destructor. + */ + ~daeMetaSequence(); + + daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL ); + daeBool removeElement(daeElement* parent, daeElement* child); + daeMetaElement *findChild( daeString elementName ); + void getChildren( daeElement* parent, daeElementRefArray &array ); + +}; + + +#endif + + diff --git a/Extras/COLLADA_DOM/include/dae/daeSIDResolver.h b/Extras/COLLADA_DOM/include/dae/daeSIDResolver.h new file mode 100644 index 000000000..8b2f82a67 --- /dev/null +++ b/Extras/COLLADA_DOM/include/dae/daeSIDResolver.h @@ -0,0 +1,149 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#ifndef __DAE_SIDRESOLVER_H__ +#define __DAE_SIDRESOLVER_H__ + +#include +#include + +/** + * The daeSIDResolver class is designed to resolve sid references within a COLLADA document. + * The rules for sid resolution are set forth by the Addressing Syntax section in Chapter 3 of the + * COLLADA specification which can be found at https://www.khronos.org/collada . + * This resolver always attempts to resolve to the daeElement which is referenced. If the element contains + * a daeDoubleArray (domFloatArray) value, the resolver will set the pointer to that array. The + * resolver will also do this if the sid target points to a element which has a as + * a child. If the sid target specifies a value, i.e. blah.X or blah(6), the resolver will attempt to + * get a pointer to that specific value. The resolver only attempts to resolve to that level for values which + * are defined in the COMMON profile glossary of the COLLADA specification, or values reference with the (#) + * syntax. You can check the return value from getState() to see which level of resolution is possible. + */ +class daeSIDResolver +{ +public: + /** + * An enum describing the status of the SID resolution process. + */ + enum ResolveState{ + /** No target specified */ + target_empty, + /** target specified but not resolved */ + target_loaded, + /** Resolution failed because target was not found */ + sid_failed_not_found, + /** Resolution successful to the Element level */ + sid_success_element, + /** Resolution successful to the Double Array level */ + sid_success_array, + /** Resolution successful to the Double level */ + sid_success_double + }; + + /** + * Constructor. + * @param container The element which contains the target that you want to resolve. + * @param target The target string which needs to be resolved. + * @param platform The platform name of the technique to use. A NULL value indicates the common platform. + */ + daeSIDResolver( daeElement *container, daeString target, daeString platform = NULL ); + + /** + * Destructor. + */ + ~daeSIDResolver(); + + /** + * Gets the target string. + * @return Returns the target string of this SID resolver. + */ + daeString getTarget() const { return target; } + /** + * Sets the target string. + * @param t The new target string for this resolver. + */ + void setTarget( daeString t ); + + /** + * Gets the name of the profile to use when resolving. + * @return Returns the name of the profile or NULL for the common profile. + */ + daeString getProfile() const { return profile; } + /** + * Sets the profile to use when resolving. + * @param p The profile name of the technique to use. A NULL value indicates the common profile. + */ + void setProfile( daeString p ); + + /** + * Gets a pointer to the @c daeElement that contains the target to resolve. + * @return Returns the pointer to the containing daeElmement. + */ + daeElement* getContainer() const { return container; } + /** + * Sets the pointer to the @c daeElement that contains the target to resolve. + * @param element Pointer to the containing @c daeElmement. + */ + void setContainer(daeElement* element); + + /** + * Gets the resolution state. + * @return Returns the current state of SID resolution. + */ + ResolveState getState() const { return state; } + + /** + * Gets the element that this SID resolves to. + * @return Returns the element that the URI resolves to. + */ + daeElementRef getElement(); + + /** + * Gets the value array of the element that the SID resolves to. + * @return Returns a pointer to the value array that the SID resolves to + * @note The daeSIDResolver can only resolve to this level for daeDoubleArray values. + */ + daeDoubleArray *getDoubleArray(); + + /** + * Gets a pointer to the particle this target resolved to. + * @return Returns a pointer to a double value which is the fully resolved target. + * @note The daeSIDResolver can only resolve to this level for domDouble values and only if the + * final symbolic name is from the COMMON profile or a cardinal value is specified. + * @note The daeSIDResolver assumes the value is a 4x4 matrix if there are 2 cardinal values specified. + */ + daeDouble *getDouble(); + +private: + + void resolve(); + /** + * Recursive function which will find an element with specified sid in the subtree of el. + */ + daeElement *findSID( daeElement *el, daeString sid ); + +private: + + daeString target; + daeString profile; + daeElement *container; + ResolveState state; + + daeElement *element; + daeDoubleArray *doubleArray; + daeDouble *doublePtr; + +}; + +#endif + diff --git a/Extras/COLLADA_DOM/include/dae/daeStringTable.h b/Extras/COLLADA_DOM/include/dae/daeStringTable.h index 21fe70f68..9aa69e23c 100644 --- a/Extras/COLLADA_DOM/include/dae/daeStringTable.h +++ b/Extras/COLLADA_DOM/include/dae/daeStringTable.h @@ -57,6 +57,8 @@ private: // MEMBERS daeStringArray _stringBuffersList; daeString allocateBuffer(); + + daeString _empty; }; #endif //__DAE_STRING_TABLE_H__ diff --git a/Extras/COLLADA_DOM/include/dae/domAny.h b/Extras/COLLADA_DOM/include/dae/domAny.h index 0e25abf2c..a301a6427 100644 --- a/Extras/COLLADA_DOM/include/dae/domAny.h +++ b/Extras/COLLADA_DOM/include/dae/domAny.h @@ -42,6 +42,10 @@ protected: // Attribute * Used to preserve order in elements that do not specify strict sequencing of sub-elements. */ daeElementRefArray _contents; + /** + * Used to preserve order in elements that have a complex content model. + */ + daeUIntArray _contentsOrder; public: /** @@ -81,7 +85,7 @@ public: * Sets the _value of this element. * @param val The new value for this element. */ - void setValue( daeString val ) { _value = val; } + void setValue( daeString val ) { *(daeStringRef*)&_value = val; } protected: /** diff --git a/Extras/COLLADA_DOM/include/modules/daeLIBXMLPlugin.h b/Extras/COLLADA_DOM/include/modules/daeLIBXMLPlugin.h index 6514a7de8..d6810f154 100644 --- a/Extras/COLLADA_DOM/include/modules/daeLIBXMLPlugin.h +++ b/Extras/COLLADA_DOM/include/modules/daeLIBXMLPlugin.h @@ -83,7 +83,7 @@ private: void postProcessDom(daeDocument *document, daeElement* element, std::vector &intItems); void writeElement( daeElement* element ); - void writeAttribute( daeMetaAttribute* attr, daeElement* element ); + void writeAttribute( daeMetaAttribute* attr, daeElement* element, daeInt attrNum = -1 ); void readAttributes( daeElement *element, xmlTextReaderPtr reader ); void readValue( daeElement *element, xmlTextReaderPtr reader ); diff --git a/Extras/COLLADA_DOM/include/modules/daeSTLDatabase.h b/Extras/COLLADA_DOM/include/modules/daeSTLDatabase.h index 10131fc59..254b296cf 100644 --- a/Extras/COLLADA_DOM/include/modules/daeSTLDatabase.h +++ b/Extras/COLLADA_DOM/include/modules/daeSTLDatabase.h @@ -17,6 +17,8 @@ #include #include +#include +#include #include #include @@ -117,18 +119,10 @@ private: }; std::vector elements; + std::multimap< std::string, DAE_STL_DATABASE_CELL> elementsIDMap; std::vector documents; - bool validated; daeMetaElement* topMeta; - //!!!ACL removing this function. - /*daeInt getElementByType(daeElement** pElement, - int *currentIndex, - int index, - daeString name = NULL, - daeString type = NULL, - daeString file = NULL);*/ - daeInt insertChildren( daeDocument *c, daeElement *element ); daeInt removeChildren( daeDocument *c, daeElement *element ); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domAccessor.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domAccessor.cpp index cf29fe400..00151c902 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domAccessor.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domAccessor.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domAccessor::create(daeInt bytes) @@ -30,11 +36,20 @@ domAccessor::registerElement() _Meta = new daeMetaElement; _Meta->setName( "accessor" ); - _Meta->setStaticPointerAddress(&domAccessor::_Meta); _Meta->registerConstructor(domAccessor::create); - // Add elements: param - _Meta->appendArrayElement(domParam::registerElement(),daeOffsetOf(domAccessor,elemParam_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domAccessor,elemParam_array) ); + mea->setElementType( domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: count { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domAnimation.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domAnimation.cpp index d0a22d794..79a6f7df5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domAnimation.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domAnimation.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domAnimation::create(daeInt bytes) @@ -29,18 +35,113 @@ domAnimation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "animation" ); - _Meta->setStaticPointerAddress(&domAnimation::_Meta); _Meta->registerConstructor(domAnimation::create); - // Add elements: asset, source, sampler, channel, animation, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domAnimation,elemAsset)); - _Meta->appendArrayElement(domSource::registerElement(),daeOffsetOf(domAnimation,elemSource_array)); - _Meta->appendArrayElement(domSampler::registerElement(),daeOffsetOf(domAnimation,elemSampler_array)); - _Meta->appendArrayElement(domChannel::registerElement(),daeOffsetOf(domAnimation,elemChannel_array)); - _Meta->appendArrayElement(domAnimation::registerElement(),daeOffsetOf(domAnimation,elemAnimation_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domAnimation,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domAnimation,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domAnimation,elemSource_array) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "sampler" ); + mea->setOffset( daeOffsetOf(domAnimation,elemSampler_array) ); + mea->setElementType( domSampler::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "channel" ); + mea->setOffset( daeOffsetOf(domAnimation,elemChannel_array) ); + mea->setElementType( domChannel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "animation" ); + mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) ); + mea->setElementType( domAnimation::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 1, -1 ); + mea->setName( "animation" ); + mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) ); + mea->setElementType( domAnimation::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 1 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaSequence( _Meta, cm, 2, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "sampler" ); + mea->setOffset( daeOffsetOf(domAnimation,elemSampler_array) ); + mea->setElementType( domSampler::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "channel" ); + mea->setOffset( daeOffsetOf(domAnimation,elemChannel_array) ); + mea->setElementType( domChannel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "animation" ); + mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) ); + mea->setElementType( domAnimation::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 1, -1 ); + mea->setName( "animation" ); + mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) ); + mea->setElementType( domAnimation::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 4 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domAnimation,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domAnimation,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domAnimation,_contentsOrder)); // Add attribute: id diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domAnimation_clip.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domAnimation_clip.cpp index e37557fad..9bd566848 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domAnimation_clip.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domAnimation_clip.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domAnimation_clip::create(daeInt bytes) @@ -29,13 +35,32 @@ domAnimation_clip::registerElement() _Meta = new daeMetaElement; _Meta->setName( "animation_clip" ); - _Meta->setStaticPointerAddress(&domAnimation_clip::_Meta); _Meta->registerConstructor(domAnimation_clip::create); - // Add elements: asset, instance_animation, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domAnimation_clip,elemAsset)); - _Meta->appendArrayElement(domInstanceWithExtra::registerElement(),daeOffsetOf(domAnimation_clip,elemInstance_animation_array),"instance_animation"); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domAnimation_clip,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domAnimation_clip,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "instance_animation" ); + mea->setOffset( daeOffsetOf(domAnimation_clip,elemInstance_animation_array) ); + mea->setElementType( domInstanceWithExtra::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domAnimation_clip,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domAsset.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domAsset.cpp index 68b2d4c8d..dbe28b7d8 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domAsset.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domAsset.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domAsset::create(daeInt bytes) @@ -29,19 +35,68 @@ domAsset::registerElement() _Meta = new daeMetaElement; _Meta->setName( "asset" ); - _Meta->setStaticPointerAddress(&domAsset::_Meta); _Meta->registerConstructor(domAsset::create); - // Add elements: contributor, created, keywords, modified, revision, subject, title, unit, up_axis - _Meta->appendArrayElement(domAsset::domContributor::registerElement(),daeOffsetOf(domAsset,elemContributor_array)); - _Meta->appendElement(domAsset::domCreated::registerElement(),daeOffsetOf(domAsset,elemCreated)); - _Meta->appendElement(domAsset::domKeywords::registerElement(),daeOffsetOf(domAsset,elemKeywords)); - _Meta->appendElement(domAsset::domModified::registerElement(),daeOffsetOf(domAsset,elemModified)); - _Meta->appendElement(domAsset::domRevision::registerElement(),daeOffsetOf(domAsset,elemRevision)); - _Meta->appendElement(domAsset::domSubject::registerElement(),daeOffsetOf(domAsset,elemSubject)); - _Meta->appendElement(domAsset::domTitle::registerElement(),daeOffsetOf(domAsset,elemTitle)); - _Meta->appendElement(domAsset::domUnit::registerElement(),daeOffsetOf(domAsset,elemUnit)); - _Meta->appendElement(domAsset::domUp_axis::registerElement(),daeOffsetOf(domAsset,elemUp_axis)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "contributor" ); + mea->setOffset( daeOffsetOf(domAsset,elemContributor_array) ); + mea->setElementType( domAsset::domContributor::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "created" ); + mea->setOffset( daeOffsetOf(domAsset,elemCreated) ); + mea->setElementType( domAsset::domCreated::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "keywords" ); + mea->setOffset( daeOffsetOf(domAsset,elemKeywords) ); + mea->setElementType( domAsset::domKeywords::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "modified" ); + mea->setOffset( daeOffsetOf(domAsset,elemModified) ); + mea->setElementType( domAsset::domModified::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "revision" ); + mea->setOffset( daeOffsetOf(domAsset,elemRevision) ); + mea->setElementType( domAsset::domRevision::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "subject" ); + mea->setOffset( daeOffsetOf(domAsset,elemSubject) ); + mea->setElementType( domAsset::domSubject::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "title" ); + mea->setOffset( daeOffsetOf(domAsset,elemTitle) ); + mea->setElementType( domAsset::domTitle::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "unit" ); + mea->setOffset( daeOffsetOf(domAsset,elemUnit) ); + mea->setElementType( domAsset::domUnit::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "up_axis" ); + mea->setOffset( daeOffsetOf(domAsset,elemUp_axis) ); + mea->setElementType( domAsset::domUp_axis::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 8 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domAsset)); @@ -65,15 +120,45 @@ domAsset::domContributor::registerElement() _Meta = new daeMetaElement; _Meta->setName( "contributor" ); - _Meta->setStaticPointerAddress(&domAsset::domContributor::_Meta); _Meta->registerConstructor(domAsset::domContributor::create); - // Add elements: author, authoring_tool, comments, copyright, source_data - _Meta->appendElement(domAsset::domContributor::domAuthor::registerElement(),daeOffsetOf(domAsset::domContributor,elemAuthor)); - _Meta->appendElement(domAsset::domContributor::domAuthoring_tool::registerElement(),daeOffsetOf(domAsset::domContributor,elemAuthoring_tool)); - _Meta->appendElement(domAsset::domContributor::domComments::registerElement(),daeOffsetOf(domAsset::domContributor,elemComments)); - _Meta->appendElement(domAsset::domContributor::domCopyright::registerElement(),daeOffsetOf(domAsset::domContributor,elemCopyright)); - _Meta->appendElement(domAsset::domContributor::domSource_data::registerElement(),daeOffsetOf(domAsset::domContributor,elemSource_data)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "author" ); + mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthor) ); + mea->setElementType( domAsset::domContributor::domAuthor::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "authoring_tool" ); + mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthoring_tool) ); + mea->setElementType( domAsset::domContributor::domAuthoring_tool::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "comments" ); + mea->setOffset( daeOffsetOf(domAsset::domContributor,elemComments) ); + mea->setElementType( domAsset::domContributor::domComments::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "copyright" ); + mea->setOffset( daeOffsetOf(domAsset::domContributor,elemCopyright) ); + mea->setElementType( domAsset::domContributor::domCopyright::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "source_data" ); + mea->setOffset( daeOffsetOf(domAsset::domContributor,elemSource_data) ); + mea->setElementType( domAsset::domContributor::domSource_data::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 4 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domAsset::domContributor)); @@ -97,9 +182,9 @@ domAsset::domContributor::domAuthor::registerElement() _Meta = new daeMetaElement; _Meta->setName( "author" ); - _Meta->setStaticPointerAddress(&domAsset::domContributor::domAuthor::_Meta); _Meta->registerConstructor(domAsset::domContributor::domAuthor::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -132,9 +217,9 @@ domAsset::domContributor::domAuthoring_tool::registerElement() _Meta = new daeMetaElement; _Meta->setName( "authoring_tool" ); - _Meta->setStaticPointerAddress(&domAsset::domContributor::domAuthoring_tool::_Meta); _Meta->registerConstructor(domAsset::domContributor::domAuthoring_tool::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -167,9 +252,9 @@ domAsset::domContributor::domComments::registerElement() _Meta = new daeMetaElement; _Meta->setName( "comments" ); - _Meta->setStaticPointerAddress(&domAsset::domContributor::domComments::_Meta); _Meta->registerConstructor(domAsset::domContributor::domComments::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -202,9 +287,9 @@ domAsset::domContributor::domCopyright::registerElement() _Meta = new daeMetaElement; _Meta->setName( "copyright" ); - _Meta->setStaticPointerAddress(&domAsset::domContributor::domCopyright::_Meta); _Meta->registerConstructor(domAsset::domContributor::domCopyright::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -238,9 +323,9 @@ domAsset::domContributor::domSource_data::registerElement() _Meta = new daeMetaElement; _Meta->setName( "source_data" ); - _Meta->setStaticPointerAddress(&domAsset::domContributor::domSource_data::_Meta); _Meta->registerConstructor(domAsset::domContributor::domSource_data::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -273,9 +358,9 @@ domAsset::domCreated::registerElement() _Meta = new daeMetaElement; _Meta->setName( "created" ); - _Meta->setStaticPointerAddress(&domAsset::domCreated::_Meta); _Meta->registerConstructor(domAsset::domCreated::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -308,9 +393,9 @@ domAsset::domKeywords::registerElement() _Meta = new daeMetaElement; _Meta->setName( "keywords" ); - _Meta->setStaticPointerAddress(&domAsset::domKeywords::_Meta); _Meta->registerConstructor(domAsset::domKeywords::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -343,9 +428,9 @@ domAsset::domModified::registerElement() _Meta = new daeMetaElement; _Meta->setName( "modified" ); - _Meta->setStaticPointerAddress(&domAsset::domModified::_Meta); _Meta->registerConstructor(domAsset::domModified::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -378,9 +463,9 @@ domAsset::domRevision::registerElement() _Meta = new daeMetaElement; _Meta->setName( "revision" ); - _Meta->setStaticPointerAddress(&domAsset::domRevision::_Meta); _Meta->registerConstructor(domAsset::domRevision::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -413,9 +498,9 @@ domAsset::domSubject::registerElement() _Meta = new daeMetaElement; _Meta->setName( "subject" ); - _Meta->setStaticPointerAddress(&domAsset::domSubject::_Meta); _Meta->registerConstructor(domAsset::domSubject::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -448,9 +533,9 @@ domAsset::domTitle::registerElement() _Meta = new daeMetaElement; _Meta->setName( "title" ); - _Meta->setStaticPointerAddress(&domAsset::domTitle::_Meta); _Meta->registerConstructor(domAsset::domTitle::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -483,9 +568,9 @@ domAsset::domUnit::registerElement() _Meta = new daeMetaElement; _Meta->setName( "unit" ); - _Meta->setStaticPointerAddress(&domAsset::domUnit::_Meta); _Meta->registerConstructor(domAsset::domUnit::create); + _Meta->setIsInnerClass( true ); // Add attribute: meter { @@ -533,9 +618,9 @@ domAsset::domUp_axis::registerElement() _Meta = new daeMetaElement; _Meta->setName( "up_axis" ); - _Meta->setStaticPointerAddress(&domAsset::domUp_axis::_Meta); _Meta->registerConstructor(domAsset::domUp_axis::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domBind_material.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domBind_material.cpp index c6b5f513d..dd5b84f0b 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domBind_material.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domBind_material.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domBind_material::create(daeInt bytes) @@ -29,13 +35,38 @@ domBind_material::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bind_material" ); - _Meta->setStaticPointerAddress(&domBind_material::_Meta); _Meta->registerConstructor(domBind_material::create); - // Add elements: param, technique_common, technique - _Meta->appendArrayElement(domParam::registerElement(),daeOffsetOf(domBind_material,elemParam_array)); - _Meta->appendElement(domBind_material::domTechnique_common::registerElement(),daeOffsetOf(domBind_material,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domBind_material,elemTechnique_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domBind_material,elemParam_array) ); + mea->setElementType( domParam::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domBind_material,elemTechnique_common) ); + mea->setElementType( domBind_material::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domBind_material,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domBind_material,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domBind_material)); @@ -59,11 +90,21 @@ domBind_material::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domBind_material::domTechnique_common::_Meta); _Meta->registerConstructor(domBind_material::domTechnique_common::create); - // Add elements: instance_material - _Meta->appendArrayElement(domInstance_material::registerElement(),daeOffsetOf(domBind_material::domTechnique_common,elemInstance_material_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "instance_material" ); + mea->setOffset( daeOffsetOf(domBind_material::domTechnique_common,elemInstance_material_array) ); + mea->setElementType( domInstance_material::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domBind_material::domTechnique_common)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domBool_array.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domBool_array.cpp index 9919c263b..47abd6078 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domBool_array.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domBool_array.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domBool_array::create(daeInt bytes) @@ -29,7 +35,6 @@ domBool_array::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool_array" ); - _Meta->setStaticPointerAddress(&domBool_array::_Meta); _Meta->registerConstructor(domBool_array::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domBox.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domBox.cpp index 0a1008a78..50f6a2f7a 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domBox.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domBox.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domBox::create(daeInt bytes) @@ -29,12 +35,26 @@ domBox::registerElement() _Meta = new daeMetaElement; _Meta->setName( "box" ); - _Meta->setStaticPointerAddress(&domBox::_Meta); _Meta->registerConstructor(domBox::create); - // Add elements: half_extents, extra - _Meta->appendElement(domBox::domHalf_extents::registerElement(),daeOffsetOf(domBox,elemHalf_extents)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domBox,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half_extents" ); + mea->setOffset( daeOffsetOf(domBox,elemHalf_extents) ); + mea->setElementType( domBox::domHalf_extents::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domBox,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domBox)); @@ -58,9 +78,9 @@ domBox::domHalf_extents::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half_extents" ); - _Meta->setStaticPointerAddress(&domBox::domHalf_extents::_Meta); _Meta->registerConstructor(domBox::domHalf_extents::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCOLLADA.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCOLLADA.cpp index 09694e5cb..43ff6d406 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCOLLADA.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCOLLADA.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include extern daeString COLLADA_VERSION; extern daeString COLLADA_NAMESPACE; @@ -22,8 +28,12 @@ domCOLLADA::create(daeInt bytes) { domCOLLADARef ref = new(bytes) domCOLLADA; ref->attrXmlns.setContainer( (domCOLLADA*)ref ); + ref->attrXml_base.setContainer( (domCOLLADA*)ref ); + ref->_meta = _Meta; + ref->_validAttributeArray.setCount( ref->_meta->getMetaAttributes().getCount() ); ref->setAttribute("version", COLLADA_VERSION ); ref->setAttribute("xmlns", COLLADA_NAMESPACE ); + ref->_meta = NULL; return ref; } @@ -35,30 +45,131 @@ domCOLLADA::registerElement() _Meta = new daeMetaElement; _Meta->setName( "COLLADA" ); - _Meta->setStaticPointerAddress(&domCOLLADA::_Meta); _Meta->registerConstructor(domCOLLADA::create); - // Add elements: asset, library_animations, library_animation_clips, library_cameras, library_controllers, library_geometries, library_effects, library_force_fields, library_images, library_lights, library_materials, library_nodes, library_physics_materials, library_physics_models, library_physics_scenes, library_visual_scenes, scene, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domCOLLADA,elemAsset)); - _Meta->appendArrayElement(domLibrary_animations::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_animations_array)); - _Meta->appendArrayElement(domLibrary_animation_clips::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_animation_clips_array)); - _Meta->appendArrayElement(domLibrary_cameras::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_cameras_array)); - _Meta->appendArrayElement(domLibrary_controllers::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_controllers_array)); - _Meta->appendArrayElement(domLibrary_geometries::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_geometries_array)); - _Meta->appendArrayElement(domLibrary_effects::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_effects_array)); - _Meta->appendArrayElement(domLibrary_force_fields::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_force_fields_array)); - _Meta->appendArrayElement(domLibrary_images::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_images_array)); - _Meta->appendArrayElement(domLibrary_lights::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_lights_array)); - _Meta->appendArrayElement(domLibrary_materials::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_materials_array)); - _Meta->appendArrayElement(domLibrary_nodes::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_nodes_array)); - _Meta->appendArrayElement(domLibrary_physics_materials::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_physics_materials_array)); - _Meta->appendArrayElement(domLibrary_physics_models::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_physics_models_array)); - _Meta->appendArrayElement(domLibrary_physics_scenes::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_physics_scenes_array)); - _Meta->appendArrayElement(domLibrary_visual_scenes::registerElement(),daeOffsetOf(domCOLLADA,elemLibrary_visual_scenes_array)); - _Meta->appendElement(domCOLLADA::domScene::registerElement(),daeOffsetOf(domCOLLADA,elemScene)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domCOLLADA,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_animations" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_animations_array) ); + mea->setElementType( domLibrary_animations::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_animation_clips" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_animation_clips_array) ); + mea->setElementType( domLibrary_animation_clips::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_cameras" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_cameras_array) ); + mea->setElementType( domLibrary_cameras::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_controllers" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_controllers_array) ); + mea->setElementType( domLibrary_controllers::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_geometries" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_geometries_array) ); + mea->setElementType( domLibrary_geometries::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_effects" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_effects_array) ); + mea->setElementType( domLibrary_effects::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_force_fields" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_force_fields_array) ); + mea->setElementType( domLibrary_force_fields::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_images" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_images_array) ); + mea->setElementType( domLibrary_images::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_lights" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_lights_array) ); + mea->setElementType( domLibrary_lights::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_materials" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_materials_array) ); + mea->setElementType( domLibrary_materials::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_nodes" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_nodes_array) ); + mea->setElementType( domLibrary_nodes::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_physics_materials" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_materials_array) ); + mea->setElementType( domLibrary_physics_materials::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_physics_models" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_models_array) ); + mea->setElementType( domLibrary_physics_models::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_physics_scenes" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_scenes_array) ); + mea->setElementType( domLibrary_physics_scenes::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "library_visual_scenes" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_visual_scenes_array) ); + mea->setElementType( domLibrary_visual_scenes::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 3002, 0, 1 ); + mea->setName( "scene" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemScene) ); + mea->setElementType( domCOLLADA::domScene::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCOLLADA,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3003 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCOLLADA,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCOLLADA,_contentsOrder)); // Add attribute: xmlns { @@ -82,6 +193,17 @@ domCOLLADA::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: xml_base + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "xml_base" ); + ma->setType( daeAtomicType::get("xsAnyURI")); + ma->setOffset( daeOffsetOf( domCOLLADA , attrXml_base )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domCOLLADA)); @@ -105,13 +227,33 @@ domCOLLADA::domScene::registerElement() _Meta = new daeMetaElement; _Meta->setName( "scene" ); - _Meta->setStaticPointerAddress(&domCOLLADA::domScene::_Meta); _Meta->registerConstructor(domCOLLADA::domScene::create); - // Add elements: instance_physics_scene, instance_visual_scene, extra - _Meta->appendArrayElement(domInstanceWithExtra::registerElement(),daeOffsetOf(domCOLLADA::domScene,elemInstance_physics_scene_array),"instance_physics_scene"); - _Meta->appendElement(domInstanceWithExtra::registerElement(),daeOffsetOf(domCOLLADA::domScene,elemInstance_visual_scene),"instance_visual_scene"); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domCOLLADA::domScene,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "instance_physics_scene" ); + mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_physics_scene_array) ); + mea->setElementType( domInstanceWithExtra::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "instance_visual_scene" ); + mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_visual_scene) ); + mea->setElementType( domInstanceWithExtra::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCOLLADA::domScene)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCamera.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCamera.cpp index c82b24ab6..a9b5bb902 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCamera.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCamera.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCamera::create(daeInt bytes) @@ -29,14 +35,38 @@ domCamera::registerElement() _Meta = new daeMetaElement; _Meta->setName( "camera" ); - _Meta->setStaticPointerAddress(&domCamera::_Meta); _Meta->registerConstructor(domCamera::create); - // Add elements: asset, optics, imager, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domCamera,elemAsset)); - _Meta->appendElement(domCamera::domOptics::registerElement(),daeOffsetOf(domCamera,elemOptics)); - _Meta->appendElement(domCamera::domImager::registerElement(),daeOffsetOf(domCamera,elemImager)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domCamera,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domCamera,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "optics" ); + mea->setOffset( daeOffsetOf(domCamera,elemOptics) ); + mea->setElementType( domCamera::domOptics::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "imager" ); + mea->setOffset( daeOffsetOf(domCamera,elemImager) ); + mea->setElementType( domCamera::domImager::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCamera,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: id { @@ -82,13 +112,33 @@ domCamera::domOptics::registerElement() _Meta = new daeMetaElement; _Meta->setName( "optics" ); - _Meta->setStaticPointerAddress(&domCamera::domOptics::_Meta); _Meta->registerConstructor(domCamera::domOptics::create); - // Add elements: technique_common, technique, extra - _Meta->appendElement(domCamera::domOptics::domTechnique_common::registerElement(),daeOffsetOf(domCamera::domOptics,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domCamera::domOptics,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domCamera::domOptics,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics,elemTechnique_common) ); + mea->setElementType( domCamera::domOptics::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCamera::domOptics)); @@ -112,14 +162,30 @@ domCamera::domOptics::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domCamera::domOptics::domTechnique_common::_Meta); _Meta->registerConstructor(domCamera::domOptics::domTechnique_common::create); - // Add elements: orthographic, perspective - _Meta->appendElement(domCamera::domOptics::domTechnique_common::domOrthographic::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common,elemOrthographic)); - _Meta->appendElement(domCamera::domOptics::domTechnique_common::domPerspective::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common,elemPerspective)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "orthographic" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common,elemOrthographic) ); + mea->setElementType( domCamera::domOptics::domTechnique_common::domOrthographic::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "perspective" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common,elemPerspective) ); + mea->setElementType( domCamera::domOptics::domTechnique_common::domPerspective::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common,_contentsOrder)); @@ -144,17 +210,84 @@ domCamera::domOptics::domTechnique_common::domOrthographic::registerElement() _Meta = new daeMetaElement; _Meta->setName( "orthographic" ); - _Meta->setStaticPointerAddress(&domCamera::domOptics::domTechnique_common::domOrthographic::_Meta); _Meta->registerConstructor(domCamera::domOptics::domTechnique_common::domOrthographic::create); - // Add elements: xmag, ymag, aspect_ratio, znear, zfar - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemXmag),"xmag"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag),"ymag"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio),"aspect_ratio"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZnear),"znear"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZfar),"zfar"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "xmag" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemXmag) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "ymag" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "aspect_ratio" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 1 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaSequence( _Meta, cm, 2, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "ymag" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "aspect_ratio" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 3 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "znear" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZnear) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "zfar" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZfar) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_contentsOrder)); @@ -179,17 +312,84 @@ domCamera::domOptics::domTechnique_common::domPerspective::registerElement() _Meta = new daeMetaElement; _Meta->setName( "perspective" ); - _Meta->setStaticPointerAddress(&domCamera::domOptics::domTechnique_common::domPerspective::_Meta); _Meta->registerConstructor(domCamera::domOptics::domTechnique_common::domPerspective::create); - // Add elements: xfov, yfov, aspect_ratio, znear, zfar - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemXfov),"xfov"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov),"yfov"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio),"aspect_ratio"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZnear),"znear"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZfar),"zfar"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "xfov" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemXfov) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "yfov" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "aspect_ratio" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 1 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaSequence( _Meta, cm, 2, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "yfov" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "aspect_ratio" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 3 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "znear" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZnear) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "zfar" ); + mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZfar) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_contentsOrder)); @@ -214,12 +414,27 @@ domCamera::domImager::registerElement() _Meta = new daeMetaElement; _Meta->setName( "imager" ); - _Meta->setStaticPointerAddress(&domCamera::domImager::_Meta); _Meta->registerConstructor(domCamera::domImager::create); - // Add elements: technique, extra - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domCamera::domImager,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domCamera::domImager,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domCamera::domImager,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCamera::domImager,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCamera::domImager)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCapsule.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCapsule.cpp index 770cd9508..32b27c335 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCapsule.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCapsule.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCapsule::create(daeInt bytes) @@ -29,13 +35,32 @@ domCapsule::registerElement() _Meta = new daeMetaElement; _Meta->setName( "capsule" ); - _Meta->setStaticPointerAddress(&domCapsule::_Meta); _Meta->registerConstructor(domCapsule::create); - // Add elements: height, radius, extra - _Meta->appendElement(domCapsule::domHeight::registerElement(),daeOffsetOf(domCapsule,elemHeight)); - _Meta->appendElement(domCapsule::domRadius::registerElement(),daeOffsetOf(domCapsule,elemRadius)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domCapsule,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "height" ); + mea->setOffset( daeOffsetOf(domCapsule,elemHeight) ); + mea->setElementType( domCapsule::domHeight::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "radius" ); + mea->setOffset( daeOffsetOf(domCapsule,elemRadius) ); + mea->setElementType( domCapsule::domRadius::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCapsule,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCapsule)); @@ -59,9 +84,9 @@ domCapsule::domHeight::registerElement() _Meta = new daeMetaElement; _Meta->setName( "height" ); - _Meta->setStaticPointerAddress(&domCapsule::domHeight::_Meta); _Meta->registerConstructor(domCapsule::domHeight::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -94,9 +119,9 @@ domCapsule::domRadius::registerElement() _Meta = new daeMetaElement; _Meta->setName( "radius" ); - _Meta->setStaticPointerAddress(&domCapsule::domRadius::_Meta); _Meta->registerConstructor(domCapsule::domRadius::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_connect_param.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_connect_param.cpp index ab73515f5..ef5b098e1 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_connect_param.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_connect_param.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_connect_param::create(daeInt bytes) @@ -29,7 +35,6 @@ domCg_connect_param::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_connect_param" ); - _Meta->setStaticPointerAddress(&domCg_connect_param::_Meta); _Meta->registerConstructor(domCg_connect_param::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_newarray_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_newarray_type.cpp index eb0c25baf..6668a3bb0 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_newarray_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_newarray_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_newarray_type::create(daeInt bytes) @@ -29,130 +35,41 @@ domCg_newarray_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_newarray_type" ); - _Meta->setStaticPointerAddress(&domCg_newarray_type::_Meta); _Meta->registerConstructor(domCg_newarray_type::create); - // Add elements: cg_param_type, array, usertype, connect_param - _Meta->appendArrayElement(domCg_param_type::registerElement(),daeOffsetOf(domCg_newarray_type,elemCg_param_type_array)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "cg_surface_type"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "cg_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "cg_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "cg_sampler3D"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "cg_samplerRECT"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "cg_samplerCUBE"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "cg_samplerDEPTH"); - _Meta->appendPossibleChild( "string", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); - _Meta->appendArrayElement(domCg_newarray_type::registerElement(),daeOffsetOf(domCg_newarray_type,elemArray_array),"array"); - _Meta->appendArrayElement(domCg_setuser_type::registerElement(),daeOffsetOf(domCg_newarray_type,elemUsertype_array),"usertype"); - _Meta->appendArrayElement(domCg_connect_param::registerElement(),daeOffsetOf(domCg_newarray_type,elemConnect_param_array),"connect_param"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cg_param_type" ); + mea->setOffset( daeOffsetOf(domCg_newarray_type,elemCg_param_type_array) ); + mea->setElementType( domCg_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domCg_newarray_type,elemArray_array) ); + mea->setElementType( domCg_newarray_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "usertype" ); + mea->setOffset( daeOffsetOf(domCg_newarray_type,elemUsertype_array) ); + mea->setElementType( domCg_setuser_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "connect_param" ); + mea->setOffset( daeOffsetOf(domCg_newarray_type,elemConnect_param_array) ); + mea->setElementType( domCg_connect_param::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCg_newarray_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCg_newarray_type,_contentsOrder)); // Add attribute: length diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_newparam.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_newparam.cpp index 4b3e27c5e..dad3c2dbd 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_newparam.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_newparam.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_newparam::create(daeInt bytes) @@ -29,132 +35,59 @@ domCg_newparam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_newparam" ); - _Meta->setStaticPointerAddress(&domCg_newparam::_Meta); _Meta->registerConstructor(domCg_newparam::create); - // Add elements: annotate, semantic, modifier, cg_param_type, usertype, array - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domCg_newparam,elemAnnotate_array),"annotate"); - _Meta->appendElement(domCg_newparam::domSemantic::registerElement(),daeOffsetOf(domCg_newparam,elemSemantic)); - _Meta->appendElement(domCg_newparam::domModifier::registerElement(),daeOffsetOf(domCg_newparam,elemModifier)); - _Meta->appendElement(domCg_param_type::registerElement(),daeOffsetOf(domCg_newparam,elemCg_param_type)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool1x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool1x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool1x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool1x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool2x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool2x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool2x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool2x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool3x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool3x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool3x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool3x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool4x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool4x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool4x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool4x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int1x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int1x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int1x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int1x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int2x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int2x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int2x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int2x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int3x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int3x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int3x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int3x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int4x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int4x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int4x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int4x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half1x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half1x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half1x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half1x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half2x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half2x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half2x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half2x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half3x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half3x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half3x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half3x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half4x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half4x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half4x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "half4x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed1x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed1x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed1x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed1x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed2x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed2x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed2x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed2x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed3x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed3x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed3x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed3x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed4x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed4x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed4x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "fixed4x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[3], "cg_surface_type"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[3], "cg_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[3], "cg_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[3], "cg_sampler3D"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[3], "cg_samplerRECT"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[3], "cg_samplerCUBE"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[3], "cg_samplerDEPTH"); - _Meta->appendPossibleChild( "string", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[3]); - _Meta->appendElement(domCg_setuser_type::registerElement(),daeOffsetOf(domCg_newparam,elemUsertype),"usertype"); - _Meta->appendElement(domCg_newarray_type::registerElement(),daeOffsetOf(domCg_newparam,elemArray),"array"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domCg_newparam,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "semantic" ); + mea->setOffset( daeOffsetOf(domCg_newparam,elemSemantic) ); + mea->setElementType( domCg_newparam::domSemantic::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "modifier" ); + mea->setOffset( daeOffsetOf(domCg_newparam,elemModifier) ); + mea->setElementType( domCg_newparam::domModifier::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 3, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cg_param_type" ); + mea->setOffset( daeOffsetOf(domCg_newparam,elemCg_param_type) ); + mea->setElementType( domCg_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "usertype" ); + mea->setOffset( daeOffsetOf(domCg_newparam,elemUsertype) ); + mea->setElementType( domCg_setuser_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domCg_newparam,elemArray) ); + mea->setElementType( domCg_newarray_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCg_newparam,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCg_newparam,_contentsOrder)); // Add attribute: sid @@ -191,9 +124,9 @@ domCg_newparam::domSemantic::registerElement() _Meta = new daeMetaElement; _Meta->setName( "semantic" ); - _Meta->setStaticPointerAddress(&domCg_newparam::domSemantic::_Meta); _Meta->registerConstructor(domCg_newparam::domSemantic::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -226,9 +159,9 @@ domCg_newparam::domModifier::registerElement() _Meta = new daeMetaElement; _Meta->setName( "modifier" ); - _Meta->setStaticPointerAddress(&domCg_newparam::domModifier::_Meta); _Meta->registerConstructor(domCg_newparam::domModifier::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_param_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_param_type.cpp index 6de66c17c..e572f144e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_param_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_param_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_param_type::create(daeInt bytes) @@ -29,127 +35,702 @@ domCg_param_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_param_type" ); - _Meta->setStaticPointerAddress(&domCg_param_type::_Meta); _Meta->registerConstructor(domCg_param_type::create); _Meta->setIsTransparent( true ); - // Add elements: bool, bool1, bool2, bool3, bool4, bool1x1, bool1x2, bool1x3, bool1x4, bool2x1, bool2x2, bool2x3, bool2x4, bool3x1, bool3x2, bool3x3, bool3x4, bool4x1, bool4x2, bool4x3, bool4x4, float, float1, float2, float3, float4, float1x1, float1x2, float1x3, float1x4, float2x1, float2x2, float2x3, float2x4, float3x1, float3x2, float3x3, float3x4, float4x1, float4x2, float4x3, float4x4, int, int1, int2, int3, int4, int1x1, int1x2, int1x3, int1x4, int2x1, int2x2, int2x3, int2x4, int3x1, int3x2, int3x3, int3x4, int4x1, int4x2, int4x3, int4x4, half, half1, half2, half3, half4, half1x1, half1x2, half1x3, half1x4, half2x1, half2x2, half2x3, half2x4, half3x1, half3x2, half3x3, half3x4, half4x1, half4x2, half4x3, half4x4, fixed, fixed1, fixed2, fixed3, fixed4, fixed1x1, fixed1x2, fixed1x3, fixed1x4, fixed2x1, fixed2x2, fixed2x3, fixed2x4, fixed3x1, fixed3x2, fixed3x3, fixed3x4, fixed4x1, fixed4x2, fixed4x3, fixed4x4, surface, sampler1D, sampler2D, sampler3D, samplerRECT, samplerCUBE, samplerDEPTH, string, enum - _Meta->appendElement(domCg_param_type::domBool::registerElement(),daeOffsetOf(domCg_param_type,elemBool)); - _Meta->appendElement(domCg_param_type::domBool1::registerElement(),daeOffsetOf(domCg_param_type,elemBool1)); - _Meta->appendElement(domCg_param_type::domBool2::registerElement(),daeOffsetOf(domCg_param_type,elemBool2)); - _Meta->appendElement(domCg_param_type::domBool3::registerElement(),daeOffsetOf(domCg_param_type,elemBool3)); - _Meta->appendElement(domCg_param_type::domBool4::registerElement(),daeOffsetOf(domCg_param_type,elemBool4)); - _Meta->appendElement(domCg_param_type::domBool1x1::registerElement(),daeOffsetOf(domCg_param_type,elemBool1x1)); - _Meta->appendElement(domCg_param_type::domBool1x2::registerElement(),daeOffsetOf(domCg_param_type,elemBool1x2)); - _Meta->appendElement(domCg_param_type::domBool1x3::registerElement(),daeOffsetOf(domCg_param_type,elemBool1x3)); - _Meta->appendElement(domCg_param_type::domBool1x4::registerElement(),daeOffsetOf(domCg_param_type,elemBool1x4)); - _Meta->appendElement(domCg_param_type::domBool2x1::registerElement(),daeOffsetOf(domCg_param_type,elemBool2x1)); - _Meta->appendElement(domCg_param_type::domBool2x2::registerElement(),daeOffsetOf(domCg_param_type,elemBool2x2)); - _Meta->appendElement(domCg_param_type::domBool2x3::registerElement(),daeOffsetOf(domCg_param_type,elemBool2x3)); - _Meta->appendElement(domCg_param_type::domBool2x4::registerElement(),daeOffsetOf(domCg_param_type,elemBool2x4)); - _Meta->appendElement(domCg_param_type::domBool3x1::registerElement(),daeOffsetOf(domCg_param_type,elemBool3x1)); - _Meta->appendElement(domCg_param_type::domBool3x2::registerElement(),daeOffsetOf(domCg_param_type,elemBool3x2)); - _Meta->appendElement(domCg_param_type::domBool3x3::registerElement(),daeOffsetOf(domCg_param_type,elemBool3x3)); - _Meta->appendElement(domCg_param_type::domBool3x4::registerElement(),daeOffsetOf(domCg_param_type,elemBool3x4)); - _Meta->appendElement(domCg_param_type::domBool4x1::registerElement(),daeOffsetOf(domCg_param_type,elemBool4x1)); - _Meta->appendElement(domCg_param_type::domBool4x2::registerElement(),daeOffsetOf(domCg_param_type,elemBool4x2)); - _Meta->appendElement(domCg_param_type::domBool4x3::registerElement(),daeOffsetOf(domCg_param_type,elemBool4x3)); - _Meta->appendElement(domCg_param_type::domBool4x4::registerElement(),daeOffsetOf(domCg_param_type,elemBool4x4)); - _Meta->appendElement(domCg_param_type::domFloat::registerElement(),daeOffsetOf(domCg_param_type,elemFloat)); - _Meta->appendElement(domCg_param_type::domFloat1::registerElement(),daeOffsetOf(domCg_param_type,elemFloat1)); - _Meta->appendElement(domCg_param_type::domFloat2::registerElement(),daeOffsetOf(domCg_param_type,elemFloat2)); - _Meta->appendElement(domCg_param_type::domFloat3::registerElement(),daeOffsetOf(domCg_param_type,elemFloat3)); - _Meta->appendElement(domCg_param_type::domFloat4::registerElement(),daeOffsetOf(domCg_param_type,elemFloat4)); - _Meta->appendElement(domCg_param_type::domFloat1x1::registerElement(),daeOffsetOf(domCg_param_type,elemFloat1x1)); - _Meta->appendElement(domCg_param_type::domFloat1x2::registerElement(),daeOffsetOf(domCg_param_type,elemFloat1x2)); - _Meta->appendElement(domCg_param_type::domFloat1x3::registerElement(),daeOffsetOf(domCg_param_type,elemFloat1x3)); - _Meta->appendElement(domCg_param_type::domFloat1x4::registerElement(),daeOffsetOf(domCg_param_type,elemFloat1x4)); - _Meta->appendElement(domCg_param_type::domFloat2x1::registerElement(),daeOffsetOf(domCg_param_type,elemFloat2x1)); - _Meta->appendElement(domCg_param_type::domFloat2x2::registerElement(),daeOffsetOf(domCg_param_type,elemFloat2x2)); - _Meta->appendElement(domCg_param_type::domFloat2x3::registerElement(),daeOffsetOf(domCg_param_type,elemFloat2x3)); - _Meta->appendElement(domCg_param_type::domFloat2x4::registerElement(),daeOffsetOf(domCg_param_type,elemFloat2x4)); - _Meta->appendElement(domCg_param_type::domFloat3x1::registerElement(),daeOffsetOf(domCg_param_type,elemFloat3x1)); - _Meta->appendElement(domCg_param_type::domFloat3x2::registerElement(),daeOffsetOf(domCg_param_type,elemFloat3x2)); - _Meta->appendElement(domCg_param_type::domFloat3x3::registerElement(),daeOffsetOf(domCg_param_type,elemFloat3x3)); - _Meta->appendElement(domCg_param_type::domFloat3x4::registerElement(),daeOffsetOf(domCg_param_type,elemFloat3x4)); - _Meta->appendElement(domCg_param_type::domFloat4x1::registerElement(),daeOffsetOf(domCg_param_type,elemFloat4x1)); - _Meta->appendElement(domCg_param_type::domFloat4x2::registerElement(),daeOffsetOf(domCg_param_type,elemFloat4x2)); - _Meta->appendElement(domCg_param_type::domFloat4x3::registerElement(),daeOffsetOf(domCg_param_type,elemFloat4x3)); - _Meta->appendElement(domCg_param_type::domFloat4x4::registerElement(),daeOffsetOf(domCg_param_type,elemFloat4x4)); - _Meta->appendElement(domCg_param_type::domInt::registerElement(),daeOffsetOf(domCg_param_type,elemInt)); - _Meta->appendElement(domCg_param_type::domInt1::registerElement(),daeOffsetOf(domCg_param_type,elemInt1)); - _Meta->appendElement(domCg_param_type::domInt2::registerElement(),daeOffsetOf(domCg_param_type,elemInt2)); - _Meta->appendElement(domCg_param_type::domInt3::registerElement(),daeOffsetOf(domCg_param_type,elemInt3)); - _Meta->appendElement(domCg_param_type::domInt4::registerElement(),daeOffsetOf(domCg_param_type,elemInt4)); - _Meta->appendElement(domCg_param_type::domInt1x1::registerElement(),daeOffsetOf(domCg_param_type,elemInt1x1)); - _Meta->appendElement(domCg_param_type::domInt1x2::registerElement(),daeOffsetOf(domCg_param_type,elemInt1x2)); - _Meta->appendElement(domCg_param_type::domInt1x3::registerElement(),daeOffsetOf(domCg_param_type,elemInt1x3)); - _Meta->appendElement(domCg_param_type::domInt1x4::registerElement(),daeOffsetOf(domCg_param_type,elemInt1x4)); - _Meta->appendElement(domCg_param_type::domInt2x1::registerElement(),daeOffsetOf(domCg_param_type,elemInt2x1)); - _Meta->appendElement(domCg_param_type::domInt2x2::registerElement(),daeOffsetOf(domCg_param_type,elemInt2x2)); - _Meta->appendElement(domCg_param_type::domInt2x3::registerElement(),daeOffsetOf(domCg_param_type,elemInt2x3)); - _Meta->appendElement(domCg_param_type::domInt2x4::registerElement(),daeOffsetOf(domCg_param_type,elemInt2x4)); - _Meta->appendElement(domCg_param_type::domInt3x1::registerElement(),daeOffsetOf(domCg_param_type,elemInt3x1)); - _Meta->appendElement(domCg_param_type::domInt3x2::registerElement(),daeOffsetOf(domCg_param_type,elemInt3x2)); - _Meta->appendElement(domCg_param_type::domInt3x3::registerElement(),daeOffsetOf(domCg_param_type,elemInt3x3)); - _Meta->appendElement(domCg_param_type::domInt3x4::registerElement(),daeOffsetOf(domCg_param_type,elemInt3x4)); - _Meta->appendElement(domCg_param_type::domInt4x1::registerElement(),daeOffsetOf(domCg_param_type,elemInt4x1)); - _Meta->appendElement(domCg_param_type::domInt4x2::registerElement(),daeOffsetOf(domCg_param_type,elemInt4x2)); - _Meta->appendElement(domCg_param_type::domInt4x3::registerElement(),daeOffsetOf(domCg_param_type,elemInt4x3)); - _Meta->appendElement(domCg_param_type::domInt4x4::registerElement(),daeOffsetOf(domCg_param_type,elemInt4x4)); - _Meta->appendElement(domCg_param_type::domHalf::registerElement(),daeOffsetOf(domCg_param_type,elemHalf)); - _Meta->appendElement(domCg_param_type::domHalf1::registerElement(),daeOffsetOf(domCg_param_type,elemHalf1)); - _Meta->appendElement(domCg_param_type::domHalf2::registerElement(),daeOffsetOf(domCg_param_type,elemHalf2)); - _Meta->appendElement(domCg_param_type::domHalf3::registerElement(),daeOffsetOf(domCg_param_type,elemHalf3)); - _Meta->appendElement(domCg_param_type::domHalf4::registerElement(),daeOffsetOf(domCg_param_type,elemHalf4)); - _Meta->appendElement(domCg_param_type::domHalf1x1::registerElement(),daeOffsetOf(domCg_param_type,elemHalf1x1)); - _Meta->appendElement(domCg_param_type::domHalf1x2::registerElement(),daeOffsetOf(domCg_param_type,elemHalf1x2)); - _Meta->appendElement(domCg_param_type::domHalf1x3::registerElement(),daeOffsetOf(domCg_param_type,elemHalf1x3)); - _Meta->appendElement(domCg_param_type::domHalf1x4::registerElement(),daeOffsetOf(domCg_param_type,elemHalf1x4)); - _Meta->appendElement(domCg_param_type::domHalf2x1::registerElement(),daeOffsetOf(domCg_param_type,elemHalf2x1)); - _Meta->appendElement(domCg_param_type::domHalf2x2::registerElement(),daeOffsetOf(domCg_param_type,elemHalf2x2)); - _Meta->appendElement(domCg_param_type::domHalf2x3::registerElement(),daeOffsetOf(domCg_param_type,elemHalf2x3)); - _Meta->appendElement(domCg_param_type::domHalf2x4::registerElement(),daeOffsetOf(domCg_param_type,elemHalf2x4)); - _Meta->appendElement(domCg_param_type::domHalf3x1::registerElement(),daeOffsetOf(domCg_param_type,elemHalf3x1)); - _Meta->appendElement(domCg_param_type::domHalf3x2::registerElement(),daeOffsetOf(domCg_param_type,elemHalf3x2)); - _Meta->appendElement(domCg_param_type::domHalf3x3::registerElement(),daeOffsetOf(domCg_param_type,elemHalf3x3)); - _Meta->appendElement(domCg_param_type::domHalf3x4::registerElement(),daeOffsetOf(domCg_param_type,elemHalf3x4)); - _Meta->appendElement(domCg_param_type::domHalf4x1::registerElement(),daeOffsetOf(domCg_param_type,elemHalf4x1)); - _Meta->appendElement(domCg_param_type::domHalf4x2::registerElement(),daeOffsetOf(domCg_param_type,elemHalf4x2)); - _Meta->appendElement(domCg_param_type::domHalf4x3::registerElement(),daeOffsetOf(domCg_param_type,elemHalf4x3)); - _Meta->appendElement(domCg_param_type::domHalf4x4::registerElement(),daeOffsetOf(domCg_param_type,elemHalf4x4)); - _Meta->appendElement(domCg_param_type::domFixed::registerElement(),daeOffsetOf(domCg_param_type,elemFixed)); - _Meta->appendElement(domCg_param_type::domFixed1::registerElement(),daeOffsetOf(domCg_param_type,elemFixed1)); - _Meta->appendElement(domCg_param_type::domFixed2::registerElement(),daeOffsetOf(domCg_param_type,elemFixed2)); - _Meta->appendElement(domCg_param_type::domFixed3::registerElement(),daeOffsetOf(domCg_param_type,elemFixed3)); - _Meta->appendElement(domCg_param_type::domFixed4::registerElement(),daeOffsetOf(domCg_param_type,elemFixed4)); - _Meta->appendElement(domCg_param_type::domFixed1x1::registerElement(),daeOffsetOf(domCg_param_type,elemFixed1x1)); - _Meta->appendElement(domCg_param_type::domFixed1x2::registerElement(),daeOffsetOf(domCg_param_type,elemFixed1x2)); - _Meta->appendElement(domCg_param_type::domFixed1x3::registerElement(),daeOffsetOf(domCg_param_type,elemFixed1x3)); - _Meta->appendElement(domCg_param_type::domFixed1x4::registerElement(),daeOffsetOf(domCg_param_type,elemFixed1x4)); - _Meta->appendElement(domCg_param_type::domFixed2x1::registerElement(),daeOffsetOf(domCg_param_type,elemFixed2x1)); - _Meta->appendElement(domCg_param_type::domFixed2x2::registerElement(),daeOffsetOf(domCg_param_type,elemFixed2x2)); - _Meta->appendElement(domCg_param_type::domFixed2x3::registerElement(),daeOffsetOf(domCg_param_type,elemFixed2x3)); - _Meta->appendElement(domCg_param_type::domFixed2x4::registerElement(),daeOffsetOf(domCg_param_type,elemFixed2x4)); - _Meta->appendElement(domCg_param_type::domFixed3x1::registerElement(),daeOffsetOf(domCg_param_type,elemFixed3x1)); - _Meta->appendElement(domCg_param_type::domFixed3x2::registerElement(),daeOffsetOf(domCg_param_type,elemFixed3x2)); - _Meta->appendElement(domCg_param_type::domFixed3x3::registerElement(),daeOffsetOf(domCg_param_type,elemFixed3x3)); - _Meta->appendElement(domCg_param_type::domFixed3x4::registerElement(),daeOffsetOf(domCg_param_type,elemFixed3x4)); - _Meta->appendElement(domCg_param_type::domFixed4x1::registerElement(),daeOffsetOf(domCg_param_type,elemFixed4x1)); - _Meta->appendElement(domCg_param_type::domFixed4x2::registerElement(),daeOffsetOf(domCg_param_type,elemFixed4x2)); - _Meta->appendElement(domCg_param_type::domFixed4x3::registerElement(),daeOffsetOf(domCg_param_type,elemFixed4x3)); - _Meta->appendElement(domCg_param_type::domFixed4x4::registerElement(),daeOffsetOf(domCg_param_type,elemFixed4x4)); - _Meta->appendElement(domCg_surface_type::registerElement(),daeOffsetOf(domCg_param_type,elemSurface),"surface"); - _Meta->appendElement(domCg_sampler1D::registerElement(),daeOffsetOf(domCg_param_type,elemSampler1D),"sampler1D"); - _Meta->appendElement(domCg_sampler2D::registerElement(),daeOffsetOf(domCg_param_type,elemSampler2D),"sampler2D"); - _Meta->appendElement(domCg_sampler3D::registerElement(),daeOffsetOf(domCg_param_type,elemSampler3D),"sampler3D"); - _Meta->appendElement(domCg_samplerRECT::registerElement(),daeOffsetOf(domCg_param_type,elemSamplerRECT),"samplerRECT"); - _Meta->appendElement(domCg_samplerCUBE::registerElement(),daeOffsetOf(domCg_param_type,elemSamplerCUBE),"samplerCUBE"); - _Meta->appendElement(domCg_samplerDEPTH::registerElement(),daeOffsetOf(domCg_param_type,elemSamplerDEPTH),"samplerDEPTH"); - _Meta->appendElement(domCg_param_type::domString::registerElement(),daeOffsetOf(domCg_param_type,elemString)); - _Meta->appendElement(domCg_param_type::domEnum::registerElement(),daeOffsetOf(domCg_param_type,elemEnum)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool) ); + mea->setElementType( domCg_param_type::domBool::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1) ); + mea->setElementType( domCg_param_type::domBool1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2) ); + mea->setElementType( domCg_param_type::domBool2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3) ); + mea->setElementType( domCg_param_type::domBool3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4) ); + mea->setElementType( domCg_param_type::domBool4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool1x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1x1) ); + mea->setElementType( domCg_param_type::domBool1x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool1x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1x2) ); + mea->setElementType( domCg_param_type::domBool1x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool1x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1x3) ); + mea->setElementType( domCg_param_type::domBool1x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool1x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1x4) ); + mea->setElementType( domCg_param_type::domBool1x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2x1) ); + mea->setElementType( domCg_param_type::domBool2x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2x2) ); + mea->setElementType( domCg_param_type::domBool2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2x3) ); + mea->setElementType( domCg_param_type::domBool2x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2x4) ); + mea->setElementType( domCg_param_type::domBool2x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3x1) ); + mea->setElementType( domCg_param_type::domBool3x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3x2) ); + mea->setElementType( domCg_param_type::domBool3x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3x3) ); + mea->setElementType( domCg_param_type::domBool3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3x4) ); + mea->setElementType( domCg_param_type::domBool3x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4x1) ); + mea->setElementType( domCg_param_type::domBool4x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4x2) ); + mea->setElementType( domCg_param_type::domBool4x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4x3) ); + mea->setElementType( domCg_param_type::domBool4x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4x4) ); + mea->setElementType( domCg_param_type::domBool4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat) ); + mea->setElementType( domCg_param_type::domFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1) ); + mea->setElementType( domCg_param_type::domFloat1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2) ); + mea->setElementType( domCg_param_type::domFloat2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3) ); + mea->setElementType( domCg_param_type::domFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4) ); + mea->setElementType( domCg_param_type::domFloat4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1x1) ); + mea->setElementType( domCg_param_type::domFloat1x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1x2) ); + mea->setElementType( domCg_param_type::domFloat1x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1x3) ); + mea->setElementType( domCg_param_type::domFloat1x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1x4) ); + mea->setElementType( domCg_param_type::domFloat1x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2x1) ); + mea->setElementType( domCg_param_type::domFloat2x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2x2) ); + mea->setElementType( domCg_param_type::domFloat2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2x3) ); + mea->setElementType( domCg_param_type::domFloat2x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2x4) ); + mea->setElementType( domCg_param_type::domFloat2x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3x1) ); + mea->setElementType( domCg_param_type::domFloat3x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3x2) ); + mea->setElementType( domCg_param_type::domFloat3x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3x3) ); + mea->setElementType( domCg_param_type::domFloat3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3x4) ); + mea->setElementType( domCg_param_type::domFloat3x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4x1) ); + mea->setElementType( domCg_param_type::domFloat4x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4x2) ); + mea->setElementType( domCg_param_type::domFloat4x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4x3) ); + mea->setElementType( domCg_param_type::domFloat4x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4x4) ); + mea->setElementType( domCg_param_type::domFloat4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt) ); + mea->setElementType( domCg_param_type::domInt::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1) ); + mea->setElementType( domCg_param_type::domInt1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2) ); + mea->setElementType( domCg_param_type::domInt2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3) ); + mea->setElementType( domCg_param_type::domInt3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4) ); + mea->setElementType( domCg_param_type::domInt4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int1x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1x1) ); + mea->setElementType( domCg_param_type::domInt1x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int1x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1x2) ); + mea->setElementType( domCg_param_type::domInt1x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int1x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1x3) ); + mea->setElementType( domCg_param_type::domInt1x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int1x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1x4) ); + mea->setElementType( domCg_param_type::domInt1x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2x1) ); + mea->setElementType( domCg_param_type::domInt2x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2x2) ); + mea->setElementType( domCg_param_type::domInt2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2x3) ); + mea->setElementType( domCg_param_type::domInt2x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2x4) ); + mea->setElementType( domCg_param_type::domInt2x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3x1) ); + mea->setElementType( domCg_param_type::domInt3x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3x2) ); + mea->setElementType( domCg_param_type::domInt3x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3x3) ); + mea->setElementType( domCg_param_type::domInt3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3x4) ); + mea->setElementType( domCg_param_type::domInt3x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4x1) ); + mea->setElementType( domCg_param_type::domInt4x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4x2) ); + mea->setElementType( domCg_param_type::domInt4x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4x3) ); + mea->setElementType( domCg_param_type::domInt4x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4x4) ); + mea->setElementType( domCg_param_type::domInt4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf) ); + mea->setElementType( domCg_param_type::domHalf::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1) ); + mea->setElementType( domCg_param_type::domHalf1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2) ); + mea->setElementType( domCg_param_type::domHalf2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3) ); + mea->setElementType( domCg_param_type::domHalf3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4) ); + mea->setElementType( domCg_param_type::domHalf4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half1x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1x1) ); + mea->setElementType( domCg_param_type::domHalf1x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half1x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1x2) ); + mea->setElementType( domCg_param_type::domHalf1x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half1x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1x3) ); + mea->setElementType( domCg_param_type::domHalf1x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half1x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1x4) ); + mea->setElementType( domCg_param_type::domHalf1x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half2x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2x1) ); + mea->setElementType( domCg_param_type::domHalf2x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half2x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2x2) ); + mea->setElementType( domCg_param_type::domHalf2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half2x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2x3) ); + mea->setElementType( domCg_param_type::domHalf2x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half2x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2x4) ); + mea->setElementType( domCg_param_type::domHalf2x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half3x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3x1) ); + mea->setElementType( domCg_param_type::domHalf3x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half3x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3x2) ); + mea->setElementType( domCg_param_type::domHalf3x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half3x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3x3) ); + mea->setElementType( domCg_param_type::domHalf3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half3x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3x4) ); + mea->setElementType( domCg_param_type::domHalf3x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half4x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4x1) ); + mea->setElementType( domCg_param_type::domHalf4x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half4x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4x2) ); + mea->setElementType( domCg_param_type::domHalf4x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half4x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4x3) ); + mea->setElementType( domCg_param_type::domHalf4x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "half4x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4x4) ); + mea->setElementType( domCg_param_type::domHalf4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed) ); + mea->setElementType( domCg_param_type::domFixed::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1) ); + mea->setElementType( domCg_param_type::domFixed1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2) ); + mea->setElementType( domCg_param_type::domFixed2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3) ); + mea->setElementType( domCg_param_type::domFixed3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4) ); + mea->setElementType( domCg_param_type::domFixed4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed1x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1x1) ); + mea->setElementType( domCg_param_type::domFixed1x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed1x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1x2) ); + mea->setElementType( domCg_param_type::domFixed1x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed1x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1x3) ); + mea->setElementType( domCg_param_type::domFixed1x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed1x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1x4) ); + mea->setElementType( domCg_param_type::domFixed1x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed2x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2x1) ); + mea->setElementType( domCg_param_type::domFixed2x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed2x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2x2) ); + mea->setElementType( domCg_param_type::domFixed2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed2x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2x3) ); + mea->setElementType( domCg_param_type::domFixed2x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed2x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2x4) ); + mea->setElementType( domCg_param_type::domFixed2x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed3x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3x1) ); + mea->setElementType( domCg_param_type::domFixed3x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed3x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3x2) ); + mea->setElementType( domCg_param_type::domFixed3x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed3x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3x3) ); + mea->setElementType( domCg_param_type::domFixed3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed3x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3x4) ); + mea->setElementType( domCg_param_type::domFixed3x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed4x1" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4x1) ); + mea->setElementType( domCg_param_type::domFixed4x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed4x2" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4x2) ); + mea->setElementType( domCg_param_type::domFixed4x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed4x3" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4x3) ); + mea->setElementType( domCg_param_type::domFixed4x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fixed4x4" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4x4) ); + mea->setElementType( domCg_param_type::domFixed4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "surface" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemSurface) ); + mea->setElementType( domCg_surface_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler1D" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemSampler1D) ); + mea->setElementType( domCg_sampler1D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler2D" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemSampler2D) ); + mea->setElementType( domCg_sampler2D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler3D" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemSampler3D) ); + mea->setElementType( domCg_sampler3D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerRECT" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemSamplerRECT) ); + mea->setElementType( domCg_samplerRECT::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerCUBE" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemSamplerCUBE) ); + mea->setElementType( domCg_samplerCUBE::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerDEPTH" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemSamplerDEPTH) ); + mea->setElementType( domCg_samplerDEPTH::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "string" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemString) ); + mea->setElementType( domCg_param_type::domString::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "enum" ); + mea->setOffset( daeOffsetOf(domCg_param_type,elemEnum) ); + mea->setElementType( domCg_param_type::domEnum::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCg_param_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCg_param_type,_contentsOrder)); @@ -174,9 +755,9 @@ domCg_param_type::domBool::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool::_Meta); _Meta->registerConstructor(domCg_param_type::domBool::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -209,9 +790,9 @@ domCg_param_type::domBool1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool1::_Meta); _Meta->registerConstructor(domCg_param_type::domBool1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -244,9 +825,9 @@ domCg_param_type::domBool2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool2::_Meta); _Meta->registerConstructor(domCg_param_type::domBool2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -279,9 +860,9 @@ domCg_param_type::domBool3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool3::_Meta); _Meta->registerConstructor(domCg_param_type::domBool3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -314,9 +895,9 @@ domCg_param_type::domBool4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool4::_Meta); _Meta->registerConstructor(domCg_param_type::domBool4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -349,9 +930,9 @@ domCg_param_type::domBool1x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool1x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool1x1::_Meta); _Meta->registerConstructor(domCg_param_type::domBool1x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -384,9 +965,9 @@ domCg_param_type::domBool1x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool1x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool1x2::_Meta); _Meta->registerConstructor(domCg_param_type::domBool1x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -419,9 +1000,9 @@ domCg_param_type::domBool1x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool1x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool1x3::_Meta); _Meta->registerConstructor(domCg_param_type::domBool1x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -454,9 +1035,9 @@ domCg_param_type::domBool1x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool1x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool1x4::_Meta); _Meta->registerConstructor(domCg_param_type::domBool1x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -489,9 +1070,9 @@ domCg_param_type::domBool2x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool2x1::_Meta); _Meta->registerConstructor(domCg_param_type::domBool2x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -524,9 +1105,9 @@ domCg_param_type::domBool2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool2x2::_Meta); _Meta->registerConstructor(domCg_param_type::domBool2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -559,9 +1140,9 @@ domCg_param_type::domBool2x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool2x3::_Meta); _Meta->registerConstructor(domCg_param_type::domBool2x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -594,9 +1175,9 @@ domCg_param_type::domBool2x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool2x4::_Meta); _Meta->registerConstructor(domCg_param_type::domBool2x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -629,9 +1210,9 @@ domCg_param_type::domBool3x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool3x1::_Meta); _Meta->registerConstructor(domCg_param_type::domBool3x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -664,9 +1245,9 @@ domCg_param_type::domBool3x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool3x2::_Meta); _Meta->registerConstructor(domCg_param_type::domBool3x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -699,9 +1280,9 @@ domCg_param_type::domBool3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool3x3::_Meta); _Meta->registerConstructor(domCg_param_type::domBool3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -734,9 +1315,9 @@ domCg_param_type::domBool3x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool3x4::_Meta); _Meta->registerConstructor(domCg_param_type::domBool3x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -769,9 +1350,9 @@ domCg_param_type::domBool4x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool4x1::_Meta); _Meta->registerConstructor(domCg_param_type::domBool4x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -804,9 +1385,9 @@ domCg_param_type::domBool4x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool4x2::_Meta); _Meta->registerConstructor(domCg_param_type::domBool4x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -839,9 +1420,9 @@ domCg_param_type::domBool4x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool4x3::_Meta); _Meta->registerConstructor(domCg_param_type::domBool4x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -874,9 +1455,9 @@ domCg_param_type::domBool4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domBool4x4::_Meta); _Meta->registerConstructor(domCg_param_type::domBool4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -909,9 +1490,9 @@ domCg_param_type::domFloat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -944,9 +1525,9 @@ domCg_param_type::domFloat1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat1::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -979,9 +1560,9 @@ domCg_param_type::domFloat2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat2::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1014,9 +1595,9 @@ domCg_param_type::domFloat3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat3::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1049,9 +1630,9 @@ domCg_param_type::domFloat4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat4::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1084,9 +1665,9 @@ domCg_param_type::domFloat1x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat1x1::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat1x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1119,9 +1700,9 @@ domCg_param_type::domFloat1x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat1x2::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat1x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1154,9 +1735,9 @@ domCg_param_type::domFloat1x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat1x3::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat1x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1189,9 +1770,9 @@ domCg_param_type::domFloat1x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat1x4::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat1x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1224,9 +1805,9 @@ domCg_param_type::domFloat2x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat2x1::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat2x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1259,9 +1840,9 @@ domCg_param_type::domFloat2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat2x2::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1294,9 +1875,9 @@ domCg_param_type::domFloat2x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat2x3::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat2x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1329,9 +1910,9 @@ domCg_param_type::domFloat2x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat2x4::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat2x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1364,9 +1945,9 @@ domCg_param_type::domFloat3x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat3x1::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat3x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1399,9 +1980,9 @@ domCg_param_type::domFloat3x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat3x2::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat3x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1434,9 +2015,9 @@ domCg_param_type::domFloat3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat3x3::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1469,9 +2050,9 @@ domCg_param_type::domFloat3x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat3x4::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat3x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1504,9 +2085,9 @@ domCg_param_type::domFloat4x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat4x1::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat4x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1539,9 +2120,9 @@ domCg_param_type::domFloat4x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat4x2::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat4x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1574,9 +2155,9 @@ domCg_param_type::domFloat4x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat4x3::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat4x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1609,9 +2190,9 @@ domCg_param_type::domFloat4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFloat4x4::_Meta); _Meta->registerConstructor(domCg_param_type::domFloat4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1644,9 +2225,9 @@ domCg_param_type::domInt::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt::_Meta); _Meta->registerConstructor(domCg_param_type::domInt::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -1679,9 +2260,9 @@ domCg_param_type::domInt1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt1::_Meta); _Meta->registerConstructor(domCg_param_type::domInt1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -1714,9 +2295,9 @@ domCg_param_type::domInt2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt2::_Meta); _Meta->registerConstructor(domCg_param_type::domInt2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1749,9 +2330,9 @@ domCg_param_type::domInt3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt3::_Meta); _Meta->registerConstructor(domCg_param_type::domInt3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1784,9 +2365,9 @@ domCg_param_type::domInt4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt4::_Meta); _Meta->registerConstructor(domCg_param_type::domInt4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1819,9 +2400,9 @@ domCg_param_type::domInt1x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int1x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt1x1::_Meta); _Meta->registerConstructor(domCg_param_type::domInt1x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1854,9 +2435,9 @@ domCg_param_type::domInt1x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int1x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt1x2::_Meta); _Meta->registerConstructor(domCg_param_type::domInt1x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1889,9 +2470,9 @@ domCg_param_type::domInt1x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int1x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt1x3::_Meta); _Meta->registerConstructor(domCg_param_type::domInt1x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1924,9 +2505,9 @@ domCg_param_type::domInt1x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int1x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt1x4::_Meta); _Meta->registerConstructor(domCg_param_type::domInt1x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1959,9 +2540,9 @@ domCg_param_type::domInt2x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt2x1::_Meta); _Meta->registerConstructor(domCg_param_type::domInt2x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1994,9 +2575,9 @@ domCg_param_type::domInt2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt2x2::_Meta); _Meta->registerConstructor(domCg_param_type::domInt2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2029,9 +2610,9 @@ domCg_param_type::domInt2x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt2x3::_Meta); _Meta->registerConstructor(domCg_param_type::domInt2x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2064,9 +2645,9 @@ domCg_param_type::domInt2x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt2x4::_Meta); _Meta->registerConstructor(domCg_param_type::domInt2x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2099,9 +2680,9 @@ domCg_param_type::domInt3x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt3x1::_Meta); _Meta->registerConstructor(domCg_param_type::domInt3x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2134,9 +2715,9 @@ domCg_param_type::domInt3x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt3x2::_Meta); _Meta->registerConstructor(domCg_param_type::domInt3x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2169,9 +2750,9 @@ domCg_param_type::domInt3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt3x3::_Meta); _Meta->registerConstructor(domCg_param_type::domInt3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2204,9 +2785,9 @@ domCg_param_type::domInt3x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt3x4::_Meta); _Meta->registerConstructor(domCg_param_type::domInt3x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2239,9 +2820,9 @@ domCg_param_type::domInt4x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt4x1::_Meta); _Meta->registerConstructor(domCg_param_type::domInt4x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2274,9 +2855,9 @@ domCg_param_type::domInt4x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt4x2::_Meta); _Meta->registerConstructor(domCg_param_type::domInt4x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2309,9 +2890,9 @@ domCg_param_type::domInt4x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt4x3::_Meta); _Meta->registerConstructor(domCg_param_type::domInt4x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2344,9 +2925,9 @@ domCg_param_type::domInt4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domInt4x4::_Meta); _Meta->registerConstructor(domCg_param_type::domInt4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2379,9 +2960,9 @@ domCg_param_type::domHalf::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -2414,9 +2995,9 @@ domCg_param_type::domHalf1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf1::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -2449,9 +3030,9 @@ domCg_param_type::domHalf2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf2::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2484,9 +3065,9 @@ domCg_param_type::domHalf3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf3::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2519,9 +3100,9 @@ domCg_param_type::domHalf4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf4::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2554,9 +3135,9 @@ domCg_param_type::domHalf1x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half1x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf1x1::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf1x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2589,9 +3170,9 @@ domCg_param_type::domHalf1x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half1x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf1x2::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf1x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2624,9 +3205,9 @@ domCg_param_type::domHalf1x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half1x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf1x3::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf1x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2659,9 +3240,9 @@ domCg_param_type::domHalf1x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half1x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf1x4::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf1x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2694,9 +3275,9 @@ domCg_param_type::domHalf2x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half2x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf2x1::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf2x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2729,9 +3310,9 @@ domCg_param_type::domHalf2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half2x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf2x2::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2764,9 +3345,9 @@ domCg_param_type::domHalf2x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half2x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf2x3::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf2x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2799,9 +3380,9 @@ domCg_param_type::domHalf2x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half2x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf2x4::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf2x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2834,9 +3415,9 @@ domCg_param_type::domHalf3x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half3x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf3x1::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf3x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2869,9 +3450,9 @@ domCg_param_type::domHalf3x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half3x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf3x2::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf3x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2904,9 +3485,9 @@ domCg_param_type::domHalf3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half3x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf3x3::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2939,9 +3520,9 @@ domCg_param_type::domHalf3x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half3x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf3x4::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf3x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -2974,9 +3555,9 @@ domCg_param_type::domHalf4x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half4x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf4x1::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf4x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3009,9 +3590,9 @@ domCg_param_type::domHalf4x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half4x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf4x2::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf4x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3044,9 +3625,9 @@ domCg_param_type::domHalf4x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half4x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf4x3::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf4x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3079,9 +3660,9 @@ domCg_param_type::domHalf4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "half4x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domHalf4x4::_Meta); _Meta->registerConstructor(domCg_param_type::domHalf4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3114,9 +3695,9 @@ domCg_param_type::domFixed::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3149,9 +3730,9 @@ domCg_param_type::domFixed1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed1::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3184,9 +3765,9 @@ domCg_param_type::domFixed2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed2::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3219,9 +3800,9 @@ domCg_param_type::domFixed3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed3::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3254,9 +3835,9 @@ domCg_param_type::domFixed4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed4::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3289,9 +3870,9 @@ domCg_param_type::domFixed1x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed1x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed1x1::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed1x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3324,9 +3905,9 @@ domCg_param_type::domFixed1x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed1x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed1x2::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed1x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3359,9 +3940,9 @@ domCg_param_type::domFixed1x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed1x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed1x3::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed1x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3394,9 +3975,9 @@ domCg_param_type::domFixed1x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed1x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed1x4::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed1x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3429,9 +4010,9 @@ domCg_param_type::domFixed2x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed2x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed2x1::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed2x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3464,9 +4045,9 @@ domCg_param_type::domFixed2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed2x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed2x2::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3499,9 +4080,9 @@ domCg_param_type::domFixed2x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed2x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed2x3::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed2x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3534,9 +4115,9 @@ domCg_param_type::domFixed2x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed2x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed2x4::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed2x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3569,9 +4150,9 @@ domCg_param_type::domFixed3x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed3x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed3x1::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed3x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3604,9 +4185,9 @@ domCg_param_type::domFixed3x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed3x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed3x2::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed3x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3639,9 +4220,9 @@ domCg_param_type::domFixed3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed3x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed3x3::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3674,9 +4255,9 @@ domCg_param_type::domFixed3x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed3x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed3x4::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed3x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3709,9 +4290,9 @@ domCg_param_type::domFixed4x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed4x1" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed4x1::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed4x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3744,9 +4325,9 @@ domCg_param_type::domFixed4x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed4x2" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed4x2::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed4x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3779,9 +4360,9 @@ domCg_param_type::domFixed4x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed4x3" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed4x3::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed4x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3814,9 +4395,9 @@ domCg_param_type::domFixed4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fixed4x4" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domFixed4x4::_Meta); _Meta->registerConstructor(domCg_param_type::domFixed4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -3849,9 +4430,9 @@ domCg_param_type::domString::registerElement() _Meta = new daeMetaElement; _Meta->setName( "string" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domString::_Meta); _Meta->registerConstructor(domCg_param_type::domString::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3884,9 +4465,9 @@ domCg_param_type::domEnum::registerElement() _Meta = new daeMetaElement; _Meta->setName( "enum" ); - _Meta->setStaticPointerAddress(&domCg_param_type::domEnum::_Meta); _Meta->registerConstructor(domCg_param_type::domEnum::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler1D.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler1D.cpp index 8683d3161..eb4ec2208 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler1D.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler1D.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_sampler1D::create(daeInt bytes) @@ -29,18 +35,74 @@ domCg_sampler1D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_sampler1D" ); - _Meta->setStaticPointerAddress(&domCg_sampler1D::_Meta); _Meta->registerConstructor(domCg_sampler1D::create); - // Add elements: source, wrap_s, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domCg_sampler1D,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domCg_sampler1D,elemWrap_s)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domCg_sampler1D,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domCg_sampler1D,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domCg_sampler1D,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domCg_sampler1D,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domCg_sampler1D,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domCg_sampler1D,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 8, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCg_sampler1D,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 8 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 8 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCg_sampler1D)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler2D.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler2D.cpp index a0be5333f..43fba0f12 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler2D.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler2D.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_sampler2D::create(daeInt bytes) @@ -29,19 +35,80 @@ domCg_sampler2D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_sampler2D" ); - _Meta->setStaticPointerAddress(&domCg_sampler2D::_Meta); _Meta->registerConstructor(domCg_sampler2D::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domCg_sampler2D,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domCg_sampler2D,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domCg_sampler2D,elemWrap_t)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domCg_sampler2D,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domCg_sampler2D,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domCg_sampler2D,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domCg_sampler2D,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domCg_sampler2D,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domCg_sampler2D,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 9, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCg_sampler2D,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 9 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 9 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCg_sampler2D)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler3D.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler3D.cpp index d0070ba25..de8844553 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler3D.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_sampler3D.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_sampler3D::create(daeInt bytes) @@ -29,20 +35,86 @@ domCg_sampler3D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_sampler3D" ); - _Meta->setStaticPointerAddress(&domCg_sampler3D::_Meta); _Meta->registerConstructor(domCg_sampler3D::create); - // Add elements: source, wrap_s, wrap_t, wrap_p, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domCg_sampler3D,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domCg_sampler3D,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domCg_sampler3D,elemWrap_t)); - _Meta->appendElement(domWrap_p::registerElement(),daeOffsetOf(domCg_sampler3D,elemWrap_p)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domCg_sampler3D,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domCg_sampler3D,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domCg_sampler3D,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domCg_sampler3D,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domCg_sampler3D,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domCg_sampler3D,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "wrap_p" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemWrap_p) ); + mea->setElementType( domWrap_p::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 9, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 10, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCg_sampler3D,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 10 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 10 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCg_sampler3D)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerCUBE.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerCUBE.cpp index 04f20eff4..12f405fbb 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerCUBE.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerCUBE.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_samplerCUBE::create(daeInt bytes) @@ -29,20 +35,86 @@ domCg_samplerCUBE::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_samplerCUBE" ); - _Meta->setStaticPointerAddress(&domCg_samplerCUBE::_Meta); _Meta->registerConstructor(domCg_samplerCUBE::create); - // Add elements: source, wrap_s, wrap_t, wrap_p, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemWrap_t)); - _Meta->appendElement(domWrap_p::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemWrap_p)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domCg_samplerCUBE,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "wrap_p" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemWrap_p) ); + mea->setElementType( domWrap_p::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 9, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 10, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 10 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 10 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCg_samplerCUBE)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerDEPTH.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerDEPTH.cpp index 2096f0a65..541907a57 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerDEPTH.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerDEPTH.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_samplerDEPTH::create(daeInt bytes) @@ -29,15 +35,56 @@ domCg_samplerDEPTH::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_samplerDEPTH" ); - _Meta->setStaticPointerAddress(&domCg_samplerDEPTH::_Meta); _Meta->registerConstructor(domCg_samplerDEPTH::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domCg_samplerDEPTH,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domCg_samplerDEPTH,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domCg_samplerDEPTH,elemWrap_t)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domCg_samplerDEPTH,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domCg_samplerDEPTH,elemMagfilter)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 5 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 5 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCg_samplerDEPTH)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerRECT.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerRECT.cpp index 5ab40d986..7a29246e3 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerRECT.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_samplerRECT.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_samplerRECT::create(daeInt bytes) @@ -29,19 +35,80 @@ domCg_samplerRECT::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_samplerRECT" ); - _Meta->setStaticPointerAddress(&domCg_samplerRECT::_Meta); _Meta->registerConstructor(domCg_samplerRECT::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domCg_samplerRECT,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domCg_samplerRECT,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domCg_samplerRECT,elemWrap_t)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domCg_samplerRECT,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domCg_samplerRECT,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domCg_samplerRECT,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domCg_samplerRECT,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domCg_samplerRECT,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domCg_samplerRECT,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 9, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 9 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 9 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCg_samplerRECT)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_setarray_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_setarray_type.cpp index 025178e7d..136a4531d 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_setarray_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_setarray_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_setarray_type::create(daeInt bytes) @@ -29,129 +35,35 @@ domCg_setarray_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_setarray_type" ); - _Meta->setStaticPointerAddress(&domCg_setarray_type::_Meta); _Meta->registerConstructor(domCg_setarray_type::create); - // Add elements: cg_param_type, array, usertype - _Meta->appendArrayElement(domCg_param_type::registerElement(),daeOffsetOf(domCg_setarray_type,elemCg_param_type_array)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "cg_surface_type"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "cg_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "cg_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "cg_sampler3D"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "cg_samplerRECT"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "cg_samplerCUBE"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "cg_samplerDEPTH"); - _Meta->appendPossibleChild( "string", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); - _Meta->appendArrayElement(domCg_setarray_type::registerElement(),daeOffsetOf(domCg_setarray_type,elemArray_array),"array"); - _Meta->appendArrayElement(domCg_setuser_type::registerElement(),daeOffsetOf(domCg_setarray_type,elemUsertype_array),"usertype"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cg_param_type" ); + mea->setOffset( daeOffsetOf(domCg_setarray_type,elemCg_param_type_array) ); + mea->setElementType( domCg_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domCg_setarray_type,elemArray_array) ); + mea->setElementType( domCg_setarray_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "usertype" ); + mea->setOffset( daeOffsetOf(domCg_setarray_type,elemUsertype_array) ); + mea->setElementType( domCg_setuser_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCg_setarray_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCg_setarray_type,_contentsOrder)); // Add attribute: length diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_setparam.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_setparam.cpp index e0f50183b..76f694d2d 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_setparam.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_setparam.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_setparam::create(daeInt bytes) @@ -29,130 +35,41 @@ domCg_setparam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_setparam" ); - _Meta->setStaticPointerAddress(&domCg_setparam::_Meta); _Meta->registerConstructor(domCg_setparam::create); - // Add elements: cg_param_type, usertype, array, connect_param - _Meta->appendElement(domCg_param_type::registerElement(),daeOffsetOf(domCg_setparam,elemCg_param_type)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "cg_surface_type"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "cg_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "cg_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "cg_sampler3D"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "cg_samplerRECT"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "cg_samplerCUBE"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "cg_samplerDEPTH"); - _Meta->appendPossibleChild( "string", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); - _Meta->appendElement(domCg_setuser_type::registerElement(),daeOffsetOf(domCg_setparam,elemUsertype),"usertype"); - _Meta->appendElement(domCg_setarray_type::registerElement(),daeOffsetOf(domCg_setparam,elemArray),"array"); - _Meta->appendElement(domCg_connect_param::registerElement(),daeOffsetOf(domCg_setparam,elemConnect_param),"connect_param"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cg_param_type" ); + mea->setOffset( daeOffsetOf(domCg_setparam,elemCg_param_type) ); + mea->setElementType( domCg_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "usertype" ); + mea->setOffset( daeOffsetOf(domCg_setparam,elemUsertype) ); + mea->setElementType( domCg_setuser_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domCg_setparam,elemArray) ); + mea->setElementType( domCg_setarray_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "connect_param" ); + mea->setOffset( daeOffsetOf(domCg_setparam,elemConnect_param) ); + mea->setElementType( domCg_connect_param::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCg_setparam,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCg_setparam,_contentsOrder)); // Add attribute: ref diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_setparam_simple.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_setparam_simple.cpp index 58165707e..70796056f 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_setparam_simple.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_setparam_simple.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_setparam_simple::create(daeInt bytes) @@ -29,126 +35,26 @@ domCg_setparam_simple::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_setparam_simple" ); - _Meta->setStaticPointerAddress(&domCg_setparam_simple::_Meta); _Meta->registerConstructor(domCg_setparam_simple::create); - // Add elements: annotate, cg_param_type - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domCg_setparam_simple,elemAnnotate_array),"annotate"); - _Meta->appendElement(domCg_param_type::registerElement(),daeOffsetOf(domCg_setparam_simple,elemCg_param_type)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool1x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool1x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool1x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool1x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int1x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int1x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int1x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int1x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half1x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half1x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half1x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half1x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half2x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half2x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half2x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half3x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half3x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half3x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half4x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half4x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half4x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "half4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed1x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed1x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed1x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed1x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed2x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed2x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed2x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed3x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed3x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed3x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed4x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed4x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed4x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "fixed4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[1], "cg_surface_type"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[1], "cg_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[1], "cg_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[1], "cg_sampler3D"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[1], "cg_samplerRECT"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[1], "cg_samplerCUBE"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[1], "cg_samplerDEPTH"); - _Meta->appendPossibleChild( "string", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[1]); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domCg_setparam_simple,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "cg_param_type" ); + mea->setOffset( daeOffsetOf(domCg_setparam_simple,elemCg_param_type) ); + mea->setElementType( domCg_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 1, 1, 1 ) ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Add attribute: ref { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_setuser_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_setuser_type.cpp index c6e8fddf2..9998abdb7 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_setuser_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_setuser_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_setuser_type::create(daeInt bytes) @@ -29,130 +35,53 @@ domCg_setuser_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_setuser_type" ); - _Meta->setStaticPointerAddress(&domCg_setuser_type::_Meta); _Meta->registerConstructor(domCg_setuser_type::create); - // Add elements: cg_param_type, array, usertype, connect_param - _Meta->appendArrayElement(domCg_param_type::registerElement(),daeOffsetOf(domCg_setuser_type,elemCg_param_type_array)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "cg_surface_type"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "cg_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "cg_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "cg_sampler3D"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "cg_samplerRECT"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "cg_samplerCUBE"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "cg_samplerDEPTH"); - _Meta->appendPossibleChild( "string", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); - _Meta->appendArrayElement(domCg_setarray_type::registerElement(),daeOffsetOf(domCg_setuser_type,elemArray_array),"array"); - _Meta->appendArrayElement(domCg_setuser_type::registerElement(),daeOffsetOf(domCg_setuser_type,elemUsertype_array),"usertype"); - _Meta->appendArrayElement(domCg_connect_param::registerElement(),daeOffsetOf(domCg_setuser_type,elemConnect_param_array),"connect_param"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 0, 1 ); + + cm = new daeMetaChoice( _Meta, cm, 0, 1, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cg_param_type" ); + mea->setOffset( daeOffsetOf(domCg_setuser_type,elemCg_param_type_array) ); + mea->setElementType( domCg_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domCg_setuser_type,elemArray_array) ); + mea->setElementType( domCg_setarray_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "usertype" ); + mea->setOffset( daeOffsetOf(domCg_setuser_type,elemUsertype_array) ); + mea->setElementType( domCg_setuser_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "connect_param" ); + mea->setOffset( daeOffsetOf(domCg_setuser_type,elemConnect_param_array) ); + mea->setElementType( domCg_connect_param::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3001, 1, -1 ); + mea->setName( "setparam" ); + mea->setOffset( daeOffsetOf(domCg_setuser_type,elemSetparam_array) ); + mea->setElementType( domCg_setparam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3000 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCg_setuser_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCg_setuser_type,_contentsOrder)); // Add attribute: name @@ -166,6 +95,18 @@ domCg_setuser_type::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: source + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "source" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domCg_setuser_type , attrSource )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domCg_setuser_type)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCg_surface_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCg_surface_type.cpp index e93f5164f..90471d26e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCg_surface_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCg_surface_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCg_surface_type::create(daeInt bytes) @@ -29,17 +35,90 @@ domCg_surface_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cg_surface_type" ); - _Meta->setStaticPointerAddress(&domCg_surface_type::_Meta); _Meta->registerConstructor(domCg_surface_type::create); - // Add elements: init_from, format, size, viewport_ratio, mip_levels, mipmap_generate, generator - _Meta->appendArrayElement(domInit_from::registerElement(),daeOffsetOf(domCg_surface_type,elemInit_from_array)); - _Meta->appendElement(domFormat::registerElement(),daeOffsetOf(domCg_surface_type,elemFormat)); - _Meta->appendElement(domSize::registerElement(),daeOffsetOf(domCg_surface_type,elemSize)); - _Meta->appendElement(domViewport_ratio::registerElement(),daeOffsetOf(domCg_surface_type,elemViewport_ratio)); - _Meta->appendElement(domMip_levels::registerElement(),daeOffsetOf(domCg_surface_type,elemMip_levels)); - _Meta->appendElement(domMipmap_generate::registerElement(),daeOffsetOf(domCg_surface_type,elemMipmap_generate)); - _Meta->appendElement(domGenerator::registerElement(),daeOffsetOf(domCg_surface_type,elemGenerator)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "fx_surface_init_common" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemFx_surface_init_common) ); + mea->setElementType( domFx_surface_init_common::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 0, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "format" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemFormat) ); + mea->setElementType( domFormat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "format_hint" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemFormat_hint) ); + mea->setElementType( domFx_surface_format_hint_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 3, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "size" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemSize) ); + mea->setElementType( domSize::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "viewport_ratio" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemViewport_ratio) ); + mea->setElementType( domViewport_ratio::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "mip_levels" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemMip_levels) ); + mea->setElementType( domMip_levels::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipmap_generate" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemMipmap_generate) ); + mea->setElementType( domMipmap_generate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 6 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaSequence( _Meta, cm, 7, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "generator" ); + mea->setOffset( daeOffsetOf(domCg_surface_type,elemGenerator) ); + mea->setElementType( domGenerator::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 7 ); + _Meta->setCMRoot( cm ); + // Ordered list of sub-elements + _Meta->addContents(daeOffsetOf(domCg_surface_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCg_surface_type,_contentsOrder)); + // Add attribute: type { @@ -75,17 +154,54 @@ domCg_surface_type::domGenerator::registerElement() _Meta = new daeMetaElement; _Meta->setName( "generator" ); - _Meta->setStaticPointerAddress(&domCg_surface_type::domGenerator::_Meta); _Meta->registerConstructor(domCg_surface_type::domGenerator::create); - // Add elements: annotate, code, include, name, setparam - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domCg_surface_type::domGenerator,elemAnnotate_array),"annotate"); - _Meta->appendArrayElement(domFx_code_profile::registerElement(),daeOffsetOf(domCg_surface_type::domGenerator,elemCode_array),"code"); - _Meta->appendArrayElement(domFx_include_common::registerElement(),daeOffsetOf(domCg_surface_type::domGenerator,elemInclude_array),"include"); - _Meta->appendElement(domCg_surface_type::domGenerator::domName::registerElement(),daeOffsetOf(domCg_surface_type::domGenerator,elemName)); - _Meta->appendArrayElement(domCg_setparam_simple::registerElement(),daeOffsetOf(domCg_surface_type::domGenerator,elemSetparam_array),"setparam"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "code" ); + mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemCode_array) ); + mea->setElementType( domFx_code_profile::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "include" ); + mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemInclude_array) ); + mea->setElementType( domFx_include_common::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 3002, 1, 1 ); + mea->setName( "name" ); + mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemName) ); + mea->setElementType( domCg_surface_type::domGenerator::domName::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "setparam" ); + mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemSetparam_array) ); + mea->setElementType( domCg_setparam_simple::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3003 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCg_surface_type::domGenerator,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCg_surface_type::domGenerator,_contentsOrder)); @@ -110,9 +226,9 @@ domCg_surface_type::domGenerator::domName::registerElement() _Meta = new daeMetaElement; _Meta->setName( "name" ); - _Meta->setStaticPointerAddress(&domCg_surface_type::domGenerator::domName::_Meta); _Meta->registerConstructor(domCg_surface_type::domGenerator::domName::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domChannel.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domChannel.cpp index b14e6cd34..0772b6cb5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domChannel.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domChannel.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domChannel::create(daeInt bytes) @@ -30,7 +36,6 @@ domChannel::registerElement() _Meta = new daeMetaElement; _Meta->setName( "channel" ); - _Meta->setStaticPointerAddress(&domChannel::_Meta); _Meta->registerConstructor(domChannel::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCommon_color_or_texture_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCommon_color_or_texture_type.cpp index 7bfe4bee0..929f7f2bf 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCommon_color_or_texture_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCommon_color_or_texture_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCommon_color_or_texture_type::create(daeInt bytes) @@ -29,15 +35,35 @@ domCommon_color_or_texture_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "common_color_or_texture_type" ); - _Meta->setStaticPointerAddress(&domCommon_color_or_texture_type::_Meta); _Meta->registerConstructor(domCommon_color_or_texture_type::create); - // Add elements: color, param, texture - _Meta->appendElement(domCommon_color_or_texture_type::domColor::registerElement(),daeOffsetOf(domCommon_color_or_texture_type,elemColor)); - _Meta->appendElement(domCommon_color_or_texture_type::domParam::registerElement(),daeOffsetOf(domCommon_color_or_texture_type,elemParam)); - _Meta->appendElement(domCommon_color_or_texture_type::domTexture::registerElement(),daeOffsetOf(domCommon_color_or_texture_type,elemTexture)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color" ); + mea->setOffset( daeOffsetOf(domCommon_color_or_texture_type,elemColor) ); + mea->setElementType( domCommon_color_or_texture_type::domColor::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domCommon_color_or_texture_type,elemParam) ); + mea->setElementType( domCommon_color_or_texture_type::domParam::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture" ); + mea->setOffset( daeOffsetOf(domCommon_color_or_texture_type,elemTexture) ); + mea->setElementType( domCommon_color_or_texture_type::domTexture::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCommon_color_or_texture_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCommon_color_or_texture_type,_contentsOrder)); @@ -62,9 +88,9 @@ domCommon_color_or_texture_type::domColor::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color" ); - _Meta->setStaticPointerAddress(&domCommon_color_or_texture_type::domColor::_Meta); _Meta->registerConstructor(domCommon_color_or_texture_type::domColor::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -108,9 +134,9 @@ domCommon_color_or_texture_type::domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domCommon_color_or_texture_type::domParam::_Meta); _Meta->registerConstructor(domCommon_color_or_texture_type::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: ref { @@ -146,11 +172,21 @@ domCommon_color_or_texture_type::domTexture::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture" ); - _Meta->setStaticPointerAddress(&domCommon_color_or_texture_type::domTexture::_Meta); _Meta->registerConstructor(domCommon_color_or_texture_type::domTexture::create); - // Add elements: extra - _Meta->appendElement(domExtra::registerElement(),daeOffsetOf(domCommon_color_or_texture_type::domTexture,elemExtra)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCommon_color_or_texture_type::domTexture,elemExtra) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: texture { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCommon_float_or_param_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCommon_float_or_param_type.cpp index 50e888cc1..ef265bcad 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCommon_float_or_param_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCommon_float_or_param_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCommon_float_or_param_type::create(daeInt bytes) @@ -29,14 +35,29 @@ domCommon_float_or_param_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "common_float_or_param_type" ); - _Meta->setStaticPointerAddress(&domCommon_float_or_param_type::_Meta); _Meta->registerConstructor(domCommon_float_or_param_type::create); - // Add elements: float, param - _Meta->appendElement(domCommon_float_or_param_type::domFloat::registerElement(),daeOffsetOf(domCommon_float_or_param_type,elemFloat)); - _Meta->appendElement(domCommon_float_or_param_type::domParam::registerElement(),daeOffsetOf(domCommon_float_or_param_type,elemParam)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float" ); + mea->setOffset( daeOffsetOf(domCommon_float_or_param_type,elemFloat) ); + mea->setElementType( domCommon_float_or_param_type::domFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domCommon_float_or_param_type,elemParam) ); + mea->setElementType( domCommon_float_or_param_type::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCommon_float_or_param_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCommon_float_or_param_type,_contentsOrder)); @@ -61,9 +82,9 @@ domCommon_float_or_param_type::domFloat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float" ); - _Meta->setStaticPointerAddress(&domCommon_float_or_param_type::domFloat::_Meta); _Meta->registerConstructor(domCommon_float_or_param_type::domFloat::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -107,9 +128,9 @@ domCommon_float_or_param_type::domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domCommon_float_or_param_type::domParam::_Meta); _Meta->registerConstructor(domCommon_float_or_param_type::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: ref { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCommon_newparam_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCommon_newparam_type.cpp index c21165044..aba2e0c76 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCommon_newparam_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCommon_newparam_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCommon_newparam_type::create(daeInt bytes) @@ -29,19 +35,65 @@ domCommon_newparam_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "common_newparam_type" ); - _Meta->setStaticPointerAddress(&domCommon_newparam_type::_Meta); _Meta->registerConstructor(domCommon_newparam_type::create); - // Add elements: semantic, float, float2, float3, float4, surface, sampler2D - _Meta->appendElement(domCommon_newparam_type::domSemantic::registerElement(),daeOffsetOf(domCommon_newparam_type,elemSemantic)); - _Meta->appendElement(domCommon_newparam_type::domFloat::registerElement(),daeOffsetOf(domCommon_newparam_type,elemFloat)); - _Meta->appendElement(domCommon_newparam_type::domFloat2::registerElement(),daeOffsetOf(domCommon_newparam_type,elemFloat2)); - _Meta->appendElement(domCommon_newparam_type::domFloat3::registerElement(),daeOffsetOf(domCommon_newparam_type,elemFloat3)); - _Meta->appendElement(domCommon_newparam_type::domFloat4::registerElement(),daeOffsetOf(domCommon_newparam_type,elemFloat4)); - _Meta->appendElement(domFx_surface_common::registerElement(),daeOffsetOf(domCommon_newparam_type,elemSurface),"surface"); - _Meta->appendElement(domFx_sampler2D_common::registerElement(),daeOffsetOf(domCommon_newparam_type,elemSampler2D),"sampler2D"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "semantic" ); + mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemSemantic) ); + mea->setElementType( domCommon_newparam_type::domSemantic::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float" ); + mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemFloat) ); + mea->setElementType( domCommon_newparam_type::domFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2" ); + mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemFloat2) ); + mea->setElementType( domCommon_newparam_type::domFloat2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3" ); + mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemFloat3) ); + mea->setElementType( domCommon_newparam_type::domFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4" ); + mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemFloat4) ); + mea->setElementType( domCommon_newparam_type::domFloat4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "surface" ); + mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemSurface) ); + mea->setElementType( domFx_surface_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler2D" ); + mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemSampler2D) ); + mea->setElementType( domFx_sampler2D_common::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domCommon_newparam_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCommon_newparam_type,_contentsOrder)); // Add attribute: sid @@ -78,9 +130,9 @@ domCommon_newparam_type::domSemantic::registerElement() _Meta = new daeMetaElement; _Meta->setName( "semantic" ); - _Meta->setStaticPointerAddress(&domCommon_newparam_type::domSemantic::_Meta); _Meta->registerConstructor(domCommon_newparam_type::domSemantic::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -113,9 +165,9 @@ domCommon_newparam_type::domFloat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float" ); - _Meta->setStaticPointerAddress(&domCommon_newparam_type::domFloat::_Meta); _Meta->registerConstructor(domCommon_newparam_type::domFloat::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -148,9 +200,9 @@ domCommon_newparam_type::domFloat2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2" ); - _Meta->setStaticPointerAddress(&domCommon_newparam_type::domFloat2::_Meta); _Meta->registerConstructor(domCommon_newparam_type::domFloat2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -183,9 +235,9 @@ domCommon_newparam_type::domFloat3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3" ); - _Meta->setStaticPointerAddress(&domCommon_newparam_type::domFloat3::_Meta); _Meta->registerConstructor(domCommon_newparam_type::domFloat3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -218,9 +270,9 @@ domCommon_newparam_type::domFloat4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4" ); - _Meta->setStaticPointerAddress(&domCommon_newparam_type::domFloat4::_Meta); _Meta->registerConstructor(domCommon_newparam_type::domFloat4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCommon_transparent_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCommon_transparent_type.cpp new file mode 100644 index 000000000..af071263c --- /dev/null +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCommon_transparent_type.cpp @@ -0,0 +1,97 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +daeElementRef +domCommon_transparent_type::create(daeInt bytes) +{ + domCommon_transparent_typeRef ref = new(bytes) domCommon_transparent_type; + return ref; +} + + +daeMetaElement * +domCommon_transparent_type::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "common_transparent_type" ); + _Meta->registerConstructor(domCommon_transparent_type::create); + + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color" ); + mea->setOffset( daeOffsetOf(domCommon_transparent_type,elemColor) ); + mea->setElementType( domColor::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domCommon_transparent_type,elemParam) ); + mea->setElementType( domParam::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture" ); + mea->setOffset( daeOffsetOf(domCommon_transparent_type,elemTexture) ); + mea->setElementType( domTexture::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); + // Ordered list of sub-elements + _Meta->addContents(daeOffsetOf(domCommon_transparent_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domCommon_transparent_type,_contentsOrder)); + + + // Add attribute: opaque + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "opaque" ); + ma->setType( daeAtomicType::get("Fx_opaque_enum")); + ma->setOffset( daeOffsetOf( domCommon_transparent_type , attrOpaque )); + ma->setContainer( _Meta ); + ma->setDefault( "A_ONE"); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domCommon_transparent_type)); + _Meta->validate(); + + return _Meta; +} + + +daeMetaElement * domCommon_transparent_type::_Meta = NULL; + + diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domConstants.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domConstants.cpp index 41c95e1c2..9b57ca1d2 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domConstants.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domConstants.cpp @@ -13,24 +13,29 @@ #include -daeString COLLADA_VERSION = "1.4.0"; +daeString COLLADA_VERSION = "1.4.1"; daeString COLLADA_NAMESPACE = "http://www.collada.org/2005/11/COLLADASchema"; daeString COMMON_PROFILE_INPUT_BINORMAL = "BINORMAL"; daeString COMMON_PROFILE_INPUT_COLOR = "COLOR"; +daeString COMMON_PROFILE_INPUT_CONTINUITY = "CONTINUITY"; daeString COMMON_PROFILE_INPUT_IMAGE = "IMAGE"; daeString COMMON_PROFILE_INPUT_IN_TANGENT = "IN_TANGENT"; daeString COMMON_PROFILE_INPUT_INPUT = "INPUT"; daeString COMMON_PROFILE_INPUT_INTERPOLATION = "INTERPOLATION"; daeString COMMON_PROFILE_INPUT_INV_BIND_MATRIX = "INV_BIND_MATRIX"; daeString COMMON_PROFILE_INPUT_JOINT = "JOINT"; +daeString COMMON_PROFILE_INPUT_LINEAR_STEPS = "LINEAR_STEPS"; +daeString COMMON_PROFILE_INPUT_MORPH_TARGET = "MORPH_TARGET"; +daeString COMMON_PROFILE_INPUT_MORPH_WEIGHT = "MORPH_WEIGHT"; daeString COMMON_PROFILE_INPUT_NORMAL = "NORMAL"; daeString COMMON_PROFILE_INPUT_OUTPUT = "OUTPUT"; daeString COMMON_PROFILE_INPUT_OUT_TANGENT = "OUT_TANGENT"; daeString COMMON_PROFILE_INPUT_POSITION = "POSITION"; daeString COMMON_PROFILE_INPUT_TANGENT = "TANGENT"; +daeString COMMON_PROFILE_INPUT_TEXBINORMAL = "TEXBINORMAL"; daeString COMMON_PROFILE_INPUT_TEXCOORD = "TEXCOORD"; -daeString COMMON_PROFILE_INPUT_TEXTURE = "TEXTURE"; +daeString COMMON_PROFILE_INPUT_TEXTANGENT = "TEXTANGENT"; daeString COMMON_PROFILE_INPUT_UV = "UV"; daeString COMMON_PROFILE_INPUT_VERTEX = "VERTEX"; daeString COMMON_PROFILE_INPUT_WEIGHT = "WEIGHT"; @@ -59,8 +64,20 @@ daeString COLLADA_ELEMENT_INPUTLOCALOFFSET = "InputLocalOffset"; daeString COLLADA_ELEMENT_INSTANCEWITHEXTRA = "InstanceWithExtra"; daeString COLLADA_ELEMENT_TARGETABLEFLOAT = "TargetableFloat"; daeString COLLADA_ELEMENT_TARGETABLEFLOAT3 = "TargetableFloat3"; +daeString COLLADA_ELEMENT_FX_SURFACE_FORMAT_HINT_COMMON = "fx_surface_format_hint_common"; +daeString COLLADA_ELEMENT_CHANNELS = "channels"; +daeString COLLADA_ELEMENT_RANGE = "range"; +daeString COLLADA_ELEMENT_PRECISION = "precision"; +daeString COLLADA_ELEMENT_OPTION = "option"; +daeString COLLADA_ELEMENT_FX_SURFACE_INIT_PLANAR_COMMON = "fx_surface_init_planar_common"; +daeString COLLADA_ELEMENT_ALL = "all"; +daeString COLLADA_ELEMENT_FX_SURFACE_INIT_VOLUME_COMMON = "fx_surface_init_volume_common"; +daeString COLLADA_ELEMENT_PRIMARY = "primary"; +daeString COLLADA_ELEMENT_FX_SURFACE_INIT_CUBE_COMMON = "fx_surface_init_cube_common"; +daeString COLLADA_ELEMENT_ORDER = "order"; +daeString COLLADA_ELEMENT_FACE = "face"; +daeString COLLADA_ELEMENT_FX_SURFACE_INIT_FROM_COMMON = "fx_surface_init_from_common"; daeString COLLADA_ELEMENT_FX_SURFACE_COMMON = "fx_surface_common"; -daeString COLLADA_ELEMENT_INIT_FROM = "init_from"; daeString COLLADA_ELEMENT_FORMAT = "format"; daeString COLLADA_ELEMENT_SIZE = "size"; daeString COLLADA_ELEMENT_VIEWPORT_RATIO = "viewport_ratio"; @@ -93,7 +110,6 @@ daeString COLLADA_ELEMENT_FX_INCLUDE_COMMON = "fx_include_common"; daeString COLLADA_ELEMENT_FX_NEWPARAM_COMMON = "fx_newparam_common"; daeString COLLADA_ELEMENT_SEMANTIC = "semantic"; daeString COLLADA_ELEMENT_MODIFIER = "modifier"; -daeString COLLADA_ELEMENT_FX_SETPARAM_COMMON = "fx_setparam_common"; daeString COLLADA_ELEMENT_FX_CODE_PROFILE = "fx_code_profile"; daeString COLLADA_ELEMENT_GL_SAMPLER1D = "gl_sampler1D"; daeString COLLADA_ELEMENT_GL_SAMPLER2D = "gl_sampler2D"; @@ -115,6 +131,7 @@ daeString COLLADA_ELEMENT_PARAM = "param"; daeString COLLADA_ELEMENT_COMMON_COLOR_OR_TEXTURE_TYPE = "common_color_or_texture_type"; daeString COLLADA_ELEMENT_COLOR = "color"; daeString COLLADA_ELEMENT_TEXTURE = "texture"; +daeString COLLADA_ELEMENT_COMMON_TRANSPARENT_TYPE = "common_transparent_type"; daeString COLLADA_ELEMENT_COMMON_NEWPARAM_TYPE = "common_newparam_type"; daeString COLLADA_ELEMENT_FLOAT2 = "float2"; daeString COLLADA_ELEMENT_FLOAT3 = "float3"; @@ -147,6 +164,9 @@ daeString COLLADA_ELEMENT_SAMPLER_STATE = "sampler_state"; daeString COLLADA_ELEMENT_TEXCOORD = "texcoord"; daeString COLLADA_ELEMENT_GLES_SAMPLER_STATE = "gles_sampler_state"; daeString COLLADA_ELEMENT_GLES_NEWPARAM = "gles_newparam"; +daeString COLLADA_ELEMENT_FX_SURFACE_INIT_COMMON = "fx_surface_init_common"; +daeString COLLADA_ELEMENT_INIT_AS_NULL = "init_as_null"; +daeString COLLADA_ELEMENT_INIT_AS_TARGET = "init_as_target"; daeString COLLADA_ELEMENT_FX_ANNOTATE_TYPE_COMMON = "fx_annotate_type_common"; daeString COLLADA_ELEMENT_BOOL = "bool"; daeString COLLADA_ELEMENT_BOOL2 = "bool2"; @@ -192,7 +212,6 @@ daeString COLLADA_ELEMENT_BLEND_EQUATION_SEPARATE = "blend_equation_separate"; daeString COLLADA_ELEMENT_RGB = "rgb"; daeString COLLADA_ELEMENT_ALPHA = "alpha"; daeString COLLADA_ELEMENT_COLOR_MATERIAL = "color_material"; -daeString COLLADA_ELEMENT_FACE = "face"; daeString COLLADA_ELEMENT_MODE = "mode"; daeString COLLADA_ELEMENT_CULL_FACE = "cull_face"; daeString COLLADA_ELEMENT_DEPTH_FUNC = "depth_func"; @@ -277,6 +296,7 @@ daeString COLLADA_ELEMENT_ALPHA_TEST_ENABLE = "alpha_test_enable"; daeString COLLADA_ELEMENT_AUTO_NORMAL_ENABLE = "auto_normal_enable"; daeString COLLADA_ELEMENT_BLEND_ENABLE = "blend_enable"; daeString COLLADA_ELEMENT_COLOR_LOGIC_OP_ENABLE = "color_logic_op_enable"; +daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE = "color_material_enable"; daeString COLLADA_ELEMENT_CULL_FACE_ENABLE = "cull_face_enable"; daeString COLLADA_ELEMENT_DEPTH_BOUNDS_ENABLE = "depth_bounds_enable"; daeString COLLADA_ELEMENT_DEPTH_CLAMP_ENABLE = "depth_clamp_enable"; @@ -384,7 +404,6 @@ daeString COLLADA_ELEMENT_FIXED4X4 = "fixed4x4"; daeString COLLADA_ELEMENT_GLES_PIPELINE_SETTINGS = "gles_pipeline_settings"; daeString COLLADA_ELEMENT_TEXTURE_PIPELINE = "texture_pipeline"; daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUTATION = "light_linear_attenutation"; -daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE = "color_material_enable"; daeString COLLADA_ELEMENT_TEXTURE_PIPELINE_ENABLE = "texture_pipeline_enable"; daeString COLLADA_ELEMENT_GLES_BASIC_TYPE_COMMON = "gles_basic_type_common"; daeString COLLADA_ELEMENT_COLLADA = "COLLADA"; @@ -420,6 +439,7 @@ daeString COLLADA_ELEMENT_SKEW = "skew"; daeString COLLADA_ELEMENT_TRANSLATE = "translate"; daeString COLLADA_ELEMENT_IMAGE = "image"; daeString COLLADA_ELEMENT_DATA = "data"; +daeString COLLADA_ELEMENT_INIT_FROM = "init_from"; daeString COLLADA_ELEMENT_LIGHT = "light"; daeString COLLADA_ELEMENT_AMBIENT = "ambient"; daeString COLLADA_ELEMENT_DIRECTIONAL = "directional"; @@ -477,6 +497,7 @@ daeString COLLADA_ELEMENT_INSTANCE_GEOMETRY = "instance_geometry"; daeString COLLADA_ELEMENT_INSTANCE_LIGHT = "instance_light"; daeString COLLADA_ELEMENT_INSTANCE_MATERIAL = "instance_material"; daeString COLLADA_ELEMENT_BIND = "bind"; +daeString COLLADA_ELEMENT_BIND_VERTEX_INPUT = "bind_vertex_input"; daeString COLLADA_ELEMENT_INSTANCE_NODE = "instance_node"; daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MATERIAL = "instance_physics_material"; daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MODEL = "instance_physics_model"; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domController.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domController.cpp index ea7100193..0c81ca463 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domController.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domController.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domController::create(daeInt bytes) @@ -29,16 +35,47 @@ domController::registerElement() _Meta = new daeMetaElement; _Meta->setName( "controller" ); - _Meta->setStaticPointerAddress(&domController::_Meta); _Meta->registerConstructor(domController::create); - // Add elements: asset, skin, morph, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domController,elemAsset)); - _Meta->appendElement(domSkin::registerElement(),daeOffsetOf(domController,elemSkin)); - _Meta->appendElement(domMorph::registerElement(),daeOffsetOf(domController,elemMorph)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domController,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domController,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "skin" ); + mea->setOffset( daeOffsetOf(domController,elemSkin) ); + mea->setElementType( domSkin::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "morph" ); + mea->setOffset( daeOffsetOf(domController,elemMorph) ); + mea->setElementType( domMorph::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domController,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domController,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domController,_contentsOrder)); // Add attribute: id diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domConvex_mesh.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domConvex_mesh.cpp index 7e93d3439..e3baefd85 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domConvex_mesh.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domConvex_mesh.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domConvex_mesh::create(daeInt bytes) @@ -30,22 +36,83 @@ domConvex_mesh::registerElement() _Meta = new daeMetaElement; _Meta->setName( "convex_mesh" ); - _Meta->setStaticPointerAddress(&domConvex_mesh::_Meta); _Meta->registerConstructor(domConvex_mesh::create); - // Add elements: source, vertices, lines, linestrips, polygons, polylist, triangles, trifans, tristrips, extra - _Meta->appendArrayElement(domSource::registerElement(),daeOffsetOf(domConvex_mesh,elemSource_array)); - _Meta->appendElement(domVertices::registerElement(),daeOffsetOf(domConvex_mesh,elemVertices)); - _Meta->appendArrayElement(domLines::registerElement(),daeOffsetOf(domConvex_mesh,elemLines_array)); - _Meta->appendArrayElement(domLinestrips::registerElement(),daeOffsetOf(domConvex_mesh,elemLinestrips_array)); - _Meta->appendArrayElement(domPolygons::registerElement(),daeOffsetOf(domConvex_mesh,elemPolygons_array)); - _Meta->appendArrayElement(domPolylist::registerElement(),daeOffsetOf(domConvex_mesh,elemPolylist_array)); - _Meta->appendArrayElement(domTriangles::registerElement(),daeOffsetOf(domConvex_mesh,elemTriangles_array)); - _Meta->appendArrayElement(domTrifans::registerElement(),daeOffsetOf(domConvex_mesh,elemTrifans_array)); - _Meta->appendArrayElement(domTristrips::registerElement(),daeOffsetOf(domConvex_mesh,elemTristrips_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domConvex_mesh,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 0, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemSource_array) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "vertices" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemVertices) ); + mea->setElementType( domVertices::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 2, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "lines" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemLines_array) ); + mea->setElementType( domLines::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "linestrips" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemLinestrips_array) ); + mea->setElementType( domLinestrips::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygons" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemPolygons_array) ); + mea->setElementType( domPolygons::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polylist" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemPolylist_array) ); + mea->setElementType( domPolylist::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "triangles" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemTriangles_array) ); + mea->setElementType( domTriangles::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "trifans" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemTrifans_array) ); + mea->setElementType( domTrifans::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "tristrips" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemTristrips_array) ); + mea->setElementType( domTristrips::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domConvex_mesh,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3003 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domConvex_mesh,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domConvex_mesh,_contentsOrder)); // Add attribute: convex_hull_of diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domCylinder.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domCylinder.cpp index 2a7872f36..4eca40d62 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domCylinder.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domCylinder.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domCylinder::create(daeInt bytes) @@ -29,13 +35,32 @@ domCylinder::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cylinder" ); - _Meta->setStaticPointerAddress(&domCylinder::_Meta); _Meta->registerConstructor(domCylinder::create); - // Add elements: height, radius, extra - _Meta->appendElement(domCylinder::domHeight::registerElement(),daeOffsetOf(domCylinder,elemHeight)); - _Meta->appendElement(domCylinder::domRadius::registerElement(),daeOffsetOf(domCylinder,elemRadius)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domCylinder,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "height" ); + mea->setOffset( daeOffsetOf(domCylinder,elemHeight) ); + mea->setElementType( domCylinder::domHeight::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "radius" ); + mea->setOffset( daeOffsetOf(domCylinder,elemRadius) ); + mea->setElementType( domCylinder::domRadius::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domCylinder,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domCylinder)); @@ -59,9 +84,9 @@ domCylinder::domHeight::registerElement() _Meta = new daeMetaElement; _Meta->setName( "height" ); - _Meta->setStaticPointerAddress(&domCylinder::domHeight::_Meta); _Meta->registerConstructor(domCylinder::domHeight::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -94,9 +119,9 @@ domCylinder::domRadius::registerElement() _Meta = new daeMetaElement; _Meta->setName( "radius" ); - _Meta->setStaticPointerAddress(&domCylinder::domRadius::_Meta); _Meta->registerConstructor(domCylinder::domRadius::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domEffect.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domEffect.cpp index 41c62a414..884617c3c 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domEffect.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domEffect.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domEffect::create(daeInt bytes) @@ -33,22 +39,81 @@ domEffect::registerElement() _Meta = new daeMetaElement; _Meta->setName( "effect" ); - _Meta->setStaticPointerAddress(&domEffect::_Meta); _Meta->registerConstructor(domEffect::create); - // Add elements: asset, annotate, image, newparam, fx_profile_abstract, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domEffect,elemAsset)); - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domEffect,elemAnnotate_array),"annotate"); - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domEffect,elemImage_array)); - _Meta->appendArrayElement(domFx_newparam_common::registerElement(),daeOffsetOf(domEffect,elemNewparam_array),"newparam"); - _Meta->appendArrayElement(domFx_profile_abstract::registerElement(),daeOffsetOf(domEffect,elemFx_profile_abstract_array)); - _Meta->appendArrayElement(domProfile_GLSL::registerElement(),daeOffsetOf(domEffect,elemFx_profile_abstract_array)); - _Meta->appendArrayElement(domProfile_COMMON::registerElement(),daeOffsetOf(domEffect,elemFx_profile_abstract_array)); - _Meta->appendArrayElement(domProfile_CG::registerElement(),daeOffsetOf(domEffect,elemFx_profile_abstract_array)); - _Meta->appendArrayElement(domProfile_GLES::registerElement(),daeOffsetOf(domEffect,elemFx_profile_abstract_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domEffect,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domEffect,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domEffect,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domEffect,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domEffect,elemNewparam_array) ); + mea->setElementType( domFx_newparam_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 1, -1 ); + mea->setName( "fx_profile_abstract" ); + mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) ); + mea->setElementType( domFx_profile_abstract::registerElement() ); + cm->appendChild( mea ); + + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 1, -1 ); + mea->setName( "profile_GLSL" ); + mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) ); + mea->setElementType( domProfile_GLSL::registerElement() ); + cm->appendChild( mea ); + + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 1, -1 ); + mea->setName( "profile_COMMON" ); + mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) ); + mea->setElementType( domProfile_COMMON::registerElement() ); + cm->appendChild( mea ); + + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 1, -1 ); + mea->setName( "profile_CG" ); + mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) ); + mea->setElementType( domProfile_CG::registerElement() ); + cm->appendChild( mea ); + + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 1, -1 ); + mea->setName( "profile_GLES" ); + mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) ); + mea->setElementType( domProfile_GLES::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domEffect,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 5 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domEffect,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domEffect,_contentsOrder)); // Add attribute: id diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domEllipsoid.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domEllipsoid.cpp index 3691095dc..63adb455a 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domEllipsoid.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domEllipsoid.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domEllipsoid::create(daeInt bytes) @@ -29,11 +35,20 @@ domEllipsoid::registerElement() _Meta = new daeMetaElement; _Meta->setName( "ellipsoid" ); - _Meta->setStaticPointerAddress(&domEllipsoid::_Meta); _Meta->registerConstructor(domEllipsoid::create); - // Add elements: size - _Meta->appendElement(domEllipsoid::domSize::registerElement(),daeOffsetOf(domEllipsoid,elemSize)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "size" ); + mea->setOffset( daeOffsetOf(domEllipsoid,elemSize) ); + mea->setElementType( domEllipsoid::domSize::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domEllipsoid)); @@ -57,9 +72,9 @@ domEllipsoid::domSize::registerElement() _Meta = new daeMetaElement; _Meta->setName( "size" ); - _Meta->setStaticPointerAddress(&domEllipsoid::domSize::_Meta); _Meta->registerConstructor(domEllipsoid::domSize::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domExtra.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domExtra.cpp index 498401343..295de3817 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domExtra.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domExtra.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domExtra::create(daeInt bytes) @@ -29,12 +35,26 @@ domExtra::registerElement() _Meta = new daeMetaElement; _Meta->setName( "extra" ); - _Meta->setStaticPointerAddress(&domExtra::_Meta); _Meta->registerConstructor(domExtra::create); - // Add elements: asset, technique - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domExtra,elemAsset)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domExtra,elemTechnique_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domExtra,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domExtra,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFloat_array.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFloat_array.cpp index b8f5e4086..2875e29ab 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFloat_array.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFloat_array.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFloat_array::create(daeInt bytes) @@ -29,7 +35,6 @@ domFloat_array::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float_array" ); - _Meta->setStaticPointerAddress(&domFloat_array::_Meta); _Meta->registerConstructor(domFloat_array::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domForce_field.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domForce_field.cpp index 4b82ed827..e5f1485c7 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domForce_field.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domForce_field.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domForce_field::create(daeInt bytes) @@ -29,13 +35,32 @@ domForce_field::registerElement() _Meta = new daeMetaElement; _Meta->setName( "force_field" ); - _Meta->setStaticPointerAddress(&domForce_field::_Meta); _Meta->registerConstructor(domForce_field::create); - // Add elements: asset, technique, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domForce_field,elemAsset)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domForce_field,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domForce_field,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domForce_field,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domForce_field,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domForce_field,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_annotate_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_annotate_common.cpp index 9c8dade4d..84aa69845 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_annotate_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_annotate_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_annotate_common::create(daeInt bytes) @@ -29,27 +35,20 @@ domFx_annotate_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_annotate_common" ); - _Meta->setStaticPointerAddress(&domFx_annotate_common::_Meta); _Meta->registerConstructor(domFx_annotate_common::create); - // Add elements: fx_annotate_type_common - _Meta->appendElement(domFx_annotate_type_common::registerElement(),daeOffsetOf(domFx_annotate_common,elemFx_annotate_type_common)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "string", _Meta->getMetaElements()[0]); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fx_annotate_type_common" ); + mea->setOffset( daeOffsetOf(domFx_annotate_common,elemFx_annotate_type_common) ); + mea->setElementType( domFx_annotate_type_common::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: name { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_annotate_type_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_annotate_type_common.cpp index b2c354449..2533c986d 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_annotate_type_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_annotate_type_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_annotate_type_common::create(daeInt bytes) @@ -29,29 +35,114 @@ domFx_annotate_type_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_annotate_type_common" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::create); _Meta->setIsTransparent( true ); - // Add elements: bool, bool2, bool3, bool4, int, int2, int3, int4, float, float2, float3, float4, float2x2, float3x3, float4x4, string - _Meta->appendElement(domFx_annotate_type_common::domBool::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemBool)); - _Meta->appendElement(domFx_annotate_type_common::domBool2::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemBool2)); - _Meta->appendElement(domFx_annotate_type_common::domBool3::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemBool3)); - _Meta->appendElement(domFx_annotate_type_common::domBool4::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemBool4)); - _Meta->appendElement(domFx_annotate_type_common::domInt::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemInt)); - _Meta->appendElement(domFx_annotate_type_common::domInt2::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemInt2)); - _Meta->appendElement(domFx_annotate_type_common::domInt3::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemInt3)); - _Meta->appendElement(domFx_annotate_type_common::domInt4::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemInt4)); - _Meta->appendElement(domFx_annotate_type_common::domFloat::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemFloat)); - _Meta->appendElement(domFx_annotate_type_common::domFloat2::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemFloat2)); - _Meta->appendElement(domFx_annotate_type_common::domFloat3::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemFloat3)); - _Meta->appendElement(domFx_annotate_type_common::domFloat4::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemFloat4)); - _Meta->appendElement(domFx_annotate_type_common::domFloat2x2::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemFloat2x2)); - _Meta->appendElement(domFx_annotate_type_common::domFloat3x3::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemFloat3x3)); - _Meta->appendElement(domFx_annotate_type_common::domFloat4x4::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemFloat4x4)); - _Meta->appendElement(domFx_annotate_type_common::domString::registerElement(),daeOffsetOf(domFx_annotate_type_common,elemString)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemBool) ); + mea->setElementType( domFx_annotate_type_common::domBool::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemBool2) ); + mea->setElementType( domFx_annotate_type_common::domBool2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemBool3) ); + mea->setElementType( domFx_annotate_type_common::domBool3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemBool4) ); + mea->setElementType( domFx_annotate_type_common::domBool4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemInt) ); + mea->setElementType( domFx_annotate_type_common::domInt::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemInt2) ); + mea->setElementType( domFx_annotate_type_common::domInt2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemInt3) ); + mea->setElementType( domFx_annotate_type_common::domInt3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemInt4) ); + mea->setElementType( domFx_annotate_type_common::domInt4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat) ); + mea->setElementType( domFx_annotate_type_common::domFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat2) ); + mea->setElementType( domFx_annotate_type_common::domFloat2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat3) ); + mea->setElementType( domFx_annotate_type_common::domFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat4) ); + mea->setElementType( domFx_annotate_type_common::domFloat4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x2" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat2x2) ); + mea->setElementType( domFx_annotate_type_common::domFloat2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x3" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat3x3) ); + mea->setElementType( domFx_annotate_type_common::domFloat3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x4" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat4x4) ); + mea->setElementType( domFx_annotate_type_common::domFloat4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "string" ); + mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemString) ); + mea->setElementType( domFx_annotate_type_common::domString::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domFx_annotate_type_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domFx_annotate_type_common,_contentsOrder)); @@ -76,9 +167,9 @@ domFx_annotate_type_common::domBool::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domBool::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domBool::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -111,9 +202,9 @@ domFx_annotate_type_common::domBool2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domBool2::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domBool2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -146,9 +237,9 @@ domFx_annotate_type_common::domBool3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domBool3::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domBool3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -181,9 +272,9 @@ domFx_annotate_type_common::domBool4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domBool4::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domBool4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -216,9 +307,9 @@ domFx_annotate_type_common::domInt::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domInt::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domInt::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -251,9 +342,9 @@ domFx_annotate_type_common::domInt2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domInt2::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domInt2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -286,9 +377,9 @@ domFx_annotate_type_common::domInt3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domInt3::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domInt3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -321,9 +412,9 @@ domFx_annotate_type_common::domInt4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domInt4::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domInt4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -356,9 +447,9 @@ domFx_annotate_type_common::domFloat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domFloat::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domFloat::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -391,9 +482,9 @@ domFx_annotate_type_common::domFloat2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domFloat2::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domFloat2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -426,9 +517,9 @@ domFx_annotate_type_common::domFloat3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domFloat3::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domFloat3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -461,9 +552,9 @@ domFx_annotate_type_common::domFloat4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domFloat4::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domFloat4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -496,9 +587,9 @@ domFx_annotate_type_common::domFloat2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x2" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domFloat2x2::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domFloat2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -531,9 +622,9 @@ domFx_annotate_type_common::domFloat3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x3" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domFloat3x3::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domFloat3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -566,9 +657,9 @@ domFx_annotate_type_common::domFloat4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x4" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domFloat4x4::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domFloat4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -601,9 +692,9 @@ domFx_annotate_type_common::domString::registerElement() _Meta = new daeMetaElement; _Meta->setName( "string" ); - _Meta->setStaticPointerAddress(&domFx_annotate_type_common::domString::_Meta); _Meta->registerConstructor(domFx_annotate_type_common::domString::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_basic_type_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_basic_type_common.cpp index d1d633146..b73156a4c 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_basic_type_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_basic_type_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_basic_type_common::create(daeInt bytes) @@ -29,49 +35,234 @@ domFx_basic_type_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_basic_type_common" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::_Meta); _Meta->registerConstructor(domFx_basic_type_common::create); _Meta->setIsTransparent( true ); - // Add elements: bool, bool2, bool3, bool4, int, int2, int3, int4, float, float2, float3, float4, float1x1, float1x2, float1x3, float1x4, float2x1, float2x2, float2x3, float2x4, float3x1, float3x2, float3x3, float3x4, float4x1, float4x2, float4x3, float4x4, surface, sampler1D, sampler2D, sampler3D, samplerCUBE, samplerRECT, samplerDEPTH, enum - _Meta->appendElement(domFx_basic_type_common::domBool::registerElement(),daeOffsetOf(domFx_basic_type_common,elemBool)); - _Meta->appendElement(domFx_basic_type_common::domBool2::registerElement(),daeOffsetOf(domFx_basic_type_common,elemBool2)); - _Meta->appendElement(domFx_basic_type_common::domBool3::registerElement(),daeOffsetOf(domFx_basic_type_common,elemBool3)); - _Meta->appendElement(domFx_basic_type_common::domBool4::registerElement(),daeOffsetOf(domFx_basic_type_common,elemBool4)); - _Meta->appendElement(domFx_basic_type_common::domInt::registerElement(),daeOffsetOf(domFx_basic_type_common,elemInt)); - _Meta->appendElement(domFx_basic_type_common::domInt2::registerElement(),daeOffsetOf(domFx_basic_type_common,elemInt2)); - _Meta->appendElement(domFx_basic_type_common::domInt3::registerElement(),daeOffsetOf(domFx_basic_type_common,elemInt3)); - _Meta->appendElement(domFx_basic_type_common::domInt4::registerElement(),daeOffsetOf(domFx_basic_type_common,elemInt4)); - _Meta->appendElement(domFx_basic_type_common::domFloat::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat)); - _Meta->appendElement(domFx_basic_type_common::domFloat2::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat2)); - _Meta->appendElement(domFx_basic_type_common::domFloat3::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat3)); - _Meta->appendElement(domFx_basic_type_common::domFloat4::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat4)); - _Meta->appendElement(domFx_basic_type_common::domFloat1x1::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat1x1)); - _Meta->appendElement(domFx_basic_type_common::domFloat1x2::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat1x2)); - _Meta->appendElement(domFx_basic_type_common::domFloat1x3::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat1x3)); - _Meta->appendElement(domFx_basic_type_common::domFloat1x4::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat1x4)); - _Meta->appendElement(domFx_basic_type_common::domFloat2x1::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat2x1)); - _Meta->appendElement(domFx_basic_type_common::domFloat2x2::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat2x2)); - _Meta->appendElement(domFx_basic_type_common::domFloat2x3::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat2x3)); - _Meta->appendElement(domFx_basic_type_common::domFloat2x4::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat2x4)); - _Meta->appendElement(domFx_basic_type_common::domFloat3x1::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat3x1)); - _Meta->appendElement(domFx_basic_type_common::domFloat3x2::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat3x2)); - _Meta->appendElement(domFx_basic_type_common::domFloat3x3::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat3x3)); - _Meta->appendElement(domFx_basic_type_common::domFloat3x4::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat3x4)); - _Meta->appendElement(domFx_basic_type_common::domFloat4x1::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat4x1)); - _Meta->appendElement(domFx_basic_type_common::domFloat4x2::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat4x2)); - _Meta->appendElement(domFx_basic_type_common::domFloat4x3::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat4x3)); - _Meta->appendElement(domFx_basic_type_common::domFloat4x4::registerElement(),daeOffsetOf(domFx_basic_type_common,elemFloat4x4)); - _Meta->appendElement(domFx_surface_common::registerElement(),daeOffsetOf(domFx_basic_type_common,elemSurface),"surface"); - _Meta->appendElement(domFx_sampler1D_common::registerElement(),daeOffsetOf(domFx_basic_type_common,elemSampler1D),"sampler1D"); - _Meta->appendElement(domFx_sampler2D_common::registerElement(),daeOffsetOf(domFx_basic_type_common,elemSampler2D),"sampler2D"); - _Meta->appendElement(domFx_sampler3D_common::registerElement(),daeOffsetOf(domFx_basic_type_common,elemSampler3D),"sampler3D"); - _Meta->appendElement(domFx_samplerCUBE_common::registerElement(),daeOffsetOf(domFx_basic_type_common,elemSamplerCUBE),"samplerCUBE"); - _Meta->appendElement(domFx_samplerRECT_common::registerElement(),daeOffsetOf(domFx_basic_type_common,elemSamplerRECT),"samplerRECT"); - _Meta->appendElement(domFx_samplerDEPTH_common::registerElement(),daeOffsetOf(domFx_basic_type_common,elemSamplerDEPTH),"samplerDEPTH"); - _Meta->appendElement(domFx_basic_type_common::domEnum::registerElement(),daeOffsetOf(domFx_basic_type_common,elemEnum)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemBool) ); + mea->setElementType( domFx_basic_type_common::domBool::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemBool2) ); + mea->setElementType( domFx_basic_type_common::domBool2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemBool3) ); + mea->setElementType( domFx_basic_type_common::domBool3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemBool4) ); + mea->setElementType( domFx_basic_type_common::domBool4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemInt) ); + mea->setElementType( domFx_basic_type_common::domInt::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemInt2) ); + mea->setElementType( domFx_basic_type_common::domInt2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemInt3) ); + mea->setElementType( domFx_basic_type_common::domInt3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemInt4) ); + mea->setElementType( domFx_basic_type_common::domInt4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat) ); + mea->setElementType( domFx_basic_type_common::domFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2) ); + mea->setElementType( domFx_basic_type_common::domFloat2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3) ); + mea->setElementType( domFx_basic_type_common::domFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4) ); + mea->setElementType( domFx_basic_type_common::domFloat4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x1" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat1x1) ); + mea->setElementType( domFx_basic_type_common::domFloat1x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x2" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat1x2) ); + mea->setElementType( domFx_basic_type_common::domFloat1x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x3" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat1x3) ); + mea->setElementType( domFx_basic_type_common::domFloat1x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x4" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat1x4) ); + mea->setElementType( domFx_basic_type_common::domFloat1x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x1" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2x1) ); + mea->setElementType( domFx_basic_type_common::domFloat2x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x2" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2x2) ); + mea->setElementType( domFx_basic_type_common::domFloat2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x3" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2x3) ); + mea->setElementType( domFx_basic_type_common::domFloat2x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x4" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2x4) ); + mea->setElementType( domFx_basic_type_common::domFloat2x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x1" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3x1) ); + mea->setElementType( domFx_basic_type_common::domFloat3x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x2" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3x2) ); + mea->setElementType( domFx_basic_type_common::domFloat3x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x3" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3x3) ); + mea->setElementType( domFx_basic_type_common::domFloat3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x4" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3x4) ); + mea->setElementType( domFx_basic_type_common::domFloat3x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x1" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4x1) ); + mea->setElementType( domFx_basic_type_common::domFloat4x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x2" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4x2) ); + mea->setElementType( domFx_basic_type_common::domFloat4x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x3" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4x3) ); + mea->setElementType( domFx_basic_type_common::domFloat4x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x4" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4x4) ); + mea->setElementType( domFx_basic_type_common::domFloat4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "surface" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSurface) ); + mea->setElementType( domFx_surface_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler1D" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSampler1D) ); + mea->setElementType( domFx_sampler1D_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler2D" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSampler2D) ); + mea->setElementType( domFx_sampler2D_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler3D" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSampler3D) ); + mea->setElementType( domFx_sampler3D_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerCUBE" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSamplerCUBE) ); + mea->setElementType( domFx_samplerCUBE_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerRECT" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSamplerRECT) ); + mea->setElementType( domFx_samplerRECT_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerDEPTH" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSamplerDEPTH) ); + mea->setElementType( domFx_samplerDEPTH_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "enum" ); + mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemEnum) ); + mea->setElementType( domFx_basic_type_common::domEnum::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domFx_basic_type_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domFx_basic_type_common,_contentsOrder)); @@ -96,9 +287,9 @@ domFx_basic_type_common::domBool::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domBool::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domBool::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -131,9 +322,9 @@ domFx_basic_type_common::domBool2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domBool2::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domBool2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -166,9 +357,9 @@ domFx_basic_type_common::domBool3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domBool3::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domBool3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -201,9 +392,9 @@ domFx_basic_type_common::domBool4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domBool4::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domBool4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -236,9 +427,9 @@ domFx_basic_type_common::domInt::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domInt::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domInt::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -271,9 +462,9 @@ domFx_basic_type_common::domInt2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domInt2::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domInt2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -306,9 +497,9 @@ domFx_basic_type_common::domInt3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domInt3::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domInt3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -341,9 +532,9 @@ domFx_basic_type_common::domInt4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domInt4::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domInt4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -376,9 +567,9 @@ domFx_basic_type_common::domFloat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -411,9 +602,9 @@ domFx_basic_type_common::domFloat2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat2::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -446,9 +637,9 @@ domFx_basic_type_common::domFloat3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat3::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -481,9 +672,9 @@ domFx_basic_type_common::domFloat4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat4::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -516,9 +707,9 @@ domFx_basic_type_common::domFloat1x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x1" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat1x1::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat1x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -551,9 +742,9 @@ domFx_basic_type_common::domFloat1x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x2" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat1x2::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat1x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -586,9 +777,9 @@ domFx_basic_type_common::domFloat1x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x3" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat1x3::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat1x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -621,9 +812,9 @@ domFx_basic_type_common::domFloat1x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x4" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat1x4::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat1x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -656,9 +847,9 @@ domFx_basic_type_common::domFloat2x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x1" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat2x1::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat2x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -691,9 +882,9 @@ domFx_basic_type_common::domFloat2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x2" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat2x2::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -726,9 +917,9 @@ domFx_basic_type_common::domFloat2x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x3" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat2x3::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat2x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -761,9 +952,9 @@ domFx_basic_type_common::domFloat2x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x4" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat2x4::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat2x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -796,9 +987,9 @@ domFx_basic_type_common::domFloat3x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x1" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat3x1::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat3x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -831,9 +1022,9 @@ domFx_basic_type_common::domFloat3x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x2" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat3x2::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat3x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -866,9 +1057,9 @@ domFx_basic_type_common::domFloat3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x3" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat3x3::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -901,9 +1092,9 @@ domFx_basic_type_common::domFloat3x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x4" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat3x4::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat3x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -936,9 +1127,9 @@ domFx_basic_type_common::domFloat4x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x1" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat4x1::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat4x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -971,9 +1162,9 @@ domFx_basic_type_common::domFloat4x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x2" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat4x2::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat4x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1006,9 +1197,9 @@ domFx_basic_type_common::domFloat4x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x3" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat4x3::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat4x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1041,9 +1232,9 @@ domFx_basic_type_common::domFloat4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x4" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domFloat4x4::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domFloat4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1076,9 +1267,9 @@ domFx_basic_type_common::domEnum::registerElement() _Meta = new daeMetaElement; _Meta->setName( "enum" ); - _Meta->setStaticPointerAddress(&domFx_basic_type_common::domEnum::_Meta); _Meta->registerConstructor(domFx_basic_type_common::domEnum::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_clearcolor_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_clearcolor_common.cpp index 6759c851d..5fd9698c2 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_clearcolor_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_clearcolor_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_clearcolor_common::create(daeInt bytes) @@ -29,7 +35,6 @@ domFx_clearcolor_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_clearcolor_common" ); - _Meta->setStaticPointerAddress(&domFx_clearcolor_common::_Meta); _Meta->registerConstructor(domFx_clearcolor_common::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_cleardepth_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_cleardepth_common.cpp index d75b9d5b3..e6880377c 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_cleardepth_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_cleardepth_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_cleardepth_common::create(daeInt bytes) @@ -29,7 +35,6 @@ domFx_cleardepth_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_cleardepth_common" ); - _Meta->setStaticPointerAddress(&domFx_cleardepth_common::_Meta); _Meta->registerConstructor(domFx_cleardepth_common::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_clearstencil_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_clearstencil_common.cpp index a8e6ae1a0..055c2e8f4 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_clearstencil_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_clearstencil_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_clearstencil_common::create(daeInt bytes) @@ -29,7 +35,6 @@ domFx_clearstencil_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_clearstencil_common" ); - _Meta->setStaticPointerAddress(&domFx_clearstencil_common::_Meta); _Meta->registerConstructor(domFx_clearstencil_common::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_code_profile.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_code_profile.cpp index 3957311c2..8c2fcf4f9 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_code_profile.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_code_profile.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_code_profile::create(daeInt bytes) @@ -29,7 +35,6 @@ domFx_code_profile::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_code_profile" ); - _Meta->setStaticPointerAddress(&domFx_code_profile::_Meta); _Meta->registerConstructor(domFx_code_profile::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_colortarget_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_colortarget_common.cpp index 3c9895621..0d5e63edc 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_colortarget_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_colortarget_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_colortarget_common::create(daeInt bytes) @@ -29,7 +35,6 @@ domFx_colortarget_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_colortarget_common" ); - _Meta->setStaticPointerAddress(&domFx_colortarget_common::_Meta); _Meta->registerConstructor(domFx_colortarget_common::create); // Add attribute: _value @@ -55,6 +60,32 @@ domFx_colortarget_common::registerElement() _Meta->appendAttribute(ma); } + // Add attribute: face + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "face" ); + ma->setType( daeAtomicType::get("Fx_surface_face_enum")); + ma->setOffset( daeOffsetOf( domFx_colortarget_common , attrFace )); + ma->setContainer( _Meta ); + ma->setDefault( "POSITIVE_X"); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: mip + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "mip" ); + ma->setType( daeAtomicType::get("xsNonNegativeInteger")); + ma->setOffset( daeOffsetOf( domFx_colortarget_common , attrMip )); + ma->setContainer( _Meta ); + ma->setDefault( "0"); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + // Add attribute: slice { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_depthtarget_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_depthtarget_common.cpp index 11682b043..dc6ce70ec 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_depthtarget_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_depthtarget_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_depthtarget_common::create(daeInt bytes) @@ -29,7 +35,6 @@ domFx_depthtarget_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_depthtarget_common" ); - _Meta->setStaticPointerAddress(&domFx_depthtarget_common::_Meta); _Meta->registerConstructor(domFx_depthtarget_common::create); // Add attribute: _value @@ -55,6 +60,32 @@ domFx_depthtarget_common::registerElement() _Meta->appendAttribute(ma); } + // Add attribute: face + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "face" ); + ma->setType( daeAtomicType::get("Fx_surface_face_enum")); + ma->setOffset( daeOffsetOf( domFx_depthtarget_common , attrFace )); + ma->setContainer( _Meta ); + ma->setDefault( "POSITIVE_X"); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: mip + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "mip" ); + ma->setType( daeAtomicType::get("xsNonNegativeInteger")); + ma->setOffset( daeOffsetOf( domFx_depthtarget_common , attrMip )); + ma->setContainer( _Meta ); + ma->setDefault( "0"); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + // Add attribute: slice { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_include_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_include_common.cpp index aec941ddc..a0df4fd0a 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_include_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_include_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_include_common::create(daeInt bytes) @@ -30,7 +36,6 @@ domFx_include_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_include_common" ); - _Meta->setStaticPointerAddress(&domFx_include_common::_Meta); _Meta->registerConstructor(domFx_include_common::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_newparam_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_newparam_common.cpp index b5a4152ba..370920014 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_newparam_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_newparam_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_newparam_common::create(daeInt bytes) @@ -29,50 +35,38 @@ domFx_newparam_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_newparam_common" ); - _Meta->setStaticPointerAddress(&domFx_newparam_common::_Meta); _Meta->registerConstructor(domFx_newparam_common::create); - // Add elements: annotate, semantic, modifier, fx_basic_type_common - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domFx_newparam_common,elemAnnotate_array),"annotate"); - _Meta->appendElement(domFx_newparam_common::domSemantic::registerElement(),daeOffsetOf(domFx_newparam_common,elemSemantic)); - _Meta->appendElement(domFx_newparam_common::domModifier::registerElement(),daeOffsetOf(domFx_newparam_common,elemModifier)); - _Meta->appendElement(domFx_basic_type_common::registerElement(),daeOffsetOf(domFx_newparam_common,elemFx_basic_type_common)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[3], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[3], "fx_sampler1D_common"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[3], "fx_sampler2D_common"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[3], "fx_sampler3D_common"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[3], "fx_samplerCUBE_common"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[3], "fx_samplerRECT_common"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[3], "fx_samplerDEPTH_common"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[3]); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domFx_newparam_common,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "semantic" ); + mea->setOffset( daeOffsetOf(domFx_newparam_common,elemSemantic) ); + mea->setElementType( domFx_newparam_common::domSemantic::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "modifier" ); + mea->setOffset( daeOffsetOf(domFx_newparam_common,elemModifier) ); + mea->setElementType( domFx_newparam_common::domModifier::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "fx_basic_type_common" ); + mea->setOffset( daeOffsetOf(domFx_newparam_common,elemFx_basic_type_common) ); + mea->setElementType( domFx_basic_type_common::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 3, 1, 1 ) ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: sid { @@ -108,9 +102,9 @@ domFx_newparam_common::domSemantic::registerElement() _Meta = new daeMetaElement; _Meta->setName( "semantic" ); - _Meta->setStaticPointerAddress(&domFx_newparam_common::domSemantic::_Meta); _Meta->registerConstructor(domFx_newparam_common::domSemantic::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -143,9 +137,9 @@ domFx_newparam_common::domModifier::registerElement() _Meta = new daeMetaElement; _Meta->setName( "modifier" ); - _Meta->setStaticPointerAddress(&domFx_newparam_common::domModifier::_Meta); _Meta->registerConstructor(domFx_newparam_common::domModifier::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_profile_abstract.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_profile_abstract.cpp index 44b613aba..86bb54f0e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_profile_abstract.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_profile_abstract.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_profile_abstract::create(daeInt bytes) @@ -29,7 +35,6 @@ domFx_profile_abstract::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_profile_abstract" ); - _Meta->setStaticPointerAddress(&domFx_profile_abstract::_Meta); _Meta->registerConstructor(domFx_profile_abstract::create); _Meta->setIsAbstract( true ); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler1D_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler1D_common.cpp index e17faffdc..134f19e68 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler1D_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler1D_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_sampler1D_common::create(daeInt bytes) @@ -29,18 +35,68 @@ domFx_sampler1D_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_sampler1D_common" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::create); - // Add elements: source, wrap_s, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domFx_sampler1D_common::domSource::registerElement(),daeOffsetOf(domFx_sampler1D_common,elemSource)); - _Meta->appendElement(domFx_sampler1D_common::domWrap_s::registerElement(),daeOffsetOf(domFx_sampler1D_common,elemWrap_s)); - _Meta->appendElement(domFx_sampler1D_common::domMinfilter::registerElement(),daeOffsetOf(domFx_sampler1D_common,elemMinfilter)); - _Meta->appendElement(domFx_sampler1D_common::domMagfilter::registerElement(),daeOffsetOf(domFx_sampler1D_common,elemMagfilter)); - _Meta->appendElement(domFx_sampler1D_common::domMipfilter::registerElement(),daeOffsetOf(domFx_sampler1D_common,elemMipfilter)); - _Meta->appendElement(domFx_sampler1D_common::domBorder_color::registerElement(),daeOffsetOf(domFx_sampler1D_common,elemBorder_color)); - _Meta->appendElement(domFx_sampler1D_common::domMipmap_maxlevel::registerElement(),daeOffsetOf(domFx_sampler1D_common,elemMipmap_maxlevel)); - _Meta->appendElement(domFx_sampler1D_common::domMipmap_bias::registerElement(),daeOffsetOf(domFx_sampler1D_common,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemSource) ); + mea->setElementType( domFx_sampler1D_common::domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemWrap_s) ); + mea->setElementType( domFx_sampler1D_common::domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMinfilter) ); + mea->setElementType( domFx_sampler1D_common::domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMagfilter) ); + mea->setElementType( domFx_sampler1D_common::domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMipfilter) ); + mea->setElementType( domFx_sampler1D_common::domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemBorder_color) ); + mea->setElementType( domFx_sampler1D_common::domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMipmap_maxlevel) ); + mea->setElementType( domFx_sampler1D_common::domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMipmap_bias) ); + mea->setElementType( domFx_sampler1D_common::domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 8, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 8 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domFx_sampler1D_common)); @@ -64,9 +120,9 @@ domFx_sampler1D_common::domSource::registerElement() _Meta = new daeMetaElement; _Meta->setName( "source" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::domSource::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::domSource::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -99,9 +155,9 @@ domFx_sampler1D_common::domWrap_s::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_s" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::domWrap_s::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::domWrap_s::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -134,9 +190,9 @@ domFx_sampler1D_common::domMinfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "minfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::domMinfilter::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::domMinfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -169,9 +225,9 @@ domFx_sampler1D_common::domMagfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "magfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::domMagfilter::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::domMagfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -204,9 +260,9 @@ domFx_sampler1D_common::domMipfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::domMipfilter::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::domMipfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -239,9 +295,9 @@ domFx_sampler1D_common::domBorder_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "border_color" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::domBorder_color::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::domBorder_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -274,9 +330,9 @@ domFx_sampler1D_common::domMipmap_maxlevel::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_maxlevel" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::domMipmap_maxlevel::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::domMipmap_maxlevel::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -309,9 +365,9 @@ domFx_sampler1D_common::domMipmap_bias::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_bias" ); - _Meta->setStaticPointerAddress(&domFx_sampler1D_common::domMipmap_bias::_Meta); _Meta->registerConstructor(domFx_sampler1D_common::domMipmap_bias::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler2D_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler2D_common.cpp index 5b7321b0e..455443890 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler2D_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler2D_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_sampler2D_common::create(daeInt bytes) @@ -29,19 +35,74 @@ domFx_sampler2D_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_sampler2D_common" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domFx_sampler2D_common::domSource::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemSource)); - _Meta->appendElement(domFx_sampler2D_common::domWrap_s::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemWrap_s)); - _Meta->appendElement(domFx_sampler2D_common::domWrap_t::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemWrap_t)); - _Meta->appendElement(domFx_sampler2D_common::domMinfilter::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemMinfilter)); - _Meta->appendElement(domFx_sampler2D_common::domMagfilter::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemMagfilter)); - _Meta->appendElement(domFx_sampler2D_common::domMipfilter::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemMipfilter)); - _Meta->appendElement(domFx_sampler2D_common::domBorder_color::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemBorder_color)); - _Meta->appendElement(domFx_sampler2D_common::domMipmap_maxlevel::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemMipmap_maxlevel)); - _Meta->appendElement(domFx_sampler2D_common::domMipmap_bias::registerElement(),daeOffsetOf(domFx_sampler2D_common,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemSource) ); + mea->setElementType( domFx_sampler2D_common::domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemWrap_s) ); + mea->setElementType( domFx_sampler2D_common::domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemWrap_t) ); + mea->setElementType( domFx_sampler2D_common::domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMinfilter) ); + mea->setElementType( domFx_sampler2D_common::domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMagfilter) ); + mea->setElementType( domFx_sampler2D_common::domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMipfilter) ); + mea->setElementType( domFx_sampler2D_common::domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemBorder_color) ); + mea->setElementType( domFx_sampler2D_common::domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMipmap_maxlevel) ); + mea->setElementType( domFx_sampler2D_common::domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMipmap_bias) ); + mea->setElementType( domFx_sampler2D_common::domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 9, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 9 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domFx_sampler2D_common)); @@ -65,9 +126,9 @@ domFx_sampler2D_common::domSource::registerElement() _Meta = new daeMetaElement; _Meta->setName( "source" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domSource::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domSource::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -100,9 +161,9 @@ domFx_sampler2D_common::domWrap_s::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_s" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domWrap_s::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domWrap_s::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -135,9 +196,9 @@ domFx_sampler2D_common::domWrap_t::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_t" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domWrap_t::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domWrap_t::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -170,9 +231,9 @@ domFx_sampler2D_common::domMinfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "minfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domMinfilter::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domMinfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -205,9 +266,9 @@ domFx_sampler2D_common::domMagfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "magfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domMagfilter::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domMagfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -240,9 +301,9 @@ domFx_sampler2D_common::domMipfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domMipfilter::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domMipfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -275,9 +336,9 @@ domFx_sampler2D_common::domBorder_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "border_color" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domBorder_color::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domBorder_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -310,9 +371,9 @@ domFx_sampler2D_common::domMipmap_maxlevel::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_maxlevel" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domMipmap_maxlevel::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domMipmap_maxlevel::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -345,9 +406,9 @@ domFx_sampler2D_common::domMipmap_bias::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_bias" ); - _Meta->setStaticPointerAddress(&domFx_sampler2D_common::domMipmap_bias::_Meta); _Meta->registerConstructor(domFx_sampler2D_common::domMipmap_bias::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler3D_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler3D_common.cpp index bf1dfbf7a..b2fa1e92c 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler3D_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_sampler3D_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_sampler3D_common::create(daeInt bytes) @@ -29,20 +35,80 @@ domFx_sampler3D_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_sampler3D_common" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::create); - // Add elements: source, wrap_s, wrap_t, wrap_p, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domFx_sampler3D_common::domSource::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemSource)); - _Meta->appendElement(domFx_sampler3D_common::domWrap_s::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemWrap_s)); - _Meta->appendElement(domFx_sampler3D_common::domWrap_t::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemWrap_t)); - _Meta->appendElement(domFx_sampler3D_common::domWrap_p::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemWrap_p)); - _Meta->appendElement(domFx_sampler3D_common::domMinfilter::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemMinfilter)); - _Meta->appendElement(domFx_sampler3D_common::domMagfilter::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemMagfilter)); - _Meta->appendElement(domFx_sampler3D_common::domMipfilter::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemMipfilter)); - _Meta->appendElement(domFx_sampler3D_common::domBorder_color::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemBorder_color)); - _Meta->appendElement(domFx_sampler3D_common::domMipmap_maxlevel::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemMipmap_maxlevel)); - _Meta->appendElement(domFx_sampler3D_common::domMipmap_bias::registerElement(),daeOffsetOf(domFx_sampler3D_common,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemSource) ); + mea->setElementType( domFx_sampler3D_common::domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemWrap_s) ); + mea->setElementType( domFx_sampler3D_common::domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemWrap_t) ); + mea->setElementType( domFx_sampler3D_common::domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "wrap_p" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemWrap_p) ); + mea->setElementType( domFx_sampler3D_common::domWrap_p::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMinfilter) ); + mea->setElementType( domFx_sampler3D_common::domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMagfilter) ); + mea->setElementType( domFx_sampler3D_common::domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMipfilter) ); + mea->setElementType( domFx_sampler3D_common::domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemBorder_color) ); + mea->setElementType( domFx_sampler3D_common::domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMipmap_maxlevel) ); + mea->setElementType( domFx_sampler3D_common::domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 9, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMipmap_bias) ); + mea->setElementType( domFx_sampler3D_common::domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 10, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 10 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domFx_sampler3D_common)); @@ -66,9 +132,9 @@ domFx_sampler3D_common::domSource::registerElement() _Meta = new daeMetaElement; _Meta->setName( "source" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domSource::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domSource::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -101,9 +167,9 @@ domFx_sampler3D_common::domWrap_s::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_s" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domWrap_s::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domWrap_s::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -136,9 +202,9 @@ domFx_sampler3D_common::domWrap_t::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_t" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domWrap_t::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domWrap_t::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -171,9 +237,9 @@ domFx_sampler3D_common::domWrap_p::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_p" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domWrap_p::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domWrap_p::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -206,9 +272,9 @@ domFx_sampler3D_common::domMinfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "minfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domMinfilter::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domMinfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -241,9 +307,9 @@ domFx_sampler3D_common::domMagfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "magfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domMagfilter::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domMagfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -276,9 +342,9 @@ domFx_sampler3D_common::domMipfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipfilter" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domMipfilter::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domMipfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -311,9 +377,9 @@ domFx_sampler3D_common::domBorder_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "border_color" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domBorder_color::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domBorder_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -346,9 +412,9 @@ domFx_sampler3D_common::domMipmap_maxlevel::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_maxlevel" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domMipmap_maxlevel::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domMipmap_maxlevel::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -381,9 +447,9 @@ domFx_sampler3D_common::domMipmap_bias::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_bias" ); - _Meta->setStaticPointerAddress(&domFx_sampler3D_common::domMipmap_bias::_Meta); _Meta->registerConstructor(domFx_sampler3D_common::domMipmap_bias::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerCUBE_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerCUBE_common.cpp index eab729897..454bbbb99 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerCUBE_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerCUBE_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_samplerCUBE_common::create(daeInt bytes) @@ -29,20 +35,80 @@ domFx_samplerCUBE_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_samplerCUBE_common" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::create); - // Add elements: source, wrap_s, wrap_t, wrap_p, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domFx_samplerCUBE_common::domSource::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemSource)); - _Meta->appendElement(domFx_samplerCUBE_common::domWrap_s::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemWrap_s)); - _Meta->appendElement(domFx_samplerCUBE_common::domWrap_t::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemWrap_t)); - _Meta->appendElement(domFx_samplerCUBE_common::domWrap_p::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemWrap_p)); - _Meta->appendElement(domFx_samplerCUBE_common::domMinfilter::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemMinfilter)); - _Meta->appendElement(domFx_samplerCUBE_common::domMagfilter::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemMagfilter)); - _Meta->appendElement(domFx_samplerCUBE_common::domMipfilter::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemMipfilter)); - _Meta->appendElement(domFx_samplerCUBE_common::domBorder_color::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemBorder_color)); - _Meta->appendElement(domFx_samplerCUBE_common::domMipmap_maxlevel::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemMipmap_maxlevel)); - _Meta->appendElement(domFx_samplerCUBE_common::domMipmap_bias::registerElement(),daeOffsetOf(domFx_samplerCUBE_common,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemSource) ); + mea->setElementType( domFx_samplerCUBE_common::domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemWrap_s) ); + mea->setElementType( domFx_samplerCUBE_common::domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemWrap_t) ); + mea->setElementType( domFx_samplerCUBE_common::domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "wrap_p" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemWrap_p) ); + mea->setElementType( domFx_samplerCUBE_common::domWrap_p::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMinfilter) ); + mea->setElementType( domFx_samplerCUBE_common::domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMagfilter) ); + mea->setElementType( domFx_samplerCUBE_common::domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMipfilter) ); + mea->setElementType( domFx_samplerCUBE_common::domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemBorder_color) ); + mea->setElementType( domFx_samplerCUBE_common::domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMipmap_maxlevel) ); + mea->setElementType( domFx_samplerCUBE_common::domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 9, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMipmap_bias) ); + mea->setElementType( domFx_samplerCUBE_common::domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 10, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 10 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domFx_samplerCUBE_common)); @@ -66,9 +132,9 @@ domFx_samplerCUBE_common::domSource::registerElement() _Meta = new daeMetaElement; _Meta->setName( "source" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domSource::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domSource::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -101,9 +167,9 @@ domFx_samplerCUBE_common::domWrap_s::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_s" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domWrap_s::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domWrap_s::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -136,9 +202,9 @@ domFx_samplerCUBE_common::domWrap_t::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_t" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domWrap_t::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domWrap_t::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -171,9 +237,9 @@ domFx_samplerCUBE_common::domWrap_p::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_p" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domWrap_p::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domWrap_p::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -206,9 +272,9 @@ domFx_samplerCUBE_common::domMinfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "minfilter" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domMinfilter::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domMinfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -241,9 +307,9 @@ domFx_samplerCUBE_common::domMagfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "magfilter" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domMagfilter::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domMagfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -276,9 +342,9 @@ domFx_samplerCUBE_common::domMipfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipfilter" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domMipfilter::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domMipfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -311,9 +377,9 @@ domFx_samplerCUBE_common::domBorder_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "border_color" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domBorder_color::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domBorder_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -346,9 +412,9 @@ domFx_samplerCUBE_common::domMipmap_maxlevel::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_maxlevel" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domMipmap_maxlevel::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domMipmap_maxlevel::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -381,9 +447,9 @@ domFx_samplerCUBE_common::domMipmap_bias::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_bias" ); - _Meta->setStaticPointerAddress(&domFx_samplerCUBE_common::domMipmap_bias::_Meta); _Meta->registerConstructor(domFx_samplerCUBE_common::domMipmap_bias::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerDEPTH_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerDEPTH_common.cpp index b5903d648..b36247ca6 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerDEPTH_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerDEPTH_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_samplerDEPTH_common::create(daeInt bytes) @@ -29,15 +35,50 @@ domFx_samplerDEPTH_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_samplerDEPTH_common" ); - _Meta->setStaticPointerAddress(&domFx_samplerDEPTH_common::_Meta); _Meta->registerConstructor(domFx_samplerDEPTH_common::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter - _Meta->appendElement(domFx_samplerDEPTH_common::domSource::registerElement(),daeOffsetOf(domFx_samplerDEPTH_common,elemSource)); - _Meta->appendElement(domFx_samplerDEPTH_common::domWrap_s::registerElement(),daeOffsetOf(domFx_samplerDEPTH_common,elemWrap_s)); - _Meta->appendElement(domFx_samplerDEPTH_common::domWrap_t::registerElement(),daeOffsetOf(domFx_samplerDEPTH_common,elemWrap_t)); - _Meta->appendElement(domFx_samplerDEPTH_common::domMinfilter::registerElement(),daeOffsetOf(domFx_samplerDEPTH_common,elemMinfilter)); - _Meta->appendElement(domFx_samplerDEPTH_common::domMagfilter::registerElement(),daeOffsetOf(domFx_samplerDEPTH_common,elemMagfilter)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemSource) ); + mea->setElementType( domFx_samplerDEPTH_common::domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemWrap_s) ); + mea->setElementType( domFx_samplerDEPTH_common::domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemWrap_t) ); + mea->setElementType( domFx_samplerDEPTH_common::domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemMinfilter) ); + mea->setElementType( domFx_samplerDEPTH_common::domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemMagfilter) ); + mea->setElementType( domFx_samplerDEPTH_common::domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 5 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domFx_samplerDEPTH_common)); @@ -61,9 +102,9 @@ domFx_samplerDEPTH_common::domSource::registerElement() _Meta = new daeMetaElement; _Meta->setName( "source" ); - _Meta->setStaticPointerAddress(&domFx_samplerDEPTH_common::domSource::_Meta); _Meta->registerConstructor(domFx_samplerDEPTH_common::domSource::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -96,9 +137,9 @@ domFx_samplerDEPTH_common::domWrap_s::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_s" ); - _Meta->setStaticPointerAddress(&domFx_samplerDEPTH_common::domWrap_s::_Meta); _Meta->registerConstructor(domFx_samplerDEPTH_common::domWrap_s::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -131,9 +172,9 @@ domFx_samplerDEPTH_common::domWrap_t::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_t" ); - _Meta->setStaticPointerAddress(&domFx_samplerDEPTH_common::domWrap_t::_Meta); _Meta->registerConstructor(domFx_samplerDEPTH_common::domWrap_t::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -166,9 +207,9 @@ domFx_samplerDEPTH_common::domMinfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "minfilter" ); - _Meta->setStaticPointerAddress(&domFx_samplerDEPTH_common::domMinfilter::_Meta); _Meta->registerConstructor(domFx_samplerDEPTH_common::domMinfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -201,9 +242,9 @@ domFx_samplerDEPTH_common::domMagfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "magfilter" ); - _Meta->setStaticPointerAddress(&domFx_samplerDEPTH_common::domMagfilter::_Meta); _Meta->registerConstructor(domFx_samplerDEPTH_common::domMagfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerRECT_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerRECT_common.cpp index 2b0120419..ce2821c78 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerRECT_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_samplerRECT_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_samplerRECT_common::create(daeInt bytes) @@ -29,19 +35,74 @@ domFx_samplerRECT_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_samplerRECT_common" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domFx_samplerRECT_common::domSource::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemSource)); - _Meta->appendElement(domFx_samplerRECT_common::domWrap_s::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemWrap_s)); - _Meta->appendElement(domFx_samplerRECT_common::domWrap_t::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemWrap_t)); - _Meta->appendElement(domFx_samplerRECT_common::domMinfilter::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemMinfilter)); - _Meta->appendElement(domFx_samplerRECT_common::domMagfilter::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemMagfilter)); - _Meta->appendElement(domFx_samplerRECT_common::domMipfilter::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemMipfilter)); - _Meta->appendElement(domFx_samplerRECT_common::domBorder_color::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemBorder_color)); - _Meta->appendElement(domFx_samplerRECT_common::domMipmap_maxlevel::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemMipmap_maxlevel)); - _Meta->appendElement(domFx_samplerRECT_common::domMipmap_bias::registerElement(),daeOffsetOf(domFx_samplerRECT_common,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemSource) ); + mea->setElementType( domFx_samplerRECT_common::domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemWrap_s) ); + mea->setElementType( domFx_samplerRECT_common::domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemWrap_t) ); + mea->setElementType( domFx_samplerRECT_common::domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMinfilter) ); + mea->setElementType( domFx_samplerRECT_common::domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMagfilter) ); + mea->setElementType( domFx_samplerRECT_common::domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMipfilter) ); + mea->setElementType( domFx_samplerRECT_common::domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemBorder_color) ); + mea->setElementType( domFx_samplerRECT_common::domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMipmap_maxlevel) ); + mea->setElementType( domFx_samplerRECT_common::domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMipmap_bias) ); + mea->setElementType( domFx_samplerRECT_common::domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 9, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 9 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domFx_samplerRECT_common)); @@ -65,9 +126,9 @@ domFx_samplerRECT_common::domSource::registerElement() _Meta = new daeMetaElement; _Meta->setName( "source" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domSource::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domSource::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -100,9 +161,9 @@ domFx_samplerRECT_common::domWrap_s::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_s" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domWrap_s::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domWrap_s::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -135,9 +196,9 @@ domFx_samplerRECT_common::domWrap_t::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_t" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domWrap_t::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domWrap_t::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -170,9 +231,9 @@ domFx_samplerRECT_common::domMinfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "minfilter" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domMinfilter::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domMinfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -205,9 +266,9 @@ domFx_samplerRECT_common::domMagfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "magfilter" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domMagfilter::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domMagfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -240,9 +301,9 @@ domFx_samplerRECT_common::domMipfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipfilter" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domMipfilter::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domMipfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -275,9 +336,9 @@ domFx_samplerRECT_common::domBorder_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "border_color" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domBorder_color::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domBorder_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -310,9 +371,9 @@ domFx_samplerRECT_common::domMipmap_maxlevel::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_maxlevel" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domMipmap_maxlevel::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domMipmap_maxlevel::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -345,9 +406,9 @@ domFx_samplerRECT_common::domMipmap_bias::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_bias" ); - _Meta->setStaticPointerAddress(&domFx_samplerRECT_common::domMipmap_bias::_Meta); _Meta->registerConstructor(domFx_samplerRECT_common::domMipmap_bias::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_setparam_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_setparam_common.cpp deleted file mode 100644 index 6e7a14dc9..000000000 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_setparam_common.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2006 Sony Computer Entertainment Inc. - * - * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this - * file except in compliance with the License. You may obtain a copy of the License at: - * http://research.scea.com/scea_shared_source_license.html - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - * implied. See the License for the specific language governing permissions and limitations under the - * License. - */ - -#include -#include - -daeElementRef -domFx_setparam_common::create(daeInt bytes) -{ - domFx_setparam_commonRef ref = new(bytes) domFx_setparam_common; - return ref; -} - - -daeMetaElement * -domFx_setparam_common::registerElement() -{ - if ( _Meta != NULL ) return _Meta; - - _Meta = new daeMetaElement; - _Meta->setName( "fx_setparam_common" ); - _Meta->setStaticPointerAddress(&domFx_setparam_common::_Meta); - _Meta->registerConstructor(domFx_setparam_common::create); - - // Add elements: annotate, fx_basic_type_common - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domFx_setparam_common,elemAnnotate_array),"annotate"); - _Meta->appendElement(domFx_basic_type_common::registerElement(),daeOffsetOf(domFx_setparam_common,elemFx_basic_type_common)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[1], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[1], "fx_sampler1D_common"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[1], "fx_sampler2D_common"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[1], "fx_sampler3D_common"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[1], "fx_samplerCUBE_common"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[1], "fx_samplerRECT_common"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[1], "fx_samplerDEPTH_common"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[1]); - - // Add attribute: ref - { - daeMetaAttribute *ma = new daeMetaAttribute; - ma->setName( "ref" ); - ma->setType( daeAtomicType::get("xsNCName")); - ma->setOffset( daeOffsetOf( domFx_setparam_common , attrRef )); - ma->setContainer( _Meta ); - ma->setIsRequired( true ); - - _Meta->appendAttribute(ma); - } - - - _Meta->setElementSize(sizeof(domFx_setparam_common)); - _Meta->validate(); - - return _Meta; -} - - -daeMetaElement * domFx_setparam_common::_Meta = NULL; - - diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_stenciltarget_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_stenciltarget_common.cpp index 07273be58..f5d25d354 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_stenciltarget_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_stenciltarget_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_stenciltarget_common::create(daeInt bytes) @@ -29,7 +35,6 @@ domFx_stenciltarget_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_stenciltarget_common" ); - _Meta->setStaticPointerAddress(&domFx_stenciltarget_common::_Meta); _Meta->registerConstructor(domFx_stenciltarget_common::create); // Add attribute: _value @@ -55,6 +60,32 @@ domFx_stenciltarget_common::registerElement() _Meta->appendAttribute(ma); } + // Add attribute: face + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "face" ); + ma->setType( daeAtomicType::get("Fx_surface_face_enum")); + ma->setOffset( daeOffsetOf( domFx_stenciltarget_common , attrFace )); + ma->setContainer( _Meta ); + ma->setDefault( "POSITIVE_X"); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: mip + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "mip" ); + ma->setType( daeAtomicType::get("xsNonNegativeInteger")); + ma->setOffset( daeOffsetOf( domFx_stenciltarget_common , attrMip )); + ma->setContainer( _Meta ); + ma->setDefault( "0"); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + // Add attribute: slice { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_common.cpp index 39194b4cb..047a431a5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domFx_surface_common::create(daeInt bytes) @@ -29,18 +35,71 @@ domFx_surface_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fx_surface_common" ); - _Meta->setStaticPointerAddress(&domFx_surface_common::_Meta); _Meta->registerConstructor(domFx_surface_common::create); - // Add elements: init_from, format, size, viewport_ratio, mip_levels, mipmap_generate - _Meta->appendArrayElement(domFx_surface_common::domInit_from::registerElement(),daeOffsetOf(domFx_surface_common,elemInit_from_array)); - _Meta->appendElement(domFx_surface_common::domFormat::registerElement(),daeOffsetOf(domFx_surface_common,elemFormat)); - _Meta->appendElement(domFx_surface_common::domSize::registerElement(),daeOffsetOf(domFx_surface_common,elemSize)); - _Meta->appendElement(domFx_surface_common::domViewport_ratio::registerElement(),daeOffsetOf(domFx_surface_common,elemViewport_ratio)); - _Meta->appendElement(domFx_surface_common::domMip_levels::registerElement(),daeOffsetOf(domFx_surface_common,elemMip_levels)); - _Meta->appendElement(domFx_surface_common::domMipmap_generate::registerElement(),daeOffsetOf(domFx_surface_common,elemMipmap_generate)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "fx_surface_init_common" ); + mea->setOffset( daeOffsetOf(domFx_surface_common,elemFx_surface_init_common) ); + mea->setElementType( domFx_surface_init_common::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 0, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "format" ); + mea->setOffset( daeOffsetOf(domFx_surface_common,elemFormat) ); + mea->setElementType( domFx_surface_common::domFormat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "format_hint" ); + mea->setOffset( daeOffsetOf(domFx_surface_common,elemFormat_hint) ); + mea->setElementType( domFx_surface_format_hint_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 3, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "size" ); + mea->setOffset( daeOffsetOf(domFx_surface_common,elemSize) ); + mea->setElementType( domFx_surface_common::domSize::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "viewport_ratio" ); + mea->setOffset( daeOffsetOf(domFx_surface_common,elemViewport_ratio) ); + mea->setElementType( domFx_surface_common::domViewport_ratio::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "mip_levels" ); + mea->setOffset( daeOffsetOf(domFx_surface_common,elemMip_levels) ); + mea->setElementType( domFx_surface_common::domMip_levels::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipmap_generate" ); + mea->setOffset( daeOffsetOf(domFx_surface_common,elemMipmap_generate) ); + mea->setElementType( domFx_surface_common::domMipmap_generate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domFx_surface_common,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 6 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domFx_surface_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domFx_surface_common,_contentsOrder)); // Add attribute: type @@ -62,77 +121,6 @@ domFx_surface_common::registerElement() return _Meta; } -daeElementRef -domFx_surface_common::domInit_from::create(daeInt bytes) -{ - domFx_surface_common::domInit_fromRef ref = new(bytes) domFx_surface_common::domInit_from; - return ref; -} - - -daeMetaElement * -domFx_surface_common::domInit_from::registerElement() -{ - if ( _Meta != NULL ) return _Meta; - - _Meta = new daeMetaElement; - _Meta->setName( "init_from" ); - _Meta->setStaticPointerAddress(&domFx_surface_common::domInit_from::_Meta); - _Meta->registerConstructor(domFx_surface_common::domInit_from::create); - - // Add attribute: _value - { - daeMetaAttribute *ma = new daeMetaArrayAttribute; - ma->setName( "_value" ); - ma->setType( daeAtomicType::get("xsIDREFS")); - ma->setOffset( daeOffsetOf( domFx_surface_common::domInit_from , _value )); - ma->setContainer( _Meta ); - _Meta->appendAttribute(ma); - } - - // Add attribute: mip - { - daeMetaAttribute *ma = new daeMetaAttribute; - ma->setName( "mip" ); - ma->setType( daeAtomicType::get("xsUnsignedInt")); - ma->setOffset( daeOffsetOf( domFx_surface_common::domInit_from , attrMip )); - ma->setContainer( _Meta ); - ma->setDefault( "0"); - - _Meta->appendAttribute(ma); - } - - // Add attribute: slice - { - daeMetaAttribute *ma = new daeMetaAttribute; - ma->setName( "slice" ); - ma->setType( daeAtomicType::get("xsUnsignedInt")); - ma->setOffset( daeOffsetOf( domFx_surface_common::domInit_from , attrSlice )); - ma->setContainer( _Meta ); - ma->setDefault( "0"); - - _Meta->appendAttribute(ma); - } - - // Add attribute: face - { - daeMetaAttribute *ma = new daeMetaAttribute; - ma->setName( "face" ); - ma->setType( daeAtomicType::get("Fx_surface_face_enum")); - ma->setOffset( daeOffsetOf( domFx_surface_common::domInit_from , attrFace )); - ma->setContainer( _Meta ); - ma->setDefault( "POSITIVE_X"); - - _Meta->appendAttribute(ma); - } - - - _Meta->setElementSize(sizeof(domFx_surface_common::domInit_from)); - _Meta->validate(); - - return _Meta; -} - daeElementRef domFx_surface_common::domFormat::create(daeInt bytes) { @@ -148,14 +136,14 @@ domFx_surface_common::domFormat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "format" ); - _Meta->setStaticPointerAddress(&domFx_surface_common::domFormat::_Meta); _Meta->registerConstructor(domFx_surface_common::domFormat::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; ma->setName( "_value" ); - ma->setType( daeAtomicType::get("xsString")); + ma->setType( daeAtomicType::get("xsToken")); ma->setOffset( daeOffsetOf( domFx_surface_common::domFormat , _value )); ma->setContainer( _Meta ); _Meta->appendAttribute(ma); @@ -183,9 +171,9 @@ domFx_surface_common::domSize::registerElement() _Meta = new daeMetaElement; _Meta->setName( "size" ); - _Meta->setStaticPointerAddress(&domFx_surface_common::domSize::_Meta); _Meta->registerConstructor(domFx_surface_common::domSize::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -218,9 +206,9 @@ domFx_surface_common::domViewport_ratio::registerElement() _Meta = new daeMetaElement; _Meta->setName( "viewport_ratio" ); - _Meta->setStaticPointerAddress(&domFx_surface_common::domViewport_ratio::_Meta); _Meta->registerConstructor(domFx_surface_common::domViewport_ratio::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -253,9 +241,9 @@ domFx_surface_common::domMip_levels::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mip_levels" ); - _Meta->setStaticPointerAddress(&domFx_surface_common::domMip_levels::_Meta); _Meta->registerConstructor(domFx_surface_common::domMip_levels::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -288,9 +276,9 @@ domFx_surface_common::domMipmap_generate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_generate" ); - _Meta->setStaticPointerAddress(&domFx_surface_common::domMipmap_generate::_Meta); _Meta->registerConstructor(domFx_surface_common::domMipmap_generate::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -310,7 +298,6 @@ domFx_surface_common::domMipmap_generate::registerElement() daeMetaElement * domFx_surface_common::_Meta = NULL; -daeMetaElement * domFx_surface_common::domInit_from::_Meta = NULL; daeMetaElement * domFx_surface_common::domFormat::_Meta = NULL; daeMetaElement * domFx_surface_common::domSize::_Meta = NULL; daeMetaElement * domFx_surface_common::domViewport_ratio::_Meta = NULL; @@ -318,3 +305,18 @@ daeMetaElement * domFx_surface_common::domMip_levels::_Meta = NULL; daeMetaElement * domFx_surface_common::domMipmap_generate::_Meta = NULL; +//Backwards Compatibility functions +domFx_surface_common_complexType::domInit_from_Array &domFx_surface_common_complexType::getInit_from_array() { + if (elemFx_surface_init_common != NULL ) { + return elemFx_surface_init_common->getInit_from_array(); + } + return emptyArray; +} + +const domFx_surface_common_complexType::domInit_from_Array &domFx_surface_common_complexType::getInit_from_array() const { + if (elemFx_surface_init_common != NULL ) { + return elemFx_surface_init_common->getInit_from_array(); + } + return emptyArray; +} + diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_format_hint_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_format_hint_common.cpp new file mode 100644 index 000000000..bdb49c3d0 --- /dev/null +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_format_hint_common.cpp @@ -0,0 +1,231 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +daeElementRef +domFx_surface_format_hint_common::create(daeInt bytes) +{ + domFx_surface_format_hint_commonRef ref = new(bytes) domFx_surface_format_hint_common; + return ref; +} + + +daeMetaElement * +domFx_surface_format_hint_common::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "fx_surface_format_hint_common" ); + _Meta->registerConstructor(domFx_surface_format_hint_common::create); + + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "channels" ); + mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemChannels) ); + mea->setElementType( domFx_surface_format_hint_common::domChannels::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "range" ); + mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemRange) ); + mea->setElementType( domFx_surface_format_hint_common::domRange::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "precision" ); + mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemPrecision) ); + mea->setElementType( domFx_surface_format_hint_common::domPrecision::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "option" ); + mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemOption_array) ); + mea->setElementType( domFx_surface_format_hint_common::domOption::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 4 ); + _Meta->setCMRoot( cm ); + + + _Meta->setElementSize(sizeof(domFx_surface_format_hint_common)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_format_hint_common::domChannels::create(daeInt bytes) +{ + domFx_surface_format_hint_common::domChannelsRef ref = new(bytes) domFx_surface_format_hint_common::domChannels; + return ref; +} + + +daeMetaElement * +domFx_surface_format_hint_common::domChannels::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "channels" ); + _Meta->registerConstructor(domFx_surface_format_hint_common::domChannels::create); + + _Meta->setIsInnerClass( true ); + // Add attribute: _value + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "_value" ); + ma->setType( daeAtomicType::get("Fx_surface_format_hint_channels_enum")); + ma->setOffset( daeOffsetOf( domFx_surface_format_hint_common::domChannels , _value )); + ma->setContainer( _Meta ); + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_format_hint_common::domChannels)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_format_hint_common::domRange::create(daeInt bytes) +{ + domFx_surface_format_hint_common::domRangeRef ref = new(bytes) domFx_surface_format_hint_common::domRange; + return ref; +} + + +daeMetaElement * +domFx_surface_format_hint_common::domRange::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "range" ); + _Meta->registerConstructor(domFx_surface_format_hint_common::domRange::create); + + _Meta->setIsInnerClass( true ); + // Add attribute: _value + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "_value" ); + ma->setType( daeAtomicType::get("Fx_surface_format_hint_range_enum")); + ma->setOffset( daeOffsetOf( domFx_surface_format_hint_common::domRange , _value )); + ma->setContainer( _Meta ); + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_format_hint_common::domRange)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_format_hint_common::domPrecision::create(daeInt bytes) +{ + domFx_surface_format_hint_common::domPrecisionRef ref = new(bytes) domFx_surface_format_hint_common::domPrecision; + return ref; +} + + +daeMetaElement * +domFx_surface_format_hint_common::domPrecision::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "precision" ); + _Meta->registerConstructor(domFx_surface_format_hint_common::domPrecision::create); + + _Meta->setIsInnerClass( true ); + // Add attribute: _value + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "_value" ); + ma->setType( daeAtomicType::get("Fx_surface_format_hint_precision_enum")); + ma->setOffset( daeOffsetOf( domFx_surface_format_hint_common::domPrecision , _value )); + ma->setContainer( _Meta ); + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_format_hint_common::domPrecision)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_format_hint_common::domOption::create(daeInt bytes) +{ + domFx_surface_format_hint_common::domOptionRef ref = new(bytes) domFx_surface_format_hint_common::domOption; + return ref; +} + + +daeMetaElement * +domFx_surface_format_hint_common::domOption::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "option" ); + _Meta->registerConstructor(domFx_surface_format_hint_common::domOption::create); + + _Meta->setIsInnerClass( true ); + // Add attribute: _value + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "_value" ); + ma->setType( daeAtomicType::get("Fx_surface_format_hint_option_enum")); + ma->setOffset( daeOffsetOf( domFx_surface_format_hint_common::domOption , _value )); + ma->setContainer( _Meta ); + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_format_hint_common::domOption)); + _Meta->validate(); + + return _Meta; +} + + +daeMetaElement * domFx_surface_format_hint_common::_Meta = NULL; +daeMetaElement * domFx_surface_format_hint_common::domChannels::_Meta = NULL; +daeMetaElement * domFx_surface_format_hint_common::domRange::_Meta = NULL; +daeMetaElement * domFx_surface_format_hint_common::domPrecision::_Meta = NULL; +daeMetaElement * domFx_surface_format_hint_common::domOption::_Meta = NULL; + + diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_common.cpp new file mode 100644 index 000000000..322636aa1 --- /dev/null +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_common.cpp @@ -0,0 +1,152 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +daeElementRef +domFx_surface_init_common::create(daeInt bytes) +{ + domFx_surface_init_commonRef ref = new(bytes) domFx_surface_init_common; + return ref; +} + + +daeMetaElement * +domFx_surface_init_common::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "fx_surface_init_common" ); + _Meta->registerConstructor(domFx_surface_init_common::create); + + _Meta->setIsTransparent( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "init_as_null" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_as_null) ); + mea->setElementType( domFx_surface_init_common::domInit_as_null::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "init_as_target" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_as_target) ); + mea->setElementType( domFx_surface_init_common::domInit_as_target::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "init_cube" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_cube) ); + mea->setElementType( domFx_surface_init_cube_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "init_volume" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_volume) ); + mea->setElementType( domFx_surface_init_volume_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "init_planar" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_planar) ); + mea->setElementType( domFx_surface_init_planar_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "init_from" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_from_array) ); + mea->setElementType( domFx_surface_init_from_common::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); + // Ordered list of sub-elements + _Meta->addContents(daeOffsetOf(domFx_surface_init_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domFx_surface_init_common,_contentsOrder)); + + + + _Meta->setElementSize(sizeof(domFx_surface_init_common)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_common::domInit_as_null::create(daeInt bytes) +{ + domFx_surface_init_common::domInit_as_nullRef ref = new(bytes) domFx_surface_init_common::domInit_as_null; + return ref; +} + + +daeMetaElement * +domFx_surface_init_common::domInit_as_null::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "init_as_null" ); + _Meta->registerConstructor(domFx_surface_init_common::domInit_as_null::create); + + _Meta->setIsInnerClass( true ); + + + _Meta->setElementSize(sizeof(domFx_surface_init_common::domInit_as_null)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_common::domInit_as_target::create(daeInt bytes) +{ + domFx_surface_init_common::domInit_as_targetRef ref = new(bytes) domFx_surface_init_common::domInit_as_target; + return ref; +} + + +daeMetaElement * +domFx_surface_init_common::domInit_as_target::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "init_as_target" ); + _Meta->registerConstructor(domFx_surface_init_common::domInit_as_target::create); + + _Meta->setIsInnerClass( true ); + + + _Meta->setElementSize(sizeof(domFx_surface_init_common::domInit_as_target)); + _Meta->validate(); + + return _Meta; +} + + +daeMetaElement * domFx_surface_init_common::_Meta = NULL; +daeMetaElement * domFx_surface_init_common::domInit_as_null::_Meta = NULL; +daeMetaElement * domFx_surface_init_common::domInit_as_target::_Meta = NULL; + + diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_cube_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_cube_common.cpp new file mode 100644 index 000000000..5fcfdbee8 --- /dev/null +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_cube_common.cpp @@ -0,0 +1,244 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +daeElementRef +domFx_surface_init_cube_common::create(daeInt bytes) +{ + domFx_surface_init_cube_commonRef ref = new(bytes) domFx_surface_init_cube_common; + return ref; +} + + +daeMetaElement * +domFx_surface_init_cube_common::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "fx_surface_init_cube_common" ); + _Meta->registerConstructor(domFx_surface_init_cube_common::create); + + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "all" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_cube_common,elemAll) ); + mea->setElementType( domFx_surface_init_cube_common::domAll::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "primary" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_cube_common,elemPrimary) ); + mea->setElementType( domFx_surface_init_cube_common::domPrimary::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 6, 6 ); + mea->setName( "face" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_cube_common,elemFace_array) ); + mea->setElementType( domFx_surface_init_cube_common::domFace::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); + // Ordered list of sub-elements + _Meta->addContents(daeOffsetOf(domFx_surface_init_cube_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domFx_surface_init_cube_common,_contentsOrder)); + + + + _Meta->setElementSize(sizeof(domFx_surface_init_cube_common)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_cube_common::domAll::create(daeInt bytes) +{ + domFx_surface_init_cube_common::domAllRef ref = new(bytes) domFx_surface_init_cube_common::domAll; + return ref; +} + + +daeMetaElement * +domFx_surface_init_cube_common::domAll::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "all" ); + _Meta->registerConstructor(domFx_surface_init_cube_common::domAll::create); + + _Meta->setIsInnerClass( true ); + + // Add attribute: ref + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "ref" ); + ma->setType( daeAtomicType::get("xsIDREF")); + ma->setOffset( daeOffsetOf( domFx_surface_init_cube_common::domAll , attrRef )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_init_cube_common::domAll)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_cube_common::domPrimary::create(daeInt bytes) +{ + domFx_surface_init_cube_common::domPrimaryRef ref = new(bytes) domFx_surface_init_cube_common::domPrimary; + return ref; +} + + +daeMetaElement * +domFx_surface_init_cube_common::domPrimary::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "primary" ); + _Meta->registerConstructor(domFx_surface_init_cube_common::domPrimary::create); + + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 0, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 6, 6 ); + mea->setName( "order" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_cube_common::domPrimary,elemOrder_array) ); + mea->setElementType( domFx_surface_init_cube_common::domPrimary::domOrder::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); + + // Add attribute: ref + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "ref" ); + ma->setType( daeAtomicType::get("xsIDREF")); + ma->setOffset( daeOffsetOf( domFx_surface_init_cube_common::domPrimary , attrRef )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_init_cube_common::domPrimary)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_cube_common::domPrimary::domOrder::create(daeInt bytes) +{ + domFx_surface_init_cube_common::domPrimary::domOrderRef ref = new(bytes) domFx_surface_init_cube_common::domPrimary::domOrder; + return ref; +} + + +daeMetaElement * +domFx_surface_init_cube_common::domPrimary::domOrder::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "order" ); + _Meta->registerConstructor(domFx_surface_init_cube_common::domPrimary::domOrder::create); + + _Meta->setIsInnerClass( true ); + // Add attribute: _value + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "_value" ); + ma->setType( daeAtomicType::get("Fx_surface_face_enum")); + ma->setOffset( daeOffsetOf( domFx_surface_init_cube_common::domPrimary::domOrder , _value )); + ma->setContainer( _Meta ); + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_init_cube_common::domPrimary::domOrder)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_cube_common::domFace::create(daeInt bytes) +{ + domFx_surface_init_cube_common::domFaceRef ref = new(bytes) domFx_surface_init_cube_common::domFace; + return ref; +} + + +daeMetaElement * +domFx_surface_init_cube_common::domFace::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "face" ); + _Meta->registerConstructor(domFx_surface_init_cube_common::domFace::create); + + _Meta->setIsInnerClass( true ); + + // Add attribute: ref + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "ref" ); + ma->setType( daeAtomicType::get("xsIDREF")); + ma->setOffset( daeOffsetOf( domFx_surface_init_cube_common::domFace , attrRef )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_init_cube_common::domFace)); + _Meta->validate(); + + return _Meta; +} + + +daeMetaElement * domFx_surface_init_cube_common::_Meta = NULL; +daeMetaElement * domFx_surface_init_cube_common::domAll::_Meta = NULL; +daeMetaElement * domFx_surface_init_cube_common::domPrimary::_Meta = NULL; +daeMetaElement * domFx_surface_init_cube_common::domPrimary::domOrder::_Meta = NULL; +daeMetaElement * domFx_surface_init_cube_common::domFace::_Meta = NULL; + + diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_from_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_from_common.cpp new file mode 100644 index 000000000..611808cba --- /dev/null +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_from_common.cpp @@ -0,0 +1,96 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +daeElementRef +domFx_surface_init_from_common::create(daeInt bytes) +{ + domFx_surface_init_from_commonRef ref = new(bytes) domFx_surface_init_from_common; + return ref; +} + + +daeMetaElement * +domFx_surface_init_from_common::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "fx_surface_init_from_common" ); + _Meta->registerConstructor(domFx_surface_init_from_common::create); + + // Add attribute: _value + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "_value" ); + ma->setType( daeAtomicType::get("xsIDREF")); + ma->setOffset( daeOffsetOf( domFx_surface_init_from_common , _value )); + ma->setContainer( _Meta ); + _Meta->appendAttribute(ma); + } + + // Add attribute: mip + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "mip" ); + ma->setType( daeAtomicType::get("xsUnsignedInt")); + ma->setOffset( daeOffsetOf( domFx_surface_init_from_common , attrMip )); + ma->setContainer( _Meta ); + ma->setDefault( "0"); + + _Meta->appendAttribute(ma); + } + + // Add attribute: slice + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "slice" ); + ma->setType( daeAtomicType::get("xsUnsignedInt")); + ma->setOffset( daeOffsetOf( domFx_surface_init_from_common , attrSlice )); + ma->setContainer( _Meta ); + ma->setDefault( "0"); + + _Meta->appendAttribute(ma); + } + + // Add attribute: face + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "face" ); + ma->setType( daeAtomicType::get("Fx_surface_face_enum")); + ma->setOffset( daeOffsetOf( domFx_surface_init_from_common , attrFace )); + ma->setContainer( _Meta ); + ma->setDefault( "POSITIVE_X"); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_init_from_common)); + _Meta->validate(); + + return _Meta; +} + + +daeMetaElement * domFx_surface_init_from_common::_Meta = NULL; + + diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_planar_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_planar_common.cpp new file mode 100644 index 000000000..2216d10bd --- /dev/null +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_planar_common.cpp @@ -0,0 +1,101 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +daeElementRef +domFx_surface_init_planar_common::create(daeInt bytes) +{ + domFx_surface_init_planar_commonRef ref = new(bytes) domFx_surface_init_planar_common; + return ref; +} + + +daeMetaElement * +domFx_surface_init_planar_common::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "fx_surface_init_planar_common" ); + _Meta->registerConstructor(domFx_surface_init_planar_common::create); + + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "all" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_planar_common,elemAll) ); + mea->setElementType( domFx_surface_init_planar_common::domAll::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); + + _Meta->setElementSize(sizeof(domFx_surface_init_planar_common)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_planar_common::domAll::create(daeInt bytes) +{ + domFx_surface_init_planar_common::domAllRef ref = new(bytes) domFx_surface_init_planar_common::domAll; + return ref; +} + + +daeMetaElement * +domFx_surface_init_planar_common::domAll::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "all" ); + _Meta->registerConstructor(domFx_surface_init_planar_common::domAll::create); + + _Meta->setIsInnerClass( true ); + + // Add attribute: ref + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "ref" ); + ma->setType( daeAtomicType::get("xsIDREF")); + ma->setOffset( daeOffsetOf( domFx_surface_init_planar_common::domAll , attrRef )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_init_planar_common::domAll)); + _Meta->validate(); + + return _Meta; +} + + +daeMetaElement * domFx_surface_init_planar_common::_Meta = NULL; +daeMetaElement * domFx_surface_init_planar_common::domAll::_Meta = NULL; + + diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_volume_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_volume_common.cpp new file mode 100644 index 000000000..07d1a7811 --- /dev/null +++ b/Extras/COLLADA_DOM/src/1.4/dom/domFx_surface_init_volume_common.cpp @@ -0,0 +1,151 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +daeElementRef +domFx_surface_init_volume_common::create(daeInt bytes) +{ + domFx_surface_init_volume_commonRef ref = new(bytes) domFx_surface_init_volume_common; + return ref; +} + + +daeMetaElement * +domFx_surface_init_volume_common::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "fx_surface_init_volume_common" ); + _Meta->registerConstructor(domFx_surface_init_volume_common::create); + + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "all" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_volume_common,elemAll) ); + mea->setElementType( domFx_surface_init_volume_common::domAll::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "primary" ); + mea->setOffset( daeOffsetOf(domFx_surface_init_volume_common,elemPrimary) ); + mea->setElementType( domFx_surface_init_volume_common::domPrimary::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); + // Ordered list of sub-elements + _Meta->addContents(daeOffsetOf(domFx_surface_init_volume_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domFx_surface_init_volume_common,_contentsOrder)); + + + + _Meta->setElementSize(sizeof(domFx_surface_init_volume_common)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_volume_common::domAll::create(daeInt bytes) +{ + domFx_surface_init_volume_common::domAllRef ref = new(bytes) domFx_surface_init_volume_common::domAll; + return ref; +} + + +daeMetaElement * +domFx_surface_init_volume_common::domAll::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "all" ); + _Meta->registerConstructor(domFx_surface_init_volume_common::domAll::create); + + _Meta->setIsInnerClass( true ); + + // Add attribute: ref + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "ref" ); + ma->setType( daeAtomicType::get("xsIDREF")); + ma->setOffset( daeOffsetOf( domFx_surface_init_volume_common::domAll , attrRef )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_init_volume_common::domAll)); + _Meta->validate(); + + return _Meta; +} + +daeElementRef +domFx_surface_init_volume_common::domPrimary::create(daeInt bytes) +{ + domFx_surface_init_volume_common::domPrimaryRef ref = new(bytes) domFx_surface_init_volume_common::domPrimary; + return ref; +} + + +daeMetaElement * +domFx_surface_init_volume_common::domPrimary::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "primary" ); + _Meta->registerConstructor(domFx_surface_init_volume_common::domPrimary::create); + + _Meta->setIsInnerClass( true ); + + // Add attribute: ref + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "ref" ); + ma->setType( daeAtomicType::get("xsIDREF")); + ma->setOffset( daeOffsetOf( domFx_surface_init_volume_common::domPrimary , attrRef )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domFx_surface_init_volume_common::domPrimary)); + _Meta->validate(); + + return _Meta; +} + + +daeMetaElement * domFx_surface_init_volume_common::_Meta = NULL; +daeMetaElement * domFx_surface_init_volume_common::domAll::_Meta = NULL; +daeMetaElement * domFx_surface_init_volume_common::domPrimary::_Meta = NULL; + + diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGeometry.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGeometry.cpp index 0b19e22c2..79680ac49 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGeometry.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGeometry.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGeometry::create(daeInt bytes) @@ -29,17 +35,53 @@ domGeometry::registerElement() _Meta = new daeMetaElement; _Meta->setName( "geometry" ); - _Meta->setStaticPointerAddress(&domGeometry::_Meta); _Meta->registerConstructor(domGeometry::create); - // Add elements: asset, convex_mesh, mesh, spline, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domGeometry,elemAsset)); - _Meta->appendElement(domConvex_mesh::registerElement(),daeOffsetOf(domGeometry,elemConvex_mesh)); - _Meta->appendElement(domMesh::registerElement(),daeOffsetOf(domGeometry,elemMesh)); - _Meta->appendElement(domSpline::registerElement(),daeOffsetOf(domGeometry,elemSpline)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domGeometry,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domGeometry,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "convex_mesh" ); + mea->setOffset( daeOffsetOf(domGeometry,elemConvex_mesh) ); + mea->setElementType( domConvex_mesh::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "mesh" ); + mea->setOffset( daeOffsetOf(domGeometry,elemMesh) ); + mea->setElementType( domMesh::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "spline" ); + mea->setOffset( daeOffsetOf(domGeometry,elemSpline) ); + mea->setElementType( domSpline::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGeometry,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGeometry,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGeometry,_contentsOrder)); // Add attribute: id diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGl_hook_abstract.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGl_hook_abstract.cpp index f953a88af..0653ff429 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGl_hook_abstract.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGl_hook_abstract.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGl_hook_abstract::create(daeInt bytes) @@ -29,7 +35,6 @@ domGl_hook_abstract::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gl_hook_abstract" ); - _Meta->setStaticPointerAddress(&domGl_hook_abstract::_Meta); _Meta->registerConstructor(domGl_hook_abstract::create); _Meta->setIsAbstract( true ); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGl_pipeline_settings.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGl_pipeline_settings.cpp index 34dbaa72a..c5a940062 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGl_pipeline_settings.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGl_pipeline_settings.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGl_pipeline_settings::create(daeInt bytes) @@ -29,121 +35,672 @@ domGl_pipeline_settings::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gl_pipeline_settings" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::create); _Meta->setIsTransparent( true ); - // Add elements: alpha_func, blend_func, blend_func_separate, blend_equation, blend_equation_separate, color_material, cull_face, depth_func, fog_mode, fog_coord_src, front_face, light_model_color_control, logic_op, polygon_mode, shade_model, stencil_func, stencil_op, stencil_func_separate, stencil_op_separate, stencil_mask_separate, light_enable, light_ambient, light_diffuse, light_specular, light_position, light_constant_attenuation, light_linear_attenuation, light_quadratic_attenuation, light_spot_cutoff, light_spot_direction, light_spot_exponent, texture1D, texture2D, texture3D, textureCUBE, textureRECT, textureDEPTH, texture1D_enable, texture2D_enable, texture3D_enable, textureCUBE_enable, textureRECT_enable, textureDEPTH_enable, texture_env_color, texture_env_mode, clip_plane, clip_plane_enable, blend_color, clear_color, clear_stencil, clear_depth, color_mask, depth_bounds, depth_mask, depth_range, fog_density, fog_start, fog_end, fog_color, light_model_ambient, lighting_enable, line_stipple, line_width, material_ambient, material_diffuse, material_emission, material_shininess, material_specular, model_view_matrix, point_distance_attenuation, point_fade_threshold_size, point_size, point_size_min, point_size_max, polygon_offset, projection_matrix, scissor, stencil_mask, alpha_test_enable, auto_normal_enable, blend_enable, color_logic_op_enable, cull_face_enable, depth_bounds_enable, depth_clamp_enable, depth_test_enable, dither_enable, fog_enable, light_model_local_viewer_enable, light_model_two_side_enable, line_smooth_enable, line_stipple_enable, logic_op_enable, multisample_enable, normalize_enable, point_smooth_enable, polygon_offset_fill_enable, polygon_offset_line_enable, polygon_offset_point_enable, polygon_smooth_enable, polygon_stipple_enable, rescale_normal_enable, sample_alpha_to_coverage_enable, sample_alpha_to_one_enable, sample_coverage_enable, scissor_test_enable, stencil_test_enable, gl_hook_abstract - _Meta->appendElement(domGl_pipeline_settings::domAlpha_func::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemAlpha_func)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_func::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemBlend_func)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_func_separate::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemBlend_func_separate)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_equation::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemBlend_equation)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_equation_separate::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemBlend_equation_separate)); - _Meta->appendElement(domGl_pipeline_settings::domColor_material::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemColor_material)); - _Meta->appendElement(domGl_pipeline_settings::domCull_face::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemCull_face)); - _Meta->appendElement(domGl_pipeline_settings::domDepth_func::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemDepth_func)); - _Meta->appendElement(domGl_pipeline_settings::domFog_mode::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemFog_mode)); - _Meta->appendElement(domGl_pipeline_settings::domFog_coord_src::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemFog_coord_src)); - _Meta->appendElement(domGl_pipeline_settings::domFront_face::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemFront_face)); - _Meta->appendElement(domGl_pipeline_settings::domLight_model_color_control::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_model_color_control)); - _Meta->appendElement(domGl_pipeline_settings::domLogic_op::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLogic_op)); - _Meta->appendElement(domGl_pipeline_settings::domPolygon_mode::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPolygon_mode)); - _Meta->appendElement(domGl_pipeline_settings::domShade_model::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemShade_model)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_func::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemStencil_func)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_op::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemStencil_op)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_func_separate::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemStencil_func_separate)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_op_separate::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemStencil_op_separate)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_mask_separate::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemStencil_mask_separate)); - _Meta->appendElement(domGl_pipeline_settings::domLight_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_enable)); - _Meta->appendElement(domGl_pipeline_settings::domLight_ambient::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_ambient)); - _Meta->appendElement(domGl_pipeline_settings::domLight_diffuse::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_diffuse)); - _Meta->appendElement(domGl_pipeline_settings::domLight_specular::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_specular)); - _Meta->appendElement(domGl_pipeline_settings::domLight_position::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_position)); - _Meta->appendElement(domGl_pipeline_settings::domLight_constant_attenuation::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_constant_attenuation)); - _Meta->appendElement(domGl_pipeline_settings::domLight_linear_attenuation::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_linear_attenuation)); - _Meta->appendElement(domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_quadratic_attenuation)); - _Meta->appendElement(domGl_pipeline_settings::domLight_spot_cutoff::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_spot_cutoff)); - _Meta->appendElement(domGl_pipeline_settings::domLight_spot_direction::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_spot_direction)); - _Meta->appendElement(domGl_pipeline_settings::domLight_spot_exponent::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_spot_exponent)); - _Meta->appendElement(domGl_pipeline_settings::domTexture1D::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTexture1D)); - _Meta->appendElement(domGl_pipeline_settings::domTexture2D::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTexture2D)); - _Meta->appendElement(domGl_pipeline_settings::domTexture3D::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTexture3D)); - _Meta->appendElement(domGl_pipeline_settings::domTextureCUBE::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE)); - _Meta->appendElement(domGl_pipeline_settings::domTextureRECT::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTextureRECT)); - _Meta->appendElement(domGl_pipeline_settings::domTextureDEPTH::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH)); - _Meta->appendElement(domGl_pipeline_settings::domTexture1D_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTexture1D_enable)); - _Meta->appendElement(domGl_pipeline_settings::domTexture2D_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTexture2D_enable)); - _Meta->appendElement(domGl_pipeline_settings::domTexture3D_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTexture3D_enable)); - _Meta->appendElement(domGl_pipeline_settings::domTextureCUBE_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE_enable)); - _Meta->appendElement(domGl_pipeline_settings::domTextureRECT_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTextureRECT_enable)); - _Meta->appendElement(domGl_pipeline_settings::domTextureDEPTH_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH_enable)); - _Meta->appendElement(domGl_pipeline_settings::domTexture_env_color::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTexture_env_color)); - _Meta->appendElement(domGl_pipeline_settings::domTexture_env_mode::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemTexture_env_mode)); - _Meta->appendElement(domGl_pipeline_settings::domClip_plane::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemClip_plane)); - _Meta->appendElement(domGl_pipeline_settings::domClip_plane_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemClip_plane_enable)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_color::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemBlend_color)); - _Meta->appendElement(domGl_pipeline_settings::domClear_color::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemClear_color)); - _Meta->appendElement(domGl_pipeline_settings::domClear_stencil::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemClear_stencil)); - _Meta->appendElement(domGl_pipeline_settings::domClear_depth::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemClear_depth)); - _Meta->appendElement(domGl_pipeline_settings::domColor_mask::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemColor_mask)); - _Meta->appendElement(domGl_pipeline_settings::domDepth_bounds::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds)); - _Meta->appendElement(domGl_pipeline_settings::domDepth_mask::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemDepth_mask)); - _Meta->appendElement(domGl_pipeline_settings::domDepth_range::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemDepth_range)); - _Meta->appendElement(domGl_pipeline_settings::domFog_density::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemFog_density)); - _Meta->appendElement(domGl_pipeline_settings::domFog_start::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemFog_start)); - _Meta->appendElement(domGl_pipeline_settings::domFog_end::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemFog_end)); - _Meta->appendElement(domGl_pipeline_settings::domFog_color::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemFog_color)); - _Meta->appendElement(domGl_pipeline_settings::domLight_model_ambient::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_model_ambient)); - _Meta->appendElement(domGl_pipeline_settings::domLighting_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLighting_enable)); - _Meta->appendElement(domGl_pipeline_settings::domLine_stipple::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLine_stipple)); - _Meta->appendElement(domGl_pipeline_settings::domLine_width::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLine_width)); - _Meta->appendElement(domGl_pipeline_settings::domMaterial_ambient::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemMaterial_ambient)); - _Meta->appendElement(domGl_pipeline_settings::domMaterial_diffuse::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemMaterial_diffuse)); - _Meta->appendElement(domGl_pipeline_settings::domMaterial_emission::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemMaterial_emission)); - _Meta->appendElement(domGl_pipeline_settings::domMaterial_shininess::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemMaterial_shininess)); - _Meta->appendElement(domGl_pipeline_settings::domMaterial_specular::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemMaterial_specular)); - _Meta->appendElement(domGl_pipeline_settings::domModel_view_matrix::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemModel_view_matrix)); - _Meta->appendElement(domGl_pipeline_settings::domPoint_distance_attenuation::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPoint_distance_attenuation)); - _Meta->appendElement(domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPoint_fade_threshold_size)); - _Meta->appendElement(domGl_pipeline_settings::domPoint_size::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPoint_size)); - _Meta->appendElement(domGl_pipeline_settings::domPoint_size_min::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPoint_size_min)); - _Meta->appendElement(domGl_pipeline_settings::domPoint_size_max::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPoint_size_max)); - _Meta->appendElement(domGl_pipeline_settings::domPolygon_offset::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset)); - _Meta->appendElement(domGl_pipeline_settings::domProjection_matrix::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemProjection_matrix)); - _Meta->appendElement(domGl_pipeline_settings::domScissor::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemScissor)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_mask::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemStencil_mask)); - _Meta->appendElement(domGl_pipeline_settings::domAlpha_test_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemAlpha_test_enable)); - _Meta->appendElement(domGl_pipeline_settings::domAuto_normal_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemAuto_normal_enable)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemBlend_enable)); - _Meta->appendElement(domGl_pipeline_settings::domColor_logic_op_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemColor_logic_op_enable)); - _Meta->appendElement(domGl_pipeline_settings::domCull_face_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemCull_face_enable)); - _Meta->appendElement(domGl_pipeline_settings::domDepth_bounds_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds_enable)); - _Meta->appendElement(domGl_pipeline_settings::domDepth_clamp_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemDepth_clamp_enable)); - _Meta->appendElement(domGl_pipeline_settings::domDepth_test_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemDepth_test_enable)); - _Meta->appendElement(domGl_pipeline_settings::domDither_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemDither_enable)); - _Meta->appendElement(domGl_pipeline_settings::domFog_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemFog_enable)); - _Meta->appendElement(domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_model_local_viewer_enable)); - _Meta->appendElement(domGl_pipeline_settings::domLight_model_two_side_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLight_model_two_side_enable)); - _Meta->appendElement(domGl_pipeline_settings::domLine_smooth_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLine_smooth_enable)); - _Meta->appendElement(domGl_pipeline_settings::domLine_stipple_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLine_stipple_enable)); - _Meta->appendElement(domGl_pipeline_settings::domLogic_op_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemLogic_op_enable)); - _Meta->appendElement(domGl_pipeline_settings::domMultisample_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemMultisample_enable)); - _Meta->appendElement(domGl_pipeline_settings::domNormalize_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemNormalize_enable)); - _Meta->appendElement(domGl_pipeline_settings::domPoint_smooth_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPoint_smooth_enable)); - _Meta->appendElement(domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_fill_enable)); - _Meta->appendElement(domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_line_enable)); - _Meta->appendElement(domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_point_enable)); - _Meta->appendElement(domGl_pipeline_settings::domPolygon_smooth_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPolygon_smooth_enable)); - _Meta->appendElement(domGl_pipeline_settings::domPolygon_stipple_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemPolygon_stipple_enable)); - _Meta->appendElement(domGl_pipeline_settings::domRescale_normal_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemRescale_normal_enable)); - _Meta->appendElement(domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_coverage_enable)); - _Meta->appendElement(domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_one_enable)); - _Meta->appendElement(domGl_pipeline_settings::domSample_coverage_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemSample_coverage_enable)); - _Meta->appendElement(domGl_pipeline_settings::domScissor_test_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemScissor_test_enable)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_test_enable::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemStencil_test_enable)); - _Meta->appendElement(domGl_hook_abstract::registerElement(),daeOffsetOf(domGl_pipeline_settings,elemGl_hook_abstract)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "alpha_func" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAlpha_func) ); + mea->setElementType( domGl_pipeline_settings::domAlpha_func::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blend_func" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_func) ); + mea->setElementType( domGl_pipeline_settings::domBlend_func::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blend_func_separate" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_func_separate) ); + mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blend_equation" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_equation) ); + mea->setElementType( domGl_pipeline_settings::domBlend_equation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blend_equation_separate" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_equation_separate) ); + mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color_material" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_material) ); + mea->setElementType( domGl_pipeline_settings::domColor_material::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cull_face" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemCull_face) ); + mea->setElementType( domGl_pipeline_settings::domCull_face::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_func" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_func) ); + mea->setElementType( domGl_pipeline_settings::domDepth_func::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_mode" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_mode) ); + mea->setElementType( domGl_pipeline_settings::domFog_mode::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_coord_src" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_coord_src) ); + mea->setElementType( domGl_pipeline_settings::domFog_coord_src::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "front_face" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFront_face) ); + mea->setElementType( domGl_pipeline_settings::domFront_face::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_model_color_control" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_color_control) ); + mea->setElementType( domGl_pipeline_settings::domLight_model_color_control::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "logic_op" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLogic_op) ); + mea->setElementType( domGl_pipeline_settings::domLogic_op::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_mode" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_mode) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_mode::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "shade_model" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemShade_model) ); + mea->setElementType( domGl_pipeline_settings::domShade_model::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_func" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_func) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_op" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_op) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_func_separate" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_func_separate) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_op_separate" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_op_separate) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_mask_separate" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_mask_separate) ); + mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_enable) ); + mea->setElementType( domGl_pipeline_settings::domLight_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_ambient" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_ambient) ); + mea->setElementType( domGl_pipeline_settings::domLight_ambient::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_diffuse" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_diffuse) ); + mea->setElementType( domGl_pipeline_settings::domLight_diffuse::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_specular" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_specular) ); + mea->setElementType( domGl_pipeline_settings::domLight_specular::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_position" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_position) ); + mea->setElementType( domGl_pipeline_settings::domLight_position::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_constant_attenuation" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_constant_attenuation) ); + mea->setElementType( domGl_pipeline_settings::domLight_constant_attenuation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_linear_attenuation" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_linear_attenuation) ); + mea->setElementType( domGl_pipeline_settings::domLight_linear_attenuation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_quadratic_attenuation" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_quadratic_attenuation) ); + mea->setElementType( domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_spot_cutoff" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_cutoff) ); + mea->setElementType( domGl_pipeline_settings::domLight_spot_cutoff::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_spot_direction" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_direction) ); + mea->setElementType( domGl_pipeline_settings::domLight_spot_direction::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_spot_exponent" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_exponent) ); + mea->setElementType( domGl_pipeline_settings::domLight_spot_exponent::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture1D" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture1D) ); + mea->setElementType( domGl_pipeline_settings::domTexture1D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture2D" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture2D) ); + mea->setElementType( domGl_pipeline_settings::domTexture2D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture3D" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture3D) ); + mea->setElementType( domGl_pipeline_settings::domTexture3D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "textureCUBE" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE) ); + mea->setElementType( domGl_pipeline_settings::domTextureCUBE::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "textureRECT" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureRECT) ); + mea->setElementType( domGl_pipeline_settings::domTextureRECT::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "textureDEPTH" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH) ); + mea->setElementType( domGl_pipeline_settings::domTextureDEPTH::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture1D_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture1D_enable) ); + mea->setElementType( domGl_pipeline_settings::domTexture1D_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture2D_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture2D_enable) ); + mea->setElementType( domGl_pipeline_settings::domTexture2D_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture3D_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture3D_enable) ); + mea->setElementType( domGl_pipeline_settings::domTexture3D_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "textureCUBE_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE_enable) ); + mea->setElementType( domGl_pipeline_settings::domTextureCUBE_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "textureRECT_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureRECT_enable) ); + mea->setElementType( domGl_pipeline_settings::domTextureRECT_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "textureDEPTH_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH_enable) ); + mea->setElementType( domGl_pipeline_settings::domTextureDEPTH_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture_env_color" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture_env_color) ); + mea->setElementType( domGl_pipeline_settings::domTexture_env_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture_env_mode" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture_env_mode) ); + mea->setElementType( domGl_pipeline_settings::domTexture_env_mode::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clip_plane" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClip_plane) ); + mea->setElementType( domGl_pipeline_settings::domClip_plane::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clip_plane_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClip_plane_enable) ); + mea->setElementType( domGl_pipeline_settings::domClip_plane_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blend_color" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_color) ); + mea->setElementType( domGl_pipeline_settings::domBlend_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clear_color" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClear_color) ); + mea->setElementType( domGl_pipeline_settings::domClear_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clear_stencil" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClear_stencil) ); + mea->setElementType( domGl_pipeline_settings::domClear_stencil::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clear_depth" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClear_depth) ); + mea->setElementType( domGl_pipeline_settings::domClear_depth::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color_mask" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_mask) ); + mea->setElementType( domGl_pipeline_settings::domColor_mask::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_bounds" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds) ); + mea->setElementType( domGl_pipeline_settings::domDepth_bounds::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_mask" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_mask) ); + mea->setElementType( domGl_pipeline_settings::domDepth_mask::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_range" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_range) ); + mea->setElementType( domGl_pipeline_settings::domDepth_range::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_density" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_density) ); + mea->setElementType( domGl_pipeline_settings::domFog_density::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_start" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_start) ); + mea->setElementType( domGl_pipeline_settings::domFog_start::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_end" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_end) ); + mea->setElementType( domGl_pipeline_settings::domFog_end::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_color" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_color) ); + mea->setElementType( domGl_pipeline_settings::domFog_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_model_ambient" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_ambient) ); + mea->setElementType( domGl_pipeline_settings::domLight_model_ambient::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "lighting_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLighting_enable) ); + mea->setElementType( domGl_pipeline_settings::domLighting_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "line_stipple" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_stipple) ); + mea->setElementType( domGl_pipeline_settings::domLine_stipple::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "line_width" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_width) ); + mea->setElementType( domGl_pipeline_settings::domLine_width::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_ambient" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_ambient) ); + mea->setElementType( domGl_pipeline_settings::domMaterial_ambient::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_diffuse" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_diffuse) ); + mea->setElementType( domGl_pipeline_settings::domMaterial_diffuse::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_emission" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_emission) ); + mea->setElementType( domGl_pipeline_settings::domMaterial_emission::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_shininess" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_shininess) ); + mea->setElementType( domGl_pipeline_settings::domMaterial_shininess::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_specular" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_specular) ); + mea->setElementType( domGl_pipeline_settings::domMaterial_specular::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "model_view_matrix" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemModel_view_matrix) ); + mea->setElementType( domGl_pipeline_settings::domModel_view_matrix::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_distance_attenuation" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_distance_attenuation) ); + mea->setElementType( domGl_pipeline_settings::domPoint_distance_attenuation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_fade_threshold_size" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_fade_threshold_size) ); + mea->setElementType( domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_size" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size) ); + mea->setElementType( domGl_pipeline_settings::domPoint_size::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_size_min" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size_min) ); + mea->setElementType( domGl_pipeline_settings::domPoint_size_min::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_size_max" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size_max) ); + mea->setElementType( domGl_pipeline_settings::domPoint_size_max::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_offset" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_offset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "projection_matrix" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemProjection_matrix) ); + mea->setElementType( domGl_pipeline_settings::domProjection_matrix::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "scissor" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemScissor) ); + mea->setElementType( domGl_pipeline_settings::domScissor::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_mask" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_mask) ); + mea->setElementType( domGl_pipeline_settings::domStencil_mask::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "alpha_test_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAlpha_test_enable) ); + mea->setElementType( domGl_pipeline_settings::domAlpha_test_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "auto_normal_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAuto_normal_enable) ); + mea->setElementType( domGl_pipeline_settings::domAuto_normal_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blend_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_enable) ); + mea->setElementType( domGl_pipeline_settings::domBlend_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color_logic_op_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_logic_op_enable) ); + mea->setElementType( domGl_pipeline_settings::domColor_logic_op_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color_material_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_material_enable) ); + mea->setElementType( domGl_pipeline_settings::domColor_material_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cull_face_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemCull_face_enable) ); + mea->setElementType( domGl_pipeline_settings::domCull_face_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_bounds_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds_enable) ); + mea->setElementType( domGl_pipeline_settings::domDepth_bounds_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_clamp_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_clamp_enable) ); + mea->setElementType( domGl_pipeline_settings::domDepth_clamp_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_test_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_test_enable) ); + mea->setElementType( domGl_pipeline_settings::domDepth_test_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "dither_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDither_enable) ); + mea->setElementType( domGl_pipeline_settings::domDither_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_enable) ); + mea->setElementType( domGl_pipeline_settings::domFog_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_model_local_viewer_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_local_viewer_enable) ); + mea->setElementType( domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_model_two_side_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_two_side_enable) ); + mea->setElementType( domGl_pipeline_settings::domLight_model_two_side_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "line_smooth_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_smooth_enable) ); + mea->setElementType( domGl_pipeline_settings::domLine_smooth_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "line_stipple_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_stipple_enable) ); + mea->setElementType( domGl_pipeline_settings::domLine_stipple_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "logic_op_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLogic_op_enable) ); + mea->setElementType( domGl_pipeline_settings::domLogic_op_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "multisample_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMultisample_enable) ); + mea->setElementType( domGl_pipeline_settings::domMultisample_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "normalize_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemNormalize_enable) ); + mea->setElementType( domGl_pipeline_settings::domNormalize_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_smooth_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_smooth_enable) ); + mea->setElementType( domGl_pipeline_settings::domPoint_smooth_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_offset_fill_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_fill_enable) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_offset_line_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_line_enable) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_offset_point_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_point_enable) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_smooth_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_smooth_enable) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_smooth_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_stipple_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_stipple_enable) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_stipple_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rescale_normal_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemRescale_normal_enable) ); + mea->setElementType( domGl_pipeline_settings::domRescale_normal_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sample_alpha_to_coverage_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_coverage_enable) ); + mea->setElementType( domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sample_alpha_to_one_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_one_enable) ); + mea->setElementType( domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sample_coverage_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_coverage_enable) ); + mea->setElementType( domGl_pipeline_settings::domSample_coverage_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "scissor_test_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemScissor_test_enable) ); + mea->setElementType( domGl_pipeline_settings::domScissor_test_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_test_enable" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_test_enable) ); + mea->setElementType( domGl_pipeline_settings::domStencil_test_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "gl_hook_abstract" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemGl_hook_abstract) ); + mea->setElementType( domGl_hook_abstract::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGl_pipeline_settings,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings,_contentsOrder)); @@ -168,12 +725,27 @@ domGl_pipeline_settings::domAlpha_func::registerElement() _Meta = new daeMetaElement; _Meta->setName( "alpha_func" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domAlpha_func::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domAlpha_func::create); - // Add elements: func, value - _Meta->appendElement(domGl_pipeline_settings::domAlpha_func::domFunc::registerElement(),daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemFunc)); - _Meta->appendElement(domGl_pipeline_settings::domAlpha_func::domValue::registerElement(),daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemValue)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "func" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemFunc) ); + mea->setElementType( domGl_pipeline_settings::domAlpha_func::domFunc::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemValue) ); + mea->setElementType( domGl_pipeline_settings::domAlpha_func::domValue::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func)); @@ -197,9 +769,9 @@ domGl_pipeline_settings::domAlpha_func::domFunc::registerElement() _Meta = new daeMetaElement; _Meta->setName( "func" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domAlpha_func::domFunc::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domAlpha_func::domFunc::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -248,9 +820,9 @@ domGl_pipeline_settings::domAlpha_func::domValue::registerElement() _Meta = new daeMetaElement; _Meta->setName( "value" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domAlpha_func::domValue::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domAlpha_func::domValue::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -299,12 +871,27 @@ domGl_pipeline_settings::domBlend_func::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blend_func" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_func::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_func::create); - // Add elements: src, dest - _Meta->appendElement(domGl_pipeline_settings::domBlend_func::domSrc::registerElement(),daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemSrc)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_func::domDest::registerElement(),daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemDest)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "src" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemSrc) ); + mea->setElementType( domGl_pipeline_settings::domBlend_func::domSrc::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "dest" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemDest) ); + mea->setElementType( domGl_pipeline_settings::domBlend_func::domDest::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func)); @@ -328,9 +915,9 @@ domGl_pipeline_settings::domBlend_func::domSrc::registerElement() _Meta = new daeMetaElement; _Meta->setName( "src" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_func::domSrc::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_func::domSrc::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -379,9 +966,9 @@ domGl_pipeline_settings::domBlend_func::domDest::registerElement() _Meta = new daeMetaElement; _Meta->setName( "dest" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_func::domDest::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_func::domDest::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -430,14 +1017,39 @@ domGl_pipeline_settings::domBlend_func_separate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blend_func_separate" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_func_separate::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_func_separate::create); - // Add elements: src_rgb, dest_rgb, src_alpha, dest_alpha - _Meta->appendElement(domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(),daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_rgb)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(),daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_rgb)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(),daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_alpha)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(),daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_alpha)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "src_rgb" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_rgb) ); + mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "dest_rgb" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_rgb) ); + mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "src_alpha" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_alpha) ); + mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "dest_alpha" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_alpha) ); + mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate)); @@ -461,9 +1073,9 @@ domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement() _Meta = new daeMetaElement; _Meta->setName( "src_rgb" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -512,9 +1124,9 @@ domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement() _Meta = new daeMetaElement; _Meta->setName( "dest_rgb" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -563,9 +1175,9 @@ domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement() _Meta = new daeMetaElement; _Meta->setName( "src_alpha" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -614,9 +1226,9 @@ domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement( _Meta = new daeMetaElement; _Meta->setName( "dest_alpha" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -665,9 +1277,9 @@ domGl_pipeline_settings::domBlend_equation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blend_equation" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_equation::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_equation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -716,12 +1328,27 @@ domGl_pipeline_settings::domBlend_equation_separate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blend_equation_separate" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_equation_separate::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_equation_separate::create); - // Add elements: rgb, alpha - _Meta->appendElement(domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(),daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemRgb)); - _Meta->appendElement(domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(),daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemAlpha)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rgb" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemRgb) ); + mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "alpha" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemAlpha) ); + mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate)); @@ -745,9 +1372,9 @@ domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement() _Meta = new daeMetaElement; _Meta->setName( "rgb" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_equation_separate::domRgb::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_equation_separate::domRgb::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -796,9 +1423,9 @@ domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement() _Meta = new daeMetaElement; _Meta->setName( "alpha" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_equation_separate::domAlpha::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_equation_separate::domAlpha::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -847,12 +1474,27 @@ domGl_pipeline_settings::domColor_material::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color_material" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domColor_material::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domColor_material::create); - // Add elements: face, mode - _Meta->appendElement(domGl_pipeline_settings::domColor_material::domFace::registerElement(),daeOffsetOf(domGl_pipeline_settings::domColor_material,elemFace)); - _Meta->appendElement(domGl_pipeline_settings::domColor_material::domMode::registerElement(),daeOffsetOf(domGl_pipeline_settings::domColor_material,elemMode)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "face" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domColor_material,elemFace) ); + mea->setElementType( domGl_pipeline_settings::domColor_material::domFace::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "mode" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domColor_material,elemMode) ); + mea->setElementType( domGl_pipeline_settings::domColor_material::domMode::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material)); @@ -876,9 +1518,9 @@ domGl_pipeline_settings::domColor_material::domFace::registerElement() _Meta = new daeMetaElement; _Meta->setName( "face" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domColor_material::domFace::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domColor_material::domFace::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -927,9 +1569,9 @@ domGl_pipeline_settings::domColor_material::domMode::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mode" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domColor_material::domMode::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domColor_material::domMode::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -978,9 +1620,9 @@ domGl_pipeline_settings::domCull_face::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cull_face" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domCull_face::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domCull_face::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1029,9 +1671,9 @@ domGl_pipeline_settings::domDepth_func::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_func" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domDepth_func::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domDepth_func::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1080,9 +1722,9 @@ domGl_pipeline_settings::domFog_mode::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_mode" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domFog_mode::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domFog_mode::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1131,9 +1773,9 @@ domGl_pipeline_settings::domFog_coord_src::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_coord_src" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domFog_coord_src::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domFog_coord_src::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1182,9 +1824,9 @@ domGl_pipeline_settings::domFront_face::registerElement() _Meta = new daeMetaElement; _Meta->setName( "front_face" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domFront_face::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domFront_face::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1233,9 +1875,9 @@ domGl_pipeline_settings::domLight_model_color_control::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_model_color_control" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_model_color_control::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_model_color_control::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1284,9 +1926,9 @@ domGl_pipeline_settings::domLogic_op::registerElement() _Meta = new daeMetaElement; _Meta->setName( "logic_op" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLogic_op::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLogic_op::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1335,12 +1977,27 @@ domGl_pipeline_settings::domPolygon_mode::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_mode" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_mode::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_mode::create); - // Add elements: face, mode - _Meta->appendElement(domGl_pipeline_settings::domPolygon_mode::domFace::registerElement(),daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemFace)); - _Meta->appendElement(domGl_pipeline_settings::domPolygon_mode::domMode::registerElement(),daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemMode)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "face" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemFace) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_mode::domFace::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "mode" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemMode) ); + mea->setElementType( domGl_pipeline_settings::domPolygon_mode::domMode::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode)); @@ -1364,9 +2021,9 @@ domGl_pipeline_settings::domPolygon_mode::domFace::registerElement() _Meta = new daeMetaElement; _Meta->setName( "face" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_mode::domFace::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_mode::domFace::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1415,9 +2072,9 @@ domGl_pipeline_settings::domPolygon_mode::domMode::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mode" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_mode::domMode::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_mode::domMode::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1466,9 +2123,9 @@ domGl_pipeline_settings::domShade_model::registerElement() _Meta = new daeMetaElement; _Meta->setName( "shade_model" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domShade_model::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domShade_model::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1517,13 +2174,33 @@ domGl_pipeline_settings::domStencil_func::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_func" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func::create); - // Add elements: func, ref, mask - _Meta->appendElement(domGl_pipeline_settings::domStencil_func::domFunc::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemFunc)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_func::domRef::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemRef)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_func::domMask::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemMask)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "func" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemFunc) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func::domFunc::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "ref" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemRef) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func::domRef::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "mask" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemMask) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func::domMask::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func)); @@ -1547,9 +2224,9 @@ domGl_pipeline_settings::domStencil_func::domFunc::registerElement() _Meta = new daeMetaElement; _Meta->setName( "func" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func::domFunc::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func::domFunc::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1598,9 +2275,9 @@ domGl_pipeline_settings::domStencil_func::domRef::registerElement() _Meta = new daeMetaElement; _Meta->setName( "ref" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func::domRef::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func::domRef::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1649,9 +2326,9 @@ domGl_pipeline_settings::domStencil_func::domMask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mask" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func::domMask::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func::domMask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1700,13 +2377,33 @@ domGl_pipeline_settings::domStencil_op::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_op" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op::create); - // Add elements: fail, zfail, zpass - _Meta->appendElement(domGl_pipeline_settings::domStencil_op::domFail::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemFail)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_op::domZfail::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZfail)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_op::domZpass::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZpass)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fail" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemFail) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op::domFail::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "zfail" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZfail) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op::domZfail::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "zpass" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZpass) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op::domZpass::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op)); @@ -1730,9 +2427,9 @@ domGl_pipeline_settings::domStencil_op::domFail::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fail" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op::domFail::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op::domFail::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1781,9 +2478,9 @@ domGl_pipeline_settings::domStencil_op::domZfail::registerElement() _Meta = new daeMetaElement; _Meta->setName( "zfail" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op::domZfail::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op::domZfail::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1832,9 +2529,9 @@ domGl_pipeline_settings::domStencil_op::domZpass::registerElement() _Meta = new daeMetaElement; _Meta->setName( "zpass" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op::domZpass::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op::domZpass::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1883,14 +2580,39 @@ domGl_pipeline_settings::domStencil_func_separate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_func_separate" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func_separate::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func_separate::create); - // Add elements: front, back, ref, mask - _Meta->appendElement(domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemFront)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemBack)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemRef)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemMask)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "front" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemFront) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "back" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemBack) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "ref" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemRef) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "mask" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemMask) ); + mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate)); @@ -1914,9 +2636,9 @@ domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement() _Meta = new daeMetaElement; _Meta->setName( "front" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func_separate::domFront::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func_separate::domFront::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1965,9 +2687,9 @@ domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement() _Meta = new daeMetaElement; _Meta->setName( "back" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func_separate::domBack::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func_separate::domBack::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2016,9 +2738,9 @@ domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement() _Meta = new daeMetaElement; _Meta->setName( "ref" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func_separate::domRef::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func_separate::domRef::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2067,9 +2789,9 @@ domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mask" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_func_separate::domMask::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_func_separate::domMask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2118,14 +2840,39 @@ domGl_pipeline_settings::domStencil_op_separate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_op_separate" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op_separate::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op_separate::create); - // Add elements: face, fail, zfail, zpass - _Meta->appendElement(domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFace)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFail)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZfail)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZpass)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "face" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFace) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "fail" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFail) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "zfail" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZfail) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "zpass" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZpass) ); + mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate)); @@ -2149,9 +2896,9 @@ domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement() _Meta = new daeMetaElement; _Meta->setName( "face" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op_separate::domFace::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op_separate::domFace::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2200,9 +2947,9 @@ domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fail" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op_separate::domFail::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op_separate::domFail::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2251,9 +2998,9 @@ domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement() _Meta = new daeMetaElement; _Meta->setName( "zfail" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op_separate::domZfail::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op_separate::domZfail::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2302,9 +3049,9 @@ domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement() _Meta = new daeMetaElement; _Meta->setName( "zpass" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_op_separate::domZpass::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_op_separate::domZpass::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2353,12 +3100,27 @@ domGl_pipeline_settings::domStencil_mask_separate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_mask_separate" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_mask_separate::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_mask_separate::create); - // Add elements: face, mask - _Meta->appendElement(domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemFace)); - _Meta->appendElement(domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement(),daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemMask)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "face" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemFace) ); + mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "mask" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemMask) ); + mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate)); @@ -2382,9 +3144,9 @@ domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement() _Meta = new daeMetaElement; _Meta->setName( "face" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_mask_separate::domFace::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_mask_separate::domFace::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2433,9 +3195,9 @@ domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mask" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_mask_separate::domMask::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_mask_separate::domMask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2484,9 +3246,9 @@ domGl_pipeline_settings::domLight_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2547,9 +3309,9 @@ domGl_pipeline_settings::domLight_ambient::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_ambient" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_ambient::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_ambient::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2610,9 +3372,9 @@ domGl_pipeline_settings::domLight_diffuse::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_diffuse" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_diffuse::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_diffuse::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2673,9 +3435,9 @@ domGl_pipeline_settings::domLight_specular::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_specular" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_specular::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_specular::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2736,9 +3498,9 @@ domGl_pipeline_settings::domLight_position::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_position" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_position::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_position::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2799,9 +3561,9 @@ domGl_pipeline_settings::domLight_constant_attenuation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_constant_attenuation" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_constant_attenuation::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_constant_attenuation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2862,9 +3624,9 @@ domGl_pipeline_settings::domLight_linear_attenuation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_linear_attenuation" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_linear_attenuation::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_linear_attenuation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2925,9 +3687,9 @@ domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_quadratic_attenuation" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_quadratic_attenuation::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_quadratic_attenuation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2988,9 +3750,9 @@ domGl_pipeline_settings::domLight_spot_cutoff::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_spot_cutoff" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_spot_cutoff::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_spot_cutoff::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3051,9 +3813,9 @@ domGl_pipeline_settings::domLight_spot_direction::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_spot_direction" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_spot_direction::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_spot_direction::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3114,9 +3876,9 @@ domGl_pipeline_settings::domLight_spot_exponent::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_spot_exponent" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_spot_exponent::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_spot_exponent::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3177,14 +3939,30 @@ domGl_pipeline_settings::domTexture1D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture1D" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture1D::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture1D::create); - // Add elements: value, param - _Meta->appendElement(domGl_sampler1D::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemValue),"value"); - _Meta->appendElement(domGl_pipeline_settings::domTexture1D::domParam::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemParam)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemValue) ); + mea->setElementType( domGl_sampler1D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemParam) ); + mea->setElementType( domGl_pipeline_settings::domTexture1D::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_contentsOrder)); // Add attribute: index @@ -3221,9 +3999,9 @@ domGl_pipeline_settings::domTexture1D::domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture1D::domParam::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture1D::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3256,14 +4034,30 @@ domGl_pipeline_settings::domTexture2D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture2D" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture2D::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture2D::create); - // Add elements: value, param - _Meta->appendElement(domGl_sampler2D::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemValue),"value"); - _Meta->appendElement(domGl_pipeline_settings::domTexture2D::domParam::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemParam)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemValue) ); + mea->setElementType( domGl_sampler2D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemParam) ); + mea->setElementType( domGl_pipeline_settings::domTexture2D::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_contentsOrder)); // Add attribute: index @@ -3300,9 +4094,9 @@ domGl_pipeline_settings::domTexture2D::domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture2D::domParam::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture2D::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3335,14 +4129,30 @@ domGl_pipeline_settings::domTexture3D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture3D" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture3D::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture3D::create); - // Add elements: value, param - _Meta->appendElement(domGl_sampler3D::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemValue),"value"); - _Meta->appendElement(domGl_pipeline_settings::domTexture3D::domParam::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemParam)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemValue) ); + mea->setElementType( domGl_sampler3D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemParam) ); + mea->setElementType( domGl_pipeline_settings::domTexture3D::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_contentsOrder)); // Add attribute: index @@ -3379,9 +4189,9 @@ domGl_pipeline_settings::domTexture3D::domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture3D::domParam::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture3D::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3414,14 +4224,30 @@ domGl_pipeline_settings::domTextureCUBE::registerElement() _Meta = new daeMetaElement; _Meta->setName( "textureCUBE" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureCUBE::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureCUBE::create); - // Add elements: value, param - _Meta->appendElement(domGl_samplerCUBE::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemValue),"value"); - _Meta->appendElement(domGl_pipeline_settings::domTextureCUBE::domParam::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemParam)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemValue) ); + mea->setElementType( domGl_samplerCUBE::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemParam) ); + mea->setElementType( domGl_pipeline_settings::domTextureCUBE::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_contentsOrder)); // Add attribute: index @@ -3458,9 +4284,9 @@ domGl_pipeline_settings::domTextureCUBE::domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureCUBE::domParam::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureCUBE::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3493,14 +4319,30 @@ domGl_pipeline_settings::domTextureRECT::registerElement() _Meta = new daeMetaElement; _Meta->setName( "textureRECT" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureRECT::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureRECT::create); - // Add elements: value, param - _Meta->appendElement(domGl_samplerRECT::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemValue),"value"); - _Meta->appendElement(domGl_pipeline_settings::domTextureRECT::domParam::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemParam)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemValue) ); + mea->setElementType( domGl_samplerRECT::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemParam) ); + mea->setElementType( domGl_pipeline_settings::domTextureRECT::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_contentsOrder)); // Add attribute: index @@ -3537,9 +4379,9 @@ domGl_pipeline_settings::domTextureRECT::domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureRECT::domParam::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureRECT::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3572,14 +4414,30 @@ domGl_pipeline_settings::domTextureDEPTH::registerElement() _Meta = new daeMetaElement; _Meta->setName( "textureDEPTH" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureDEPTH::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureDEPTH::create); - // Add elements: value, param - _Meta->appendElement(domGl_samplerDEPTH::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemValue),"value"); - _Meta->appendElement(domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement(),daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemParam)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemValue) ); + mea->setElementType( domGl_samplerDEPTH::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemParam) ); + mea->setElementType( domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_contentsOrder)); // Add attribute: index @@ -3616,9 +4474,9 @@ domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureDEPTH::domParam::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureDEPTH::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -3651,9 +4509,9 @@ domGl_pipeline_settings::domTexture1D_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture1D_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture1D_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture1D_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3713,9 +4571,9 @@ domGl_pipeline_settings::domTexture2D_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture2D_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture2D_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture2D_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3775,9 +4633,9 @@ domGl_pipeline_settings::domTexture3D_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture3D_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture3D_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture3D_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3837,9 +4695,9 @@ domGl_pipeline_settings::domTextureCUBE_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "textureCUBE_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureCUBE_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureCUBE_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3899,9 +4757,9 @@ domGl_pipeline_settings::domTextureRECT_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "textureRECT_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureRECT_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureRECT_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3961,9 +4819,9 @@ domGl_pipeline_settings::domTextureDEPTH_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "textureDEPTH_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTextureDEPTH_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTextureDEPTH_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4023,9 +4881,9 @@ domGl_pipeline_settings::domTexture_env_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture_env_color" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture_env_color::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture_env_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4084,9 +4942,9 @@ domGl_pipeline_settings::domTexture_env_mode::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture_env_mode" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domTexture_env_mode::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domTexture_env_mode::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4145,9 +5003,9 @@ domGl_pipeline_settings::domClip_plane::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clip_plane" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domClip_plane::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domClip_plane::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4207,9 +5065,9 @@ domGl_pipeline_settings::domClip_plane_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clip_plane_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domClip_plane_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domClip_plane_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4269,9 +5127,9 @@ domGl_pipeline_settings::domBlend_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blend_color" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_color::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4320,9 +5178,9 @@ domGl_pipeline_settings::domClear_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clear_color" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domClear_color::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domClear_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4371,9 +5229,9 @@ domGl_pipeline_settings::domClear_stencil::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clear_stencil" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domClear_stencil::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domClear_stencil::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4422,9 +5280,9 @@ domGl_pipeline_settings::domClear_depth::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clear_depth" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domClear_depth::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domClear_depth::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4473,9 +5331,9 @@ domGl_pipeline_settings::domColor_mask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color_mask" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domColor_mask::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domColor_mask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4524,9 +5382,9 @@ domGl_pipeline_settings::domDepth_bounds::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_bounds" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domDepth_bounds::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domDepth_bounds::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4574,9 +5432,9 @@ domGl_pipeline_settings::domDepth_mask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_mask" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domDepth_mask::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domDepth_mask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4625,9 +5483,9 @@ domGl_pipeline_settings::domDepth_range::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_range" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domDepth_range::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domDepth_range::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4676,9 +5534,9 @@ domGl_pipeline_settings::domFog_density::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_density" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domFog_density::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domFog_density::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4727,9 +5585,9 @@ domGl_pipeline_settings::domFog_start::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_start" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domFog_start::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domFog_start::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4778,9 +5636,9 @@ domGl_pipeline_settings::domFog_end::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_end" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domFog_end::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domFog_end::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4829,9 +5687,9 @@ domGl_pipeline_settings::domFog_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_color" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domFog_color::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domFog_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4880,9 +5738,9 @@ domGl_pipeline_settings::domLight_model_ambient::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_model_ambient" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_model_ambient::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_model_ambient::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4931,9 +5789,9 @@ domGl_pipeline_settings::domLighting_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "lighting_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLighting_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLighting_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4982,9 +5840,9 @@ domGl_pipeline_settings::domLine_stipple::registerElement() _Meta = new daeMetaElement; _Meta->setName( "line_stipple" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLine_stipple::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLine_stipple::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5033,9 +5891,9 @@ domGl_pipeline_settings::domLine_width::registerElement() _Meta = new daeMetaElement; _Meta->setName( "line_width" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLine_width::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLine_width::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5084,9 +5942,9 @@ domGl_pipeline_settings::domMaterial_ambient::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_ambient" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domMaterial_ambient::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domMaterial_ambient::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5135,9 +5993,9 @@ domGl_pipeline_settings::domMaterial_diffuse::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_diffuse" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domMaterial_diffuse::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domMaterial_diffuse::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5186,9 +6044,9 @@ domGl_pipeline_settings::domMaterial_emission::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_emission" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domMaterial_emission::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domMaterial_emission::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5237,9 +6095,9 @@ domGl_pipeline_settings::domMaterial_shininess::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_shininess" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domMaterial_shininess::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domMaterial_shininess::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5288,9 +6146,9 @@ domGl_pipeline_settings::domMaterial_specular::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_specular" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domMaterial_specular::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domMaterial_specular::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5339,9 +6197,9 @@ domGl_pipeline_settings::domModel_view_matrix::registerElement() _Meta = new daeMetaElement; _Meta->setName( "model_view_matrix" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domModel_view_matrix::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domModel_view_matrix::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5390,9 +6248,9 @@ domGl_pipeline_settings::domPoint_distance_attenuation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_distance_attenuation" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPoint_distance_attenuation::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPoint_distance_attenuation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5441,9 +6299,9 @@ domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_fade_threshold_size" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPoint_fade_threshold_size::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPoint_fade_threshold_size::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5492,9 +6350,9 @@ domGl_pipeline_settings::domPoint_size::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_size" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPoint_size::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPoint_size::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5543,9 +6401,9 @@ domGl_pipeline_settings::domPoint_size_min::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_size_min" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPoint_size_min::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPoint_size_min::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5594,9 +6452,9 @@ domGl_pipeline_settings::domPoint_size_max::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_size_max" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPoint_size_max::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPoint_size_max::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5645,9 +6503,9 @@ domGl_pipeline_settings::domPolygon_offset::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_offset" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_offset::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_offset::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5696,9 +6554,9 @@ domGl_pipeline_settings::domProjection_matrix::registerElement() _Meta = new daeMetaElement; _Meta->setName( "projection_matrix" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domProjection_matrix::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domProjection_matrix::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5747,9 +6605,9 @@ domGl_pipeline_settings::domScissor::registerElement() _Meta = new daeMetaElement; _Meta->setName( "scissor" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domScissor::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domScissor::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5797,9 +6655,9 @@ domGl_pipeline_settings::domStencil_mask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_mask" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_mask::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_mask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5848,9 +6706,9 @@ domGl_pipeline_settings::domAlpha_test_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "alpha_test_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domAlpha_test_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domAlpha_test_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5899,9 +6757,9 @@ domGl_pipeline_settings::domAuto_normal_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "auto_normal_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domAuto_normal_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domAuto_normal_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -5950,9 +6808,9 @@ domGl_pipeline_settings::domBlend_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blend_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domBlend_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domBlend_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6001,9 +6859,9 @@ domGl_pipeline_settings::domColor_logic_op_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color_logic_op_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domColor_logic_op_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domColor_logic_op_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6037,6 +6895,57 @@ domGl_pipeline_settings::domColor_logic_op_enable::registerElement() return _Meta; } +daeElementRef +domGl_pipeline_settings::domColor_material_enable::create(daeInt bytes) +{ + domGl_pipeline_settings::domColor_material_enableRef ref = new(bytes) domGl_pipeline_settings::domColor_material_enable; + return ref; +} + + +daeMetaElement * +domGl_pipeline_settings::domColor_material_enable::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "color_material_enable" ); + _Meta->registerConstructor(domGl_pipeline_settings::domColor_material_enable::create); + + _Meta->setIsInnerClass( true ); + + // Add attribute: value + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "value" ); + ma->setType( daeAtomicType::get("Bool")); + ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material_enable , attrValue )); + ma->setContainer( _Meta ); + ma->setDefault( "true"); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: param + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "param" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material_enable , attrParam )); + ma->setContainer( _Meta ); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material_enable)); + _Meta->validate(); + + return _Meta; +} + daeElementRef domGl_pipeline_settings::domCull_face_enable::create(daeInt bytes) { @@ -6052,9 +6961,9 @@ domGl_pipeline_settings::domCull_face_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cull_face_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domCull_face_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domCull_face_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6103,9 +7012,9 @@ domGl_pipeline_settings::domDepth_bounds_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_bounds_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domDepth_bounds_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domDepth_bounds_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6154,9 +7063,9 @@ domGl_pipeline_settings::domDepth_clamp_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_clamp_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domDepth_clamp_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domDepth_clamp_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6205,9 +7114,9 @@ domGl_pipeline_settings::domDepth_test_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_test_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domDepth_test_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domDepth_test_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6256,9 +7165,9 @@ domGl_pipeline_settings::domDither_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "dither_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domDither_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domDither_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6307,9 +7216,9 @@ domGl_pipeline_settings::domFog_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domFog_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domFog_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6358,9 +7267,9 @@ domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_model_local_viewer_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_model_local_viewer_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_model_local_viewer_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6409,9 +7318,9 @@ domGl_pipeline_settings::domLight_model_two_side_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_model_two_side_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLight_model_two_side_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLight_model_two_side_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6460,9 +7369,9 @@ domGl_pipeline_settings::domLine_smooth_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "line_smooth_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLine_smooth_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLine_smooth_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6511,9 +7420,9 @@ domGl_pipeline_settings::domLine_stipple_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "line_stipple_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLine_stipple_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLine_stipple_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6562,9 +7471,9 @@ domGl_pipeline_settings::domLogic_op_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "logic_op_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domLogic_op_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domLogic_op_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6613,9 +7522,9 @@ domGl_pipeline_settings::domMultisample_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "multisample_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domMultisample_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domMultisample_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6664,9 +7573,9 @@ domGl_pipeline_settings::domNormalize_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "normalize_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domNormalize_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domNormalize_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6715,9 +7624,9 @@ domGl_pipeline_settings::domPoint_smooth_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_smooth_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPoint_smooth_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPoint_smooth_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6766,9 +7675,9 @@ domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_offset_fill_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_offset_fill_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_offset_fill_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6817,9 +7726,9 @@ domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_offset_line_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_offset_line_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_offset_line_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6868,9 +7777,9 @@ domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_offset_point_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_offset_point_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_offset_point_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6919,9 +7828,9 @@ domGl_pipeline_settings::domPolygon_smooth_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_smooth_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_smooth_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_smooth_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -6970,9 +7879,9 @@ domGl_pipeline_settings::domPolygon_stipple_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_stipple_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domPolygon_stipple_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domPolygon_stipple_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -7021,9 +7930,9 @@ domGl_pipeline_settings::domRescale_normal_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "rescale_normal_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domRescale_normal_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domRescale_normal_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -7072,9 +7981,9 @@ domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sample_alpha_to_coverage_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domSample_alpha_to_coverage_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domSample_alpha_to_coverage_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -7123,9 +8032,9 @@ domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sample_alpha_to_one_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domSample_alpha_to_one_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domSample_alpha_to_one_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -7174,9 +8083,9 @@ domGl_pipeline_settings::domSample_coverage_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sample_coverage_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domSample_coverage_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domSample_coverage_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -7225,9 +8134,9 @@ domGl_pipeline_settings::domScissor_test_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "scissor_test_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domScissor_test_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domScissor_test_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -7276,9 +8185,9 @@ domGl_pipeline_settings::domStencil_test_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_test_enable" ); - _Meta->setStaticPointerAddress(&domGl_pipeline_settings::domStencil_test_enable::_Meta); _Meta->registerConstructor(domGl_pipeline_settings::domStencil_test_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -7432,6 +8341,7 @@ daeMetaElement * domGl_pipeline_settings::domAlpha_test_enable::_Meta = NULL; daeMetaElement * domGl_pipeline_settings::domAuto_normal_enable::_Meta = NULL; daeMetaElement * domGl_pipeline_settings::domBlend_enable::_Meta = NULL; daeMetaElement * domGl_pipeline_settings::domColor_logic_op_enable::_Meta = NULL; +daeMetaElement * domGl_pipeline_settings::domColor_material_enable::_Meta = NULL; daeMetaElement * domGl_pipeline_settings::domCull_face_enable::_Meta = NULL; daeMetaElement * domGl_pipeline_settings::domDepth_bounds_enable::_Meta = NULL; daeMetaElement * domGl_pipeline_settings::domDepth_clamp_enable::_Meta = NULL; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler1D.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler1D.cpp index 49bc44c23..f8de442d4 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler1D.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler1D.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGl_sampler1D::create(daeInt bytes) @@ -29,18 +35,74 @@ domGl_sampler1D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gl_sampler1D" ); - _Meta->setStaticPointerAddress(&domGl_sampler1D::_Meta); _Meta->registerConstructor(domGl_sampler1D::create); - // Add elements: source, wrap_s, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domGl_sampler1D,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domGl_sampler1D,elemWrap_s)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domGl_sampler1D,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domGl_sampler1D,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domGl_sampler1D,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domGl_sampler1D,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domGl_sampler1D,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domGl_sampler1D,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 8, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGl_sampler1D,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 8 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 8 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_sampler1D)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler2D.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler2D.cpp index b7bd6ad39..08ed3ea06 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler2D.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler2D.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGl_sampler2D::create(daeInt bytes) @@ -29,19 +35,80 @@ domGl_sampler2D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gl_sampler2D" ); - _Meta->setStaticPointerAddress(&domGl_sampler2D::_Meta); _Meta->registerConstructor(domGl_sampler2D::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domGl_sampler2D,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domGl_sampler2D,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domGl_sampler2D,elemWrap_t)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domGl_sampler2D,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domGl_sampler2D,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domGl_sampler2D,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domGl_sampler2D,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domGl_sampler2D,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domGl_sampler2D,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 9, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGl_sampler2D,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 9 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 9 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_sampler2D)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler3D.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler3D.cpp index b940bf056..3d1bb1e3b 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler3D.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGl_sampler3D.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGl_sampler3D::create(daeInt bytes) @@ -29,20 +35,86 @@ domGl_sampler3D::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gl_sampler3D" ); - _Meta->setStaticPointerAddress(&domGl_sampler3D::_Meta); _Meta->registerConstructor(domGl_sampler3D::create); - // Add elements: source, wrap_s, wrap_t, wrap_p, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domGl_sampler3D,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domGl_sampler3D,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domGl_sampler3D,elemWrap_t)); - _Meta->appendElement(domWrap_p::registerElement(),daeOffsetOf(domGl_sampler3D,elemWrap_p)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domGl_sampler3D,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domGl_sampler3D,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domGl_sampler3D,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domGl_sampler3D,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domGl_sampler3D,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domGl_sampler3D,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "wrap_p" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemWrap_p) ); + mea->setElementType( domWrap_p::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 9, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 10, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGl_sampler3D,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 10 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 10 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_sampler3D)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerCUBE.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerCUBE.cpp index 4985f8484..6978a3299 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerCUBE.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerCUBE.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGl_samplerCUBE::create(daeInt bytes) @@ -29,20 +35,86 @@ domGl_samplerCUBE::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gl_samplerCUBE" ); - _Meta->setStaticPointerAddress(&domGl_samplerCUBE::_Meta); _Meta->registerConstructor(domGl_samplerCUBE::create); - // Add elements: source, wrap_s, wrap_t, wrap_p, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemWrap_t)); - _Meta->appendElement(domWrap_p::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemWrap_p)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domGl_samplerCUBE,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "wrap_p" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemWrap_p) ); + mea->setElementType( domWrap_p::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 9, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 10, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 10 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 10 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_samplerCUBE)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerDEPTH.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerDEPTH.cpp index 68b935973..3c1e1ff71 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerDEPTH.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerDEPTH.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGl_samplerDEPTH::create(daeInt bytes) @@ -29,15 +35,56 @@ domGl_samplerDEPTH::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gl_samplerDEPTH" ); - _Meta->setStaticPointerAddress(&domGl_samplerDEPTH::_Meta); _Meta->registerConstructor(domGl_samplerDEPTH::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domGl_samplerDEPTH,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domGl_samplerDEPTH,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domGl_samplerDEPTH,elemWrap_t)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domGl_samplerDEPTH,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domGl_samplerDEPTH,elemMagfilter)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 5 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 5 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_samplerDEPTH)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerRECT.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerRECT.cpp index adc3b928d..eac415e8b 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerRECT.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGl_samplerRECT.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGl_samplerRECT::create(daeInt bytes) @@ -29,19 +35,80 @@ domGl_samplerRECT::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gl_samplerRECT" ); - _Meta->setStaticPointerAddress(&domGl_samplerRECT::_Meta); _Meta->registerConstructor(domGl_samplerRECT::create); - // Add elements: source, wrap_s, wrap_t, minfilter, magfilter, mipfilter, border_color, mipmap_maxlevel, mipmap_bias - _Meta->appendElement(domSource::registerElement(),daeOffsetOf(domGl_samplerRECT,elemSource)); - _Meta->appendElement(domWrap_s::registerElement(),daeOffsetOf(domGl_samplerRECT,elemWrap_s)); - _Meta->appendElement(domWrap_t::registerElement(),daeOffsetOf(domGl_samplerRECT,elemWrap_t)); - _Meta->appendElement(domMinfilter::registerElement(),daeOffsetOf(domGl_samplerRECT,elemMinfilter)); - _Meta->appendElement(domMagfilter::registerElement(),daeOffsetOf(domGl_samplerRECT,elemMagfilter)); - _Meta->appendElement(domMipfilter::registerElement(),daeOffsetOf(domGl_samplerRECT,elemMipfilter)); - _Meta->appendElement(domBorder_color::registerElement(),daeOffsetOf(domGl_samplerRECT,elemBorder_color)); - _Meta->appendElement(domMipmap_maxlevel::registerElement(),daeOffsetOf(domGl_samplerRECT,elemMipmap_maxlevel)); - _Meta->appendElement(domMipmap_bias::registerElement(),daeOffsetOf(domGl_samplerRECT,elemMipmap_bias)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemSource) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemWrap_s) ); + mea->setElementType( domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemWrap_t) ); + mea->setElementType( domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMinfilter) ); + mea->setElementType( domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMagfilter) ); + mea->setElementType( domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMipfilter) ); + mea->setElementType( domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "border_color" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemBorder_color) ); + mea->setElementType( domBorder_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMipmap_maxlevel) ); + mea->setElementType( domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMipmap_bias) ); + mea->setElementType( domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 9, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 9 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 9 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGl_samplerRECT)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_basic_type_common.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_basic_type_common.cpp index 9ceff6487..8ff468f70 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_basic_type_common.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_basic_type_common.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_basic_type_common::create(daeInt bytes) @@ -29,46 +35,216 @@ domGles_basic_type_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_basic_type_common" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::_Meta); _Meta->registerConstructor(domGles_basic_type_common::create); _Meta->setIsTransparent( true ); - // Add elements: bool, bool2, bool3, bool4, int, int2, int3, int4, float, float2, float3, float4, float1x1, float1x2, float1x3, float1x4, float2x1, float2x2, float2x3, float2x4, float3x1, float3x2, float3x3, float3x4, float4x1, float4x2, float4x3, float4x4, surface, texture_pipeline, sampler_state, texture_unit, enum - _Meta->appendElement(domGles_basic_type_common::domBool::registerElement(),daeOffsetOf(domGles_basic_type_common,elemBool)); - _Meta->appendElement(domGles_basic_type_common::domBool2::registerElement(),daeOffsetOf(domGles_basic_type_common,elemBool2)); - _Meta->appendElement(domGles_basic_type_common::domBool3::registerElement(),daeOffsetOf(domGles_basic_type_common,elemBool3)); - _Meta->appendElement(domGles_basic_type_common::domBool4::registerElement(),daeOffsetOf(domGles_basic_type_common,elemBool4)); - _Meta->appendElement(domGles_basic_type_common::domInt::registerElement(),daeOffsetOf(domGles_basic_type_common,elemInt)); - _Meta->appendElement(domGles_basic_type_common::domInt2::registerElement(),daeOffsetOf(domGles_basic_type_common,elemInt2)); - _Meta->appendElement(domGles_basic_type_common::domInt3::registerElement(),daeOffsetOf(domGles_basic_type_common,elemInt3)); - _Meta->appendElement(domGles_basic_type_common::domInt4::registerElement(),daeOffsetOf(domGles_basic_type_common,elemInt4)); - _Meta->appendElement(domGles_basic_type_common::domFloat::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat)); - _Meta->appendElement(domGles_basic_type_common::domFloat2::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat2)); - _Meta->appendElement(domGles_basic_type_common::domFloat3::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat3)); - _Meta->appendElement(domGles_basic_type_common::domFloat4::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat4)); - _Meta->appendElement(domGles_basic_type_common::domFloat1x1::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat1x1)); - _Meta->appendElement(domGles_basic_type_common::domFloat1x2::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat1x2)); - _Meta->appendElement(domGles_basic_type_common::domFloat1x3::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat1x3)); - _Meta->appendElement(domGles_basic_type_common::domFloat1x4::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat1x4)); - _Meta->appendElement(domGles_basic_type_common::domFloat2x1::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat2x1)); - _Meta->appendElement(domGles_basic_type_common::domFloat2x2::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat2x2)); - _Meta->appendElement(domGles_basic_type_common::domFloat2x3::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat2x3)); - _Meta->appendElement(domGles_basic_type_common::domFloat2x4::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat2x4)); - _Meta->appendElement(domGles_basic_type_common::domFloat3x1::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat3x1)); - _Meta->appendElement(domGles_basic_type_common::domFloat3x2::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat3x2)); - _Meta->appendElement(domGles_basic_type_common::domFloat3x3::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat3x3)); - _Meta->appendElement(domGles_basic_type_common::domFloat3x4::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat3x4)); - _Meta->appendElement(domGles_basic_type_common::domFloat4x1::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat4x1)); - _Meta->appendElement(domGles_basic_type_common::domFloat4x2::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat4x2)); - _Meta->appendElement(domGles_basic_type_common::domFloat4x3::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat4x3)); - _Meta->appendElement(domGles_basic_type_common::domFloat4x4::registerElement(),daeOffsetOf(domGles_basic_type_common,elemFloat4x4)); - _Meta->appendElement(domFx_surface_common::registerElement(),daeOffsetOf(domGles_basic_type_common,elemSurface),"surface"); - _Meta->appendElement(domGles_texture_pipeline::registerElement(),daeOffsetOf(domGles_basic_type_common,elemTexture_pipeline),"texture_pipeline"); - _Meta->appendElement(domGles_sampler_state::registerElement(),daeOffsetOf(domGles_basic_type_common,elemSampler_state),"sampler_state"); - _Meta->appendElement(domGles_texture_unit::registerElement(),daeOffsetOf(domGles_basic_type_common,elemTexture_unit),"texture_unit"); - _Meta->appendElement(domGles_basic_type_common::domEnum::registerElement(),daeOffsetOf(domGles_basic_type_common,elemEnum)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemBool) ); + mea->setElementType( domGles_basic_type_common::domBool::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemBool2) ); + mea->setElementType( domGles_basic_type_common::domBool2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemBool3) ); + mea->setElementType( domGles_basic_type_common::domBool3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemBool4) ); + mea->setElementType( domGles_basic_type_common::domBool4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemInt) ); + mea->setElementType( domGles_basic_type_common::domInt::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemInt2) ); + mea->setElementType( domGles_basic_type_common::domInt2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemInt3) ); + mea->setElementType( domGles_basic_type_common::domInt3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemInt4) ); + mea->setElementType( domGles_basic_type_common::domInt4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat) ); + mea->setElementType( domGles_basic_type_common::domFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2) ); + mea->setElementType( domGles_basic_type_common::domFloat2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3) ); + mea->setElementType( domGles_basic_type_common::domFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4) ); + mea->setElementType( domGles_basic_type_common::domFloat4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x1" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat1x1) ); + mea->setElementType( domGles_basic_type_common::domFloat1x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x2" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat1x2) ); + mea->setElementType( domGles_basic_type_common::domFloat1x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x3" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat1x3) ); + mea->setElementType( domGles_basic_type_common::domFloat1x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float1x4" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat1x4) ); + mea->setElementType( domGles_basic_type_common::domFloat1x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x1" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2x1) ); + mea->setElementType( domGles_basic_type_common::domFloat2x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x2" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2x2) ); + mea->setElementType( domGles_basic_type_common::domFloat2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x3" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2x3) ); + mea->setElementType( domGles_basic_type_common::domFloat2x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x4" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2x4) ); + mea->setElementType( domGles_basic_type_common::domFloat2x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x1" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3x1) ); + mea->setElementType( domGles_basic_type_common::domFloat3x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x2" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3x2) ); + mea->setElementType( domGles_basic_type_common::domFloat3x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x3" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3x3) ); + mea->setElementType( domGles_basic_type_common::domFloat3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x4" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3x4) ); + mea->setElementType( domGles_basic_type_common::domFloat3x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x1" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4x1) ); + mea->setElementType( domGles_basic_type_common::domFloat4x1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x2" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4x2) ); + mea->setElementType( domGles_basic_type_common::domFloat4x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x3" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4x3) ); + mea->setElementType( domGles_basic_type_common::domFloat4x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x4" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4x4) ); + mea->setElementType( domGles_basic_type_common::domFloat4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "surface" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemSurface) ); + mea->setElementType( domFx_surface_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture_pipeline" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemTexture_pipeline) ); + mea->setElementType( domGles_texture_pipeline::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler_state" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemSampler_state) ); + mea->setElementType( domGles_sampler_state::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture_unit" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemTexture_unit) ); + mea->setElementType( domGles_texture_unit::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "enum" ); + mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemEnum) ); + mea->setElementType( domGles_basic_type_common::domEnum::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGles_basic_type_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGles_basic_type_common,_contentsOrder)); @@ -93,9 +269,9 @@ domGles_basic_type_common::domBool::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domBool::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domBool::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -128,9 +304,9 @@ domGles_basic_type_common::domBool2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domBool2::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domBool2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -163,9 +339,9 @@ domGles_basic_type_common::domBool3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domBool3::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domBool3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -198,9 +374,9 @@ domGles_basic_type_common::domBool4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domBool4::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domBool4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -233,9 +409,9 @@ domGles_basic_type_common::domInt::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domInt::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domInt::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -268,9 +444,9 @@ domGles_basic_type_common::domInt2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domInt2::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domInt2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -303,9 +479,9 @@ domGles_basic_type_common::domInt3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domInt3::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domInt3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -338,9 +514,9 @@ domGles_basic_type_common::domInt4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domInt4::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domInt4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -373,9 +549,9 @@ domGles_basic_type_common::domFloat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -408,9 +584,9 @@ domGles_basic_type_common::domFloat2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat2::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -443,9 +619,9 @@ domGles_basic_type_common::domFloat3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat3::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -478,9 +654,9 @@ domGles_basic_type_common::domFloat4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat4::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -513,9 +689,9 @@ domGles_basic_type_common::domFloat1x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x1" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat1x1::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat1x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -548,9 +724,9 @@ domGles_basic_type_common::domFloat1x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x2" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat1x2::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat1x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -583,9 +759,9 @@ domGles_basic_type_common::domFloat1x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x3" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat1x3::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat1x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -618,9 +794,9 @@ domGles_basic_type_common::domFloat1x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float1x4" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat1x4::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat1x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -653,9 +829,9 @@ domGles_basic_type_common::domFloat2x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x1" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat2x1::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat2x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -688,9 +864,9 @@ domGles_basic_type_common::domFloat2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x2" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat2x2::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -723,9 +899,9 @@ domGles_basic_type_common::domFloat2x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x3" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat2x3::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat2x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -758,9 +934,9 @@ domGles_basic_type_common::domFloat2x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x4" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat2x4::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat2x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -793,9 +969,9 @@ domGles_basic_type_common::domFloat3x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x1" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat3x1::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat3x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -828,9 +1004,9 @@ domGles_basic_type_common::domFloat3x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x2" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat3x2::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat3x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -863,9 +1039,9 @@ domGles_basic_type_common::domFloat3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x3" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat3x3::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -898,9 +1074,9 @@ domGles_basic_type_common::domFloat3x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x4" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat3x4::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat3x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -933,9 +1109,9 @@ domGles_basic_type_common::domFloat4x1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x1" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat4x1::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat4x1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -968,9 +1144,9 @@ domGles_basic_type_common::domFloat4x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x2" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat4x2::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat4x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1003,9 +1179,9 @@ domGles_basic_type_common::domFloat4x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x3" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat4x3::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat4x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1038,9 +1214,9 @@ domGles_basic_type_common::domFloat4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x4" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domFloat4x4::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domFloat4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -1073,9 +1249,9 @@ domGles_basic_type_common::domEnum::registerElement() _Meta = new daeMetaElement; _Meta->setName( "enum" ); - _Meta->setStaticPointerAddress(&domGles_basic_type_common::domEnum::_Meta); _Meta->registerConstructor(domGles_basic_type_common::domEnum::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_newparam.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_newparam.cpp index 93bc06187..1dd4385b5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_newparam.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_newparam.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_newparam::create(daeInt bytes) @@ -29,47 +35,38 @@ domGles_newparam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_newparam" ); - _Meta->setStaticPointerAddress(&domGles_newparam::_Meta); _Meta->registerConstructor(domGles_newparam::create); - // Add elements: annotate, semantic, modifier, gles_basic_type_common - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domGles_newparam,elemAnnotate_array),"annotate"); - _Meta->appendElement(domGles_newparam::domSemantic::registerElement(),daeOffsetOf(domGles_newparam,elemSemantic)); - _Meta->appendElement(domGles_newparam::domModifier::registerElement(),daeOffsetOf(domGles_newparam,elemModifier)); - _Meta->appendElement(domGles_basic_type_common::registerElement(),daeOffsetOf(domGles_newparam,elemGles_basic_type_common)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[3], "fx_surface_common"); - _Meta->appendPossibleChild( "texture_pipeline", _Meta->getMetaElements()[3], "gles_texture_pipeline"); - _Meta->appendPossibleChild( "sampler_state", _Meta->getMetaElements()[3], "gles_sampler_state"); - _Meta->appendPossibleChild( "texture_unit", _Meta->getMetaElements()[3], "gles_texture_unit"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[3]); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domGles_newparam,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "semantic" ); + mea->setOffset( daeOffsetOf(domGles_newparam,elemSemantic) ); + mea->setElementType( domGles_newparam::domSemantic::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "modifier" ); + mea->setOffset( daeOffsetOf(domGles_newparam,elemModifier) ); + mea->setElementType( domGles_newparam::domModifier::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "gles_basic_type_common" ); + mea->setOffset( daeOffsetOf(domGles_newparam,elemGles_basic_type_common) ); + mea->setElementType( domGles_basic_type_common::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 3, 1, 1 ) ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: sid { @@ -105,9 +102,9 @@ domGles_newparam::domSemantic::registerElement() _Meta = new daeMetaElement; _Meta->setName( "semantic" ); - _Meta->setStaticPointerAddress(&domGles_newparam::domSemantic::_Meta); _Meta->registerConstructor(domGles_newparam::domSemantic::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -140,9 +137,9 @@ domGles_newparam::domModifier::registerElement() _Meta = new daeMetaElement; _Meta->setName( "modifier" ); - _Meta->setStaticPointerAddress(&domGles_newparam::domModifier::_Meta); _Meta->registerConstructor(domGles_newparam::domModifier::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_pipeline_settings.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_pipeline_settings.cpp index d1830d95a..245535abd 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_pipeline_settings.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_pipeline_settings.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_pipeline_settings::create(daeInt bytes) @@ -29,86 +35,456 @@ domGles_pipeline_settings::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_pipeline_settings" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::create); _Meta->setIsTransparent( true ); - // Add elements: alpha_func, blend_func, clear_color, clear_stencil, clear_depth, clip_plane, color_mask, cull_face, depth_func, depth_mask, depth_range, fog_color, fog_density, fog_mode, fog_start, fog_end, front_face, texture_pipeline, logic_op, light_ambient, light_diffuse, light_specular, light_position, light_constant_attenuation, light_linear_attenutation, light_quadratic_attenuation, light_spot_cutoff, light_spot_direction, light_spot_exponent, light_model_ambient, line_width, material_ambient, material_diffuse, material_emission, material_shininess, material_specular, model_view_matrix, point_distance_attenuation, point_fade_threshold_size, point_size, point_size_min, point_size_max, polygon_offset, projection_matrix, scissor, shade_model, stencil_func, stencil_mask, stencil_op, alpha_test_enable, blend_enable, clip_plane_enable, color_logic_op_enable, color_material_enable, cull_face_enable, depth_test_enable, dither_enable, fog_enable, texture_pipeline_enable, light_enable, lighting_enable, light_model_two_side_enable, line_smooth_enable, multisample_enable, normalize_enable, point_smooth_enable, polygon_offset_fill_enable, rescale_normal_enable, sample_alpha_to_coverage_enable, sample_alpha_to_one_enable, sample_coverage_enable, scissor_test_enable, stencil_test_enable - _Meta->appendElement(domGles_pipeline_settings::domAlpha_func::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemAlpha_func)); - _Meta->appendElement(domGles_pipeline_settings::domBlend_func::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemBlend_func)); - _Meta->appendElement(domGles_pipeline_settings::domClear_color::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemClear_color)); - _Meta->appendElement(domGles_pipeline_settings::domClear_stencil::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemClear_stencil)); - _Meta->appendElement(domGles_pipeline_settings::domClear_depth::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemClear_depth)); - _Meta->appendElement(domGles_pipeline_settings::domClip_plane::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemClip_plane)); - _Meta->appendElement(domGles_pipeline_settings::domColor_mask::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemColor_mask)); - _Meta->appendElement(domGles_pipeline_settings::domCull_face::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemCull_face)); - _Meta->appendElement(domGles_pipeline_settings::domDepth_func::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemDepth_func)); - _Meta->appendElement(domGles_pipeline_settings::domDepth_mask::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemDepth_mask)); - _Meta->appendElement(domGles_pipeline_settings::domDepth_range::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemDepth_range)); - _Meta->appendElement(domGles_pipeline_settings::domFog_color::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemFog_color)); - _Meta->appendElement(domGles_pipeline_settings::domFog_density::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemFog_density)); - _Meta->appendElement(domGles_pipeline_settings::domFog_mode::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemFog_mode)); - _Meta->appendElement(domGles_pipeline_settings::domFog_start::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemFog_start)); - _Meta->appendElement(domGles_pipeline_settings::domFog_end::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemFog_end)); - _Meta->appendElement(domGles_pipeline_settings::domFront_face::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemFront_face)); - _Meta->appendElement(domGles_pipeline_settings::domTexture_pipeline::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemTexture_pipeline)); - _Meta->appendElement(domGles_pipeline_settings::domLogic_op::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLogic_op)); - _Meta->appendElement(domGles_pipeline_settings::domLight_ambient::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_ambient)); - _Meta->appendElement(domGles_pipeline_settings::domLight_diffuse::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_diffuse)); - _Meta->appendElement(domGles_pipeline_settings::domLight_specular::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_specular)); - _Meta->appendElement(domGles_pipeline_settings::domLight_position::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_position)); - _Meta->appendElement(domGles_pipeline_settings::domLight_constant_attenuation::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_constant_attenuation)); - _Meta->appendElement(domGles_pipeline_settings::domLight_linear_attenutation::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_linear_attenutation)); - _Meta->appendElement(domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_quadratic_attenuation)); - _Meta->appendElement(domGles_pipeline_settings::domLight_spot_cutoff::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_spot_cutoff)); - _Meta->appendElement(domGles_pipeline_settings::domLight_spot_direction::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_spot_direction)); - _Meta->appendElement(domGles_pipeline_settings::domLight_spot_exponent::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_spot_exponent)); - _Meta->appendElement(domGles_pipeline_settings::domLight_model_ambient::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_model_ambient)); - _Meta->appendElement(domGles_pipeline_settings::domLine_width::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLine_width)); - _Meta->appendElement(domGles_pipeline_settings::domMaterial_ambient::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemMaterial_ambient)); - _Meta->appendElement(domGles_pipeline_settings::domMaterial_diffuse::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemMaterial_diffuse)); - _Meta->appendElement(domGles_pipeline_settings::domMaterial_emission::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemMaterial_emission)); - _Meta->appendElement(domGles_pipeline_settings::domMaterial_shininess::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemMaterial_shininess)); - _Meta->appendElement(domGles_pipeline_settings::domMaterial_specular::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemMaterial_specular)); - _Meta->appendElement(domGles_pipeline_settings::domModel_view_matrix::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemModel_view_matrix)); - _Meta->appendElement(domGles_pipeline_settings::domPoint_distance_attenuation::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemPoint_distance_attenuation)); - _Meta->appendElement(domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemPoint_fade_threshold_size)); - _Meta->appendElement(domGles_pipeline_settings::domPoint_size::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemPoint_size)); - _Meta->appendElement(domGles_pipeline_settings::domPoint_size_min::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemPoint_size_min)); - _Meta->appendElement(domGles_pipeline_settings::domPoint_size_max::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemPoint_size_max)); - _Meta->appendElement(domGles_pipeline_settings::domPolygon_offset::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset)); - _Meta->appendElement(domGles_pipeline_settings::domProjection_matrix::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemProjection_matrix)); - _Meta->appendElement(domGles_pipeline_settings::domScissor::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemScissor)); - _Meta->appendElement(domGles_pipeline_settings::domShade_model::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemShade_model)); - _Meta->appendElement(domGles_pipeline_settings::domStencil_func::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemStencil_func)); - _Meta->appendElement(domGles_pipeline_settings::domStencil_mask::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemStencil_mask)); - _Meta->appendElement(domGles_pipeline_settings::domStencil_op::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemStencil_op)); - _Meta->appendElement(domGles_pipeline_settings::domAlpha_test_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemAlpha_test_enable)); - _Meta->appendElement(domGles_pipeline_settings::domBlend_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemBlend_enable)); - _Meta->appendElement(domGles_pipeline_settings::domClip_plane_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemClip_plane_enable)); - _Meta->appendElement(domGles_pipeline_settings::domColor_logic_op_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemColor_logic_op_enable)); - _Meta->appendElement(domGles_pipeline_settings::domColor_material_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemColor_material_enable)); - _Meta->appendElement(domGles_pipeline_settings::domCull_face_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemCull_face_enable)); - _Meta->appendElement(domGles_pipeline_settings::domDepth_test_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemDepth_test_enable)); - _Meta->appendElement(domGles_pipeline_settings::domDither_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemDither_enable)); - _Meta->appendElement(domGles_pipeline_settings::domFog_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemFog_enable)); - _Meta->appendElement(domGles_pipeline_settings::domTexture_pipeline_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemTexture_pipeline_enable)); - _Meta->appendElement(domGles_pipeline_settings::domLight_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_enable)); - _Meta->appendElement(domGles_pipeline_settings::domLighting_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLighting_enable)); - _Meta->appendElement(domGles_pipeline_settings::domLight_model_two_side_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLight_model_two_side_enable)); - _Meta->appendElement(domGles_pipeline_settings::domLine_smooth_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemLine_smooth_enable)); - _Meta->appendElement(domGles_pipeline_settings::domMultisample_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemMultisample_enable)); - _Meta->appendElement(domGles_pipeline_settings::domNormalize_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemNormalize_enable)); - _Meta->appendElement(domGles_pipeline_settings::domPoint_smooth_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemPoint_smooth_enable)); - _Meta->appendElement(domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset_fill_enable)); - _Meta->appendElement(domGles_pipeline_settings::domRescale_normal_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemRescale_normal_enable)); - _Meta->appendElement(domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_coverage_enable)); - _Meta->appendElement(domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_one_enable)); - _Meta->appendElement(domGles_pipeline_settings::domSample_coverage_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemSample_coverage_enable)); - _Meta->appendElement(domGles_pipeline_settings::domScissor_test_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemScissor_test_enable)); - _Meta->appendElement(domGles_pipeline_settings::domStencil_test_enable::registerElement(),daeOffsetOf(domGles_pipeline_settings,elemStencil_test_enable)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "alpha_func" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemAlpha_func) ); + mea->setElementType( domGles_pipeline_settings::domAlpha_func::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blend_func" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemBlend_func) ); + mea->setElementType( domGles_pipeline_settings::domBlend_func::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clear_color" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClear_color) ); + mea->setElementType( domGles_pipeline_settings::domClear_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clear_stencil" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClear_stencil) ); + mea->setElementType( domGles_pipeline_settings::domClear_stencil::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clear_depth" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClear_depth) ); + mea->setElementType( domGles_pipeline_settings::domClear_depth::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clip_plane" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClip_plane) ); + mea->setElementType( domGles_pipeline_settings::domClip_plane::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color_mask" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_mask) ); + mea->setElementType( domGles_pipeline_settings::domColor_mask::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cull_face" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemCull_face) ); + mea->setElementType( domGles_pipeline_settings::domCull_face::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_func" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_func) ); + mea->setElementType( domGles_pipeline_settings::domDepth_func::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_mask" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_mask) ); + mea->setElementType( domGles_pipeline_settings::domDepth_mask::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_range" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_range) ); + mea->setElementType( domGles_pipeline_settings::domDepth_range::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_color" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_color) ); + mea->setElementType( domGles_pipeline_settings::domFog_color::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_density" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_density) ); + mea->setElementType( domGles_pipeline_settings::domFog_density::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_mode" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_mode) ); + mea->setElementType( domGles_pipeline_settings::domFog_mode::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_start" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_start) ); + mea->setElementType( domGles_pipeline_settings::domFog_start::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_end" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_end) ); + mea->setElementType( domGles_pipeline_settings::domFog_end::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "front_face" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFront_face) ); + mea->setElementType( domGles_pipeline_settings::domFront_face::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture_pipeline" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemTexture_pipeline) ); + mea->setElementType( domGles_pipeline_settings::domTexture_pipeline::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "logic_op" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLogic_op) ); + mea->setElementType( domGles_pipeline_settings::domLogic_op::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_ambient" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_ambient) ); + mea->setElementType( domGles_pipeline_settings::domLight_ambient::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_diffuse" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_diffuse) ); + mea->setElementType( domGles_pipeline_settings::domLight_diffuse::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_specular" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_specular) ); + mea->setElementType( domGles_pipeline_settings::domLight_specular::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_position" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_position) ); + mea->setElementType( domGles_pipeline_settings::domLight_position::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_constant_attenuation" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_constant_attenuation) ); + mea->setElementType( domGles_pipeline_settings::domLight_constant_attenuation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_linear_attenutation" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_linear_attenutation) ); + mea->setElementType( domGles_pipeline_settings::domLight_linear_attenutation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_quadratic_attenuation" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_quadratic_attenuation) ); + mea->setElementType( domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_spot_cutoff" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_cutoff) ); + mea->setElementType( domGles_pipeline_settings::domLight_spot_cutoff::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_spot_direction" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_direction) ); + mea->setElementType( domGles_pipeline_settings::domLight_spot_direction::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_spot_exponent" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_exponent) ); + mea->setElementType( domGles_pipeline_settings::domLight_spot_exponent::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_model_ambient" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_model_ambient) ); + mea->setElementType( domGles_pipeline_settings::domLight_model_ambient::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "line_width" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLine_width) ); + mea->setElementType( domGles_pipeline_settings::domLine_width::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_ambient" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_ambient) ); + mea->setElementType( domGles_pipeline_settings::domMaterial_ambient::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_diffuse" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_diffuse) ); + mea->setElementType( domGles_pipeline_settings::domMaterial_diffuse::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_emission" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_emission) ); + mea->setElementType( domGles_pipeline_settings::domMaterial_emission::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_shininess" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_shininess) ); + mea->setElementType( domGles_pipeline_settings::domMaterial_shininess::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "material_specular" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_specular) ); + mea->setElementType( domGles_pipeline_settings::domMaterial_specular::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "model_view_matrix" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemModel_view_matrix) ); + mea->setElementType( domGles_pipeline_settings::domModel_view_matrix::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_distance_attenuation" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_distance_attenuation) ); + mea->setElementType( domGles_pipeline_settings::domPoint_distance_attenuation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_fade_threshold_size" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_fade_threshold_size) ); + mea->setElementType( domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_size" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size) ); + mea->setElementType( domGles_pipeline_settings::domPoint_size::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_size_min" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size_min) ); + mea->setElementType( domGles_pipeline_settings::domPoint_size_min::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_size_max" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size_max) ); + mea->setElementType( domGles_pipeline_settings::domPoint_size_max::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_offset" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset) ); + mea->setElementType( domGles_pipeline_settings::domPolygon_offset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "projection_matrix" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemProjection_matrix) ); + mea->setElementType( domGles_pipeline_settings::domProjection_matrix::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "scissor" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemScissor) ); + mea->setElementType( domGles_pipeline_settings::domScissor::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "shade_model" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemShade_model) ); + mea->setElementType( domGles_pipeline_settings::domShade_model::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_func" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_func) ); + mea->setElementType( domGles_pipeline_settings::domStencil_func::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_mask" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_mask) ); + mea->setElementType( domGles_pipeline_settings::domStencil_mask::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_op" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_op) ); + mea->setElementType( domGles_pipeline_settings::domStencil_op::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "alpha_test_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemAlpha_test_enable) ); + mea->setElementType( domGles_pipeline_settings::domAlpha_test_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blend_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemBlend_enable) ); + mea->setElementType( domGles_pipeline_settings::domBlend_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "clip_plane_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClip_plane_enable) ); + mea->setElementType( domGles_pipeline_settings::domClip_plane_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color_logic_op_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_logic_op_enable) ); + mea->setElementType( domGles_pipeline_settings::domColor_logic_op_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color_material_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_material_enable) ); + mea->setElementType( domGles_pipeline_settings::domColor_material_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cull_face_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemCull_face_enable) ); + mea->setElementType( domGles_pipeline_settings::domCull_face_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "depth_test_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_test_enable) ); + mea->setElementType( domGles_pipeline_settings::domDepth_test_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "dither_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDither_enable) ); + mea->setElementType( domGles_pipeline_settings::domDither_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fog_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_enable) ); + mea->setElementType( domGles_pipeline_settings::domFog_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texture_pipeline_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemTexture_pipeline_enable) ); + mea->setElementType( domGles_pipeline_settings::domTexture_pipeline_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_enable) ); + mea->setElementType( domGles_pipeline_settings::domLight_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "lighting_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLighting_enable) ); + mea->setElementType( domGles_pipeline_settings::domLighting_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "light_model_two_side_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_model_two_side_enable) ); + mea->setElementType( domGles_pipeline_settings::domLight_model_two_side_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "line_smooth_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLine_smooth_enable) ); + mea->setElementType( domGles_pipeline_settings::domLine_smooth_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "multisample_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMultisample_enable) ); + mea->setElementType( domGles_pipeline_settings::domMultisample_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "normalize_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemNormalize_enable) ); + mea->setElementType( domGles_pipeline_settings::domNormalize_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point_smooth_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_smooth_enable) ); + mea->setElementType( domGles_pipeline_settings::domPoint_smooth_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygon_offset_fill_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset_fill_enable) ); + mea->setElementType( domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rescale_normal_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemRescale_normal_enable) ); + mea->setElementType( domGles_pipeline_settings::domRescale_normal_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sample_alpha_to_coverage_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_coverage_enable) ); + mea->setElementType( domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sample_alpha_to_one_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_one_enable) ); + mea->setElementType( domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sample_coverage_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_coverage_enable) ); + mea->setElementType( domGles_pipeline_settings::domSample_coverage_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "scissor_test_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemScissor_test_enable) ); + mea->setElementType( domGles_pipeline_settings::domScissor_test_enable::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "stencil_test_enable" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_test_enable) ); + mea->setElementType( domGles_pipeline_settings::domStencil_test_enable::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGles_pipeline_settings,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGles_pipeline_settings,_contentsOrder)); @@ -133,12 +509,27 @@ domGles_pipeline_settings::domAlpha_func::registerElement() _Meta = new daeMetaElement; _Meta->setName( "alpha_func" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domAlpha_func::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domAlpha_func::create); - // Add elements: func, value - _Meta->appendElement(domGles_pipeline_settings::domAlpha_func::domFunc::registerElement(),daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemFunc)); - _Meta->appendElement(domGles_pipeline_settings::domAlpha_func::domValue::registerElement(),daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemValue)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "func" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemFunc) ); + mea->setElementType( domGles_pipeline_settings::domAlpha_func::domFunc::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemValue) ); + mea->setElementType( domGles_pipeline_settings::domAlpha_func::domValue::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func)); @@ -162,9 +553,9 @@ domGles_pipeline_settings::domAlpha_func::domFunc::registerElement() _Meta = new daeMetaElement; _Meta->setName( "func" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domAlpha_func::domFunc::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domAlpha_func::domFunc::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -213,9 +604,9 @@ domGles_pipeline_settings::domAlpha_func::domValue::registerElement() _Meta = new daeMetaElement; _Meta->setName( "value" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domAlpha_func::domValue::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domAlpha_func::domValue::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -264,12 +655,27 @@ domGles_pipeline_settings::domBlend_func::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blend_func" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domBlend_func::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domBlend_func::create); - // Add elements: src, dest - _Meta->appendElement(domGles_pipeline_settings::domBlend_func::domSrc::registerElement(),daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemSrc)); - _Meta->appendElement(domGles_pipeline_settings::domBlend_func::domDest::registerElement(),daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemDest)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "src" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemSrc) ); + mea->setElementType( domGles_pipeline_settings::domBlend_func::domSrc::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "dest" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemDest) ); + mea->setElementType( domGles_pipeline_settings::domBlend_func::domDest::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func)); @@ -293,9 +699,9 @@ domGles_pipeline_settings::domBlend_func::domSrc::registerElement() _Meta = new daeMetaElement; _Meta->setName( "src" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domBlend_func::domSrc::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domBlend_func::domSrc::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -344,9 +750,9 @@ domGles_pipeline_settings::domBlend_func::domDest::registerElement() _Meta = new daeMetaElement; _Meta->setName( "dest" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domBlend_func::domDest::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domBlend_func::domDest::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -395,9 +801,9 @@ domGles_pipeline_settings::domClear_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clear_color" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domClear_color::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domClear_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -445,9 +851,9 @@ domGles_pipeline_settings::domClear_stencil::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clear_stencil" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domClear_stencil::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domClear_stencil::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -495,9 +901,9 @@ domGles_pipeline_settings::domClear_depth::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clear_depth" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domClear_depth::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domClear_depth::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -545,9 +951,9 @@ domGles_pipeline_settings::domClip_plane::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clip_plane" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domClip_plane::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domClip_plane::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -607,9 +1013,9 @@ domGles_pipeline_settings::domColor_mask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color_mask" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domColor_mask::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domColor_mask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -657,9 +1063,9 @@ domGles_pipeline_settings::domCull_face::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cull_face" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domCull_face::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domCull_face::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -708,9 +1114,9 @@ domGles_pipeline_settings::domDepth_func::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_func" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domDepth_func::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domDepth_func::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -759,9 +1165,9 @@ domGles_pipeline_settings::domDepth_mask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_mask" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domDepth_mask::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domDepth_mask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -810,9 +1216,9 @@ domGles_pipeline_settings::domDepth_range::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_range" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domDepth_range::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domDepth_range::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -861,9 +1267,9 @@ domGles_pipeline_settings::domFog_color::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_color" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domFog_color::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domFog_color::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -912,9 +1318,9 @@ domGles_pipeline_settings::domFog_density::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_density" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domFog_density::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domFog_density::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -963,9 +1369,9 @@ domGles_pipeline_settings::domFog_mode::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_mode" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domFog_mode::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domFog_mode::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1014,9 +1420,9 @@ domGles_pipeline_settings::domFog_start::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_start" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domFog_start::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domFog_start::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1065,9 +1471,9 @@ domGles_pipeline_settings::domFog_end::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_end" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domFog_end::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domFog_end::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1116,9 +1522,9 @@ domGles_pipeline_settings::domFront_face::registerElement() _Meta = new daeMetaElement; _Meta->setName( "front_face" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domFront_face::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domFront_face::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1167,11 +1573,21 @@ domGles_pipeline_settings::domTexture_pipeline::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture_pipeline" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domTexture_pipeline::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domTexture_pipeline::create); - // Add elements: value - _Meta->appendElement(domGles_texture_pipeline::registerElement(),daeOffsetOf(domGles_pipeline_settings::domTexture_pipeline,elemValue),"value"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "value" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domTexture_pipeline,elemValue) ); + mea->setElementType( domGles_texture_pipeline::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: param { @@ -1207,9 +1623,9 @@ domGles_pipeline_settings::domLogic_op::registerElement() _Meta = new daeMetaElement; _Meta->setName( "logic_op" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLogic_op::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLogic_op::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1258,9 +1674,9 @@ domGles_pipeline_settings::domLight_ambient::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_ambient" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_ambient::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_ambient::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1321,9 +1737,9 @@ domGles_pipeline_settings::domLight_diffuse::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_diffuse" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_diffuse::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_diffuse::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1384,9 +1800,9 @@ domGles_pipeline_settings::domLight_specular::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_specular" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_specular::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_specular::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1447,9 +1863,9 @@ domGles_pipeline_settings::domLight_position::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_position" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_position::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_position::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1510,9 +1926,9 @@ domGles_pipeline_settings::domLight_constant_attenuation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_constant_attenuation" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_constant_attenuation::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_constant_attenuation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1573,9 +1989,9 @@ domGles_pipeline_settings::domLight_linear_attenutation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_linear_attenutation" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_linear_attenutation::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_linear_attenutation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1636,9 +2052,9 @@ domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_quadratic_attenuation" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_quadratic_attenuation::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_quadratic_attenuation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1699,9 +2115,9 @@ domGles_pipeline_settings::domLight_spot_cutoff::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_spot_cutoff" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_spot_cutoff::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_spot_cutoff::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1762,9 +2178,9 @@ domGles_pipeline_settings::domLight_spot_direction::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_spot_direction" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_spot_direction::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_spot_direction::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1825,9 +2241,9 @@ domGles_pipeline_settings::domLight_spot_exponent::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_spot_exponent" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_spot_exponent::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_spot_exponent::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1888,9 +2304,9 @@ domGles_pipeline_settings::domLight_model_ambient::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_model_ambient" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_model_ambient::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_model_ambient::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1939,9 +2355,9 @@ domGles_pipeline_settings::domLine_width::registerElement() _Meta = new daeMetaElement; _Meta->setName( "line_width" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLine_width::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLine_width::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -1990,9 +2406,9 @@ domGles_pipeline_settings::domMaterial_ambient::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_ambient" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domMaterial_ambient::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domMaterial_ambient::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2041,9 +2457,9 @@ domGles_pipeline_settings::domMaterial_diffuse::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_diffuse" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domMaterial_diffuse::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domMaterial_diffuse::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2092,9 +2508,9 @@ domGles_pipeline_settings::domMaterial_emission::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_emission" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domMaterial_emission::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domMaterial_emission::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2143,9 +2559,9 @@ domGles_pipeline_settings::domMaterial_shininess::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_shininess" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domMaterial_shininess::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domMaterial_shininess::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2194,9 +2610,9 @@ domGles_pipeline_settings::domMaterial_specular::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material_specular" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domMaterial_specular::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domMaterial_specular::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2245,9 +2661,9 @@ domGles_pipeline_settings::domModel_view_matrix::registerElement() _Meta = new daeMetaElement; _Meta->setName( "model_view_matrix" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domModel_view_matrix::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domModel_view_matrix::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2296,9 +2712,9 @@ domGles_pipeline_settings::domPoint_distance_attenuation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_distance_attenuation" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domPoint_distance_attenuation::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domPoint_distance_attenuation::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2347,9 +2763,9 @@ domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_fade_threshold_size" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domPoint_fade_threshold_size::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domPoint_fade_threshold_size::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2398,9 +2814,9 @@ domGles_pipeline_settings::domPoint_size::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_size" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domPoint_size::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domPoint_size::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2449,9 +2865,9 @@ domGles_pipeline_settings::domPoint_size_min::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_size_min" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domPoint_size_min::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domPoint_size_min::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2500,9 +2916,9 @@ domGles_pipeline_settings::domPoint_size_max::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_size_max" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domPoint_size_max::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domPoint_size_max::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2551,9 +2967,9 @@ domGles_pipeline_settings::domPolygon_offset::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_offset" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domPolygon_offset::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domPolygon_offset::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2602,9 +3018,9 @@ domGles_pipeline_settings::domProjection_matrix::registerElement() _Meta = new daeMetaElement; _Meta->setName( "projection_matrix" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domProjection_matrix::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domProjection_matrix::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2653,9 +3069,9 @@ domGles_pipeline_settings::domScissor::registerElement() _Meta = new daeMetaElement; _Meta->setName( "scissor" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domScissor::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domScissor::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2703,9 +3119,9 @@ domGles_pipeline_settings::domShade_model::registerElement() _Meta = new daeMetaElement; _Meta->setName( "shade_model" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domShade_model::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domShade_model::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2754,13 +3170,33 @@ domGles_pipeline_settings::domStencil_func::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_func" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_func::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_func::create); - // Add elements: func, ref, mask - _Meta->appendElement(domGles_pipeline_settings::domStencil_func::domFunc::registerElement(),daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemFunc)); - _Meta->appendElement(domGles_pipeline_settings::domStencil_func::domRef::registerElement(),daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemRef)); - _Meta->appendElement(domGles_pipeline_settings::domStencil_func::domMask::registerElement(),daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemMask)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "func" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemFunc) ); + mea->setElementType( domGles_pipeline_settings::domStencil_func::domFunc::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "ref" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemRef) ); + mea->setElementType( domGles_pipeline_settings::domStencil_func::domRef::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "mask" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemMask) ); + mea->setElementType( domGles_pipeline_settings::domStencil_func::domMask::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func)); @@ -2784,9 +3220,9 @@ domGles_pipeline_settings::domStencil_func::domFunc::registerElement() _Meta = new daeMetaElement; _Meta->setName( "func" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_func::domFunc::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_func::domFunc::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2835,9 +3271,9 @@ domGles_pipeline_settings::domStencil_func::domRef::registerElement() _Meta = new daeMetaElement; _Meta->setName( "ref" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_func::domRef::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_func::domRef::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2886,9 +3322,9 @@ domGles_pipeline_settings::domStencil_func::domMask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mask" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_func::domMask::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_func::domMask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2937,9 +3373,9 @@ domGles_pipeline_settings::domStencil_mask::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_mask" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_mask::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_mask::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -2988,13 +3424,33 @@ domGles_pipeline_settings::domStencil_op::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_op" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_op::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_op::create); - // Add elements: fail, zfail, zpass - _Meta->appendElement(domGles_pipeline_settings::domStencil_op::domFail::registerElement(),daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemFail)); - _Meta->appendElement(domGles_pipeline_settings::domStencil_op::domZfail::registerElement(),daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZfail)); - _Meta->appendElement(domGles_pipeline_settings::domStencil_op::domZpass::registerElement(),daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZpass)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fail" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemFail) ); + mea->setElementType( domGles_pipeline_settings::domStencil_op::domFail::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "zfail" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZfail) ); + mea->setElementType( domGles_pipeline_settings::domStencil_op::domZfail::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "zpass" ); + mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZpass) ); + mea->setElementType( domGles_pipeline_settings::domStencil_op::domZpass::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op)); @@ -3018,9 +3474,9 @@ domGles_pipeline_settings::domStencil_op::domFail::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fail" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_op::domFail::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_op::domFail::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3069,9 +3525,9 @@ domGles_pipeline_settings::domStencil_op::domZfail::registerElement() _Meta = new daeMetaElement; _Meta->setName( "zfail" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_op::domZfail::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_op::domZfail::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3120,9 +3576,9 @@ domGles_pipeline_settings::domStencil_op::domZpass::registerElement() _Meta = new daeMetaElement; _Meta->setName( "zpass" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_op::domZpass::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_op::domZpass::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3171,9 +3627,9 @@ domGles_pipeline_settings::domAlpha_test_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "alpha_test_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domAlpha_test_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domAlpha_test_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3222,9 +3678,9 @@ domGles_pipeline_settings::domBlend_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blend_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domBlend_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domBlend_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3273,9 +3729,9 @@ domGles_pipeline_settings::domClip_plane_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "clip_plane_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domClip_plane_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domClip_plane_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3335,9 +3791,9 @@ domGles_pipeline_settings::domColor_logic_op_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color_logic_op_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domColor_logic_op_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domColor_logic_op_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3386,9 +3842,9 @@ domGles_pipeline_settings::domColor_material_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color_material_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domColor_material_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domColor_material_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3437,9 +3893,9 @@ domGles_pipeline_settings::domCull_face_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "cull_face_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domCull_face_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domCull_face_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3488,9 +3944,9 @@ domGles_pipeline_settings::domDepth_test_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_test_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domDepth_test_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domDepth_test_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3539,9 +3995,9 @@ domGles_pipeline_settings::domDither_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "dither_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domDither_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domDither_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3590,9 +4046,9 @@ domGles_pipeline_settings::domFog_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "fog_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domFog_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domFog_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3641,9 +4097,9 @@ domGles_pipeline_settings::domTexture_pipeline_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texture_pipeline_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domTexture_pipeline_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domTexture_pipeline_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3692,9 +4148,9 @@ domGles_pipeline_settings::domLight_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3755,9 +4211,9 @@ domGles_pipeline_settings::domLighting_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "lighting_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLighting_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLighting_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3806,9 +4262,9 @@ domGles_pipeline_settings::domLight_model_two_side_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light_model_two_side_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLight_model_two_side_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLight_model_two_side_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3857,9 +4313,9 @@ domGles_pipeline_settings::domLine_smooth_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "line_smooth_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domLine_smooth_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domLine_smooth_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3908,9 +4364,9 @@ domGles_pipeline_settings::domMultisample_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "multisample_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domMultisample_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domMultisample_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -3959,9 +4415,9 @@ domGles_pipeline_settings::domNormalize_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "normalize_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domNormalize_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domNormalize_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4010,9 +4466,9 @@ domGles_pipeline_settings::domPoint_smooth_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point_smooth_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domPoint_smooth_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domPoint_smooth_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4061,9 +4517,9 @@ domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygon_offset_fill_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domPolygon_offset_fill_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domPolygon_offset_fill_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4112,9 +4568,9 @@ domGles_pipeline_settings::domRescale_normal_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "rescale_normal_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domRescale_normal_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domRescale_normal_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4163,9 +4619,9 @@ domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sample_alpha_to_coverage_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domSample_alpha_to_coverage_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domSample_alpha_to_coverage_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4214,9 +4670,9 @@ domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sample_alpha_to_one_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domSample_alpha_to_one_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domSample_alpha_to_one_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4265,9 +4721,9 @@ domGles_pipeline_settings::domSample_coverage_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sample_coverage_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domSample_coverage_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domSample_coverage_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4316,9 +4772,9 @@ domGles_pipeline_settings::domScissor_test_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "scissor_test_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domScissor_test_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domScissor_test_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { @@ -4367,9 +4823,9 @@ domGles_pipeline_settings::domStencil_test_enable::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_test_enable" ); - _Meta->setStaticPointerAddress(&domGles_pipeline_settings::domStencil_test_enable::_Meta); _Meta->registerConstructor(domGles_pipeline_settings::domStencil_test_enable::create); + _Meta->setIsInnerClass( true ); // Add attribute: value { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_sampler_state.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_sampler_state.cpp index 2c90b29d5..998f12823 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_sampler_state.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_sampler_state.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_sampler_state::create(daeInt bytes) @@ -29,18 +35,62 @@ domGles_sampler_state::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_sampler_state" ); - _Meta->setStaticPointerAddress(&domGles_sampler_state::_Meta); _Meta->registerConstructor(domGles_sampler_state::create); - // Add elements: wrap_s, wrap_t, minfilter, magfilter, mipfilter, mipmap_maxlevel, mipmap_bias, extra - _Meta->appendElement(domGles_sampler_state::domWrap_s::registerElement(),daeOffsetOf(domGles_sampler_state,elemWrap_s)); - _Meta->appendElement(domGles_sampler_state::domWrap_t::registerElement(),daeOffsetOf(domGles_sampler_state,elemWrap_t)); - _Meta->appendElement(domGles_sampler_state::domMinfilter::registerElement(),daeOffsetOf(domGles_sampler_state,elemMinfilter)); - _Meta->appendElement(domGles_sampler_state::domMagfilter::registerElement(),daeOffsetOf(domGles_sampler_state,elemMagfilter)); - _Meta->appendElement(domGles_sampler_state::domMipfilter::registerElement(),daeOffsetOf(domGles_sampler_state,elemMipfilter)); - _Meta->appendElement(domGles_sampler_state::domMipmap_maxlevel::registerElement(),daeOffsetOf(domGles_sampler_state,elemMipmap_maxlevel)); - _Meta->appendElement(domGles_sampler_state::domMipmap_bias::registerElement(),daeOffsetOf(domGles_sampler_state,elemMipmap_bias)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domGles_sampler_state,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "wrap_s" ); + mea->setOffset( daeOffsetOf(domGles_sampler_state,elemWrap_s) ); + mea->setElementType( domGles_sampler_state::domWrap_s::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "wrap_t" ); + mea->setOffset( daeOffsetOf(domGles_sampler_state,elemWrap_t) ); + mea->setElementType( domGles_sampler_state::domWrap_t::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "minfilter" ); + mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMinfilter) ); + mea->setElementType( domGles_sampler_state::domMinfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "magfilter" ); + mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMagfilter) ); + mea->setElementType( domGles_sampler_state::domMagfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "mipfilter" ); + mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMipfilter) ); + mea->setElementType( domGles_sampler_state::domMipfilter::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipmap_maxlevel" ); + mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMipmap_maxlevel) ); + mea->setElementType( domGles_sampler_state::domMipmap_maxlevel::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "mipmap_bias" ); + mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMipmap_bias) ); + mea->setElementType( domGles_sampler_state::domMipmap_bias::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 7, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGles_sampler_state,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 7 ); + _Meta->setCMRoot( cm ); // Add attribute: sid { @@ -75,9 +125,9 @@ domGles_sampler_state::domWrap_s::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_s" ); - _Meta->setStaticPointerAddress(&domGles_sampler_state::domWrap_s::_Meta); _Meta->registerConstructor(domGles_sampler_state::domWrap_s::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -110,9 +160,9 @@ domGles_sampler_state::domWrap_t::registerElement() _Meta = new daeMetaElement; _Meta->setName( "wrap_t" ); - _Meta->setStaticPointerAddress(&domGles_sampler_state::domWrap_t::_Meta); _Meta->registerConstructor(domGles_sampler_state::domWrap_t::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -145,9 +195,9 @@ domGles_sampler_state::domMinfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "minfilter" ); - _Meta->setStaticPointerAddress(&domGles_sampler_state::domMinfilter::_Meta); _Meta->registerConstructor(domGles_sampler_state::domMinfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -180,9 +230,9 @@ domGles_sampler_state::domMagfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "magfilter" ); - _Meta->setStaticPointerAddress(&domGles_sampler_state::domMagfilter::_Meta); _Meta->registerConstructor(domGles_sampler_state::domMagfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -215,9 +265,9 @@ domGles_sampler_state::domMipfilter::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipfilter" ); - _Meta->setStaticPointerAddress(&domGles_sampler_state::domMipfilter::_Meta); _Meta->registerConstructor(domGles_sampler_state::domMipfilter::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -250,9 +300,9 @@ domGles_sampler_state::domMipmap_maxlevel::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_maxlevel" ); - _Meta->setStaticPointerAddress(&domGles_sampler_state::domMipmap_maxlevel::_Meta); _Meta->registerConstructor(domGles_sampler_state::domMipmap_maxlevel::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -285,9 +335,9 @@ domGles_sampler_state::domMipmap_bias::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mipmap_bias" ); - _Meta->setStaticPointerAddress(&domGles_sampler_state::domMipmap_bias::_Meta); _Meta->registerConstructor(domGles_sampler_state::domMipmap_bias::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp index 7372268de..e46262f66 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texcombiner_argumentAlpha_type::create(daeInt bytes) @@ -29,7 +35,6 @@ domGles_texcombiner_argumentAlpha_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texcombiner_argumentAlpha_type" ); - _Meta->setStaticPointerAddress(&domGles_texcombiner_argumentAlpha_type::_Meta); _Meta->registerConstructor(domGles_texcombiner_argumentAlpha_type::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp index 2d45f3e09..544d18888 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texcombiner_argumentRGB_type::create(daeInt bytes) @@ -29,7 +35,6 @@ domGles_texcombiner_argumentRGB_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texcombiner_argumentRGB_type" ); - _Meta->setStaticPointerAddress(&domGles_texcombiner_argumentRGB_type::_Meta); _Meta->registerConstructor(domGles_texcombiner_argumentRGB_type::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp index d24a7519b..6df949b5f 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texcombiner_commandAlpha_type::create(daeInt bytes) @@ -29,11 +35,20 @@ domGles_texcombiner_commandAlpha_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texcombiner_commandAlpha_type" ); - _Meta->setStaticPointerAddress(&domGles_texcombiner_commandAlpha_type::_Meta); _Meta->registerConstructor(domGles_texcombiner_commandAlpha_type::create); - // Add elements: argument - _Meta->appendArrayElement(domGles_texcombiner_argumentAlpha_type::registerElement(),daeOffsetOf(domGles_texcombiner_commandAlpha_type,elemArgument_array),"argument"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 3 ); + mea->setName( "argument" ); + mea->setOffset( daeOffsetOf(domGles_texcombiner_commandAlpha_type,elemArgument_array) ); + mea->setElementType( domGles_texcombiner_argumentAlpha_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: operator { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp index 743cc85ec..aa4c15bdb 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texcombiner_commandRGB_type::create(daeInt bytes) @@ -29,11 +35,20 @@ domGles_texcombiner_commandRGB_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texcombiner_commandRGB_type" ); - _Meta->setStaticPointerAddress(&domGles_texcombiner_commandRGB_type::_Meta); _Meta->registerConstructor(domGles_texcombiner_commandRGB_type::create); - // Add elements: argument - _Meta->appendArrayElement(domGles_texcombiner_argumentRGB_type::registerElement(),daeOffsetOf(domGles_texcombiner_commandRGB_type,elemArgument_array),"argument"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 3 ); + mea->setName( "argument" ); + mea->setOffset( daeOffsetOf(domGles_texcombiner_commandRGB_type,elemArgument_array) ); + mea->setElementType( domGles_texcombiner_argumentRGB_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: operator { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_command_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_command_type.cpp index ac84a2488..37e2390a5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_command_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texcombiner_command_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texcombiner_command_type::create(daeInt bytes) @@ -29,13 +35,32 @@ domGles_texcombiner_command_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texcombiner_command_type" ); - _Meta->setStaticPointerAddress(&domGles_texcombiner_command_type::_Meta); _Meta->registerConstructor(domGles_texcombiner_command_type::create); - // Add elements: constant, RGB, alpha - _Meta->appendElement(domGles_texture_constant_type::registerElement(),daeOffsetOf(domGles_texcombiner_command_type,elemConstant),"constant"); - _Meta->appendElement(domGles_texcombiner_commandRGB_type::registerElement(),daeOffsetOf(domGles_texcombiner_command_type,elemRGB),"RGB"); - _Meta->appendElement(domGles_texcombiner_commandAlpha_type::registerElement(),daeOffsetOf(domGles_texcombiner_command_type,elemAlpha),"alpha"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "constant" ); + mea->setOffset( daeOffsetOf(domGles_texcombiner_command_type,elemConstant) ); + mea->setElementType( domGles_texture_constant_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "RGB" ); + mea->setOffset( daeOffsetOf(domGles_texcombiner_command_type,elemRGB) ); + mea->setElementType( domGles_texcombiner_commandRGB_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "alpha" ); + mea->setOffset( daeOffsetOf(domGles_texcombiner_command_type,elemAlpha) ); + mea->setElementType( domGles_texcombiner_commandAlpha_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domGles_texcombiner_command_type)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texenv_command_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texenv_command_type.cpp index 8a240c623..ef42b5e9d 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texenv_command_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texenv_command_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texenv_command_type::create(daeInt bytes) @@ -29,11 +35,20 @@ domGles_texenv_command_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texenv_command_type" ); - _Meta->setStaticPointerAddress(&domGles_texenv_command_type::_Meta); _Meta->registerConstructor(domGles_texenv_command_type::create); - // Add elements: constant - _Meta->appendElement(domGles_texture_constant_type::registerElement(),daeOffsetOf(domGles_texenv_command_type,elemConstant),"constant"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "constant" ); + mea->setOffset( daeOffsetOf(domGles_texenv_command_type,elemConstant) ); + mea->setElementType( domGles_texture_constant_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: operator { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_constant_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_constant_type.cpp index 82181418e..8f0f3783c 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_constant_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_constant_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texture_constant_type::create(daeInt bytes) @@ -29,7 +35,6 @@ domGles_texture_constant_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texture_constant_type" ); - _Meta->setStaticPointerAddress(&domGles_texture_constant_type::_Meta); _Meta->registerConstructor(domGles_texture_constant_type::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_pipeline.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_pipeline.cpp index 98dbd36c1..1b9542301 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_pipeline.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_pipeline.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texture_pipeline::create(daeInt bytes) @@ -29,15 +35,35 @@ domGles_texture_pipeline::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texture_pipeline" ); - _Meta->setStaticPointerAddress(&domGles_texture_pipeline::_Meta); _Meta->registerConstructor(domGles_texture_pipeline::create); - // Add elements: texcombiner, texenv, extra - _Meta->appendArrayElement(domGles_texcombiner_command_type::registerElement(),daeOffsetOf(domGles_texture_pipeline,elemTexcombiner_array),"texcombiner"); - _Meta->appendArrayElement(domGles_texenv_command_type::registerElement(),daeOffsetOf(domGles_texture_pipeline,elemTexenv_array),"texenv"); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domGles_texture_pipeline,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texcombiner" ); + mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemTexcombiner_array) ); + mea->setElementType( domGles_texcombiner_command_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "texenv" ); + mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemTexenv_array) ); + mea->setElementType( domGles_texenv_command_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGles_texture_pipeline,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGles_texture_pipeline,_contentsOrder)); // Add attribute: sid diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_unit.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_unit.cpp index 197b3c5d7..458e504d5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_unit.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGles_texture_unit.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGles_texture_unit::create(daeInt bytes) @@ -29,13 +35,38 @@ domGles_texture_unit::registerElement() _Meta = new daeMetaElement; _Meta->setName( "gles_texture_unit" ); - _Meta->setStaticPointerAddress(&domGles_texture_unit::_Meta); _Meta->registerConstructor(domGles_texture_unit::create); - // Add elements: surface, sampler_state, texcoord - _Meta->appendElement(domGles_texture_unit::domSurface::registerElement(),daeOffsetOf(domGles_texture_unit,elemSurface)); - _Meta->appendElement(domGles_texture_unit::domSampler_state::registerElement(),daeOffsetOf(domGles_texture_unit,elemSampler_state)); - _Meta->appendElement(domGles_texture_unit::domTexcoord::registerElement(),daeOffsetOf(domGles_texture_unit,elemTexcoord)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "surface" ); + mea->setOffset( daeOffsetOf(domGles_texture_unit,elemSurface) ); + mea->setElementType( domGles_texture_unit::domSurface::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "sampler_state" ); + mea->setOffset( daeOffsetOf(domGles_texture_unit,elemSampler_state) ); + mea->setElementType( domGles_texture_unit::domSampler_state::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "texcoord" ); + mea->setOffset( daeOffsetOf(domGles_texture_unit,elemTexcoord) ); + mea->setElementType( domGles_texture_unit::domTexcoord::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGles_texture_unit,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: sid { @@ -70,9 +101,9 @@ domGles_texture_unit::domSurface::registerElement() _Meta = new daeMetaElement; _Meta->setName( "surface" ); - _Meta->setStaticPointerAddress(&domGles_texture_unit::domSurface::_Meta); _Meta->registerConstructor(domGles_texture_unit::domSurface::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -105,9 +136,9 @@ domGles_texture_unit::domSampler_state::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sampler_state" ); - _Meta->setStaticPointerAddress(&domGles_texture_unit::domSampler_state::_Meta); _Meta->registerConstructor(domGles_texture_unit::domSampler_state::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -140,9 +171,9 @@ domGles_texture_unit::domTexcoord::registerElement() _Meta = new daeMetaElement; _Meta->setName( "texcoord" ); - _Meta->setStaticPointerAddress(&domGles_texture_unit::domTexcoord::_Meta); _Meta->registerConstructor(domGles_texture_unit::domTexcoord::create); + _Meta->setIsInnerClass( true ); // Add attribute: semantic { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_newarray_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_newarray_type.cpp index f4ed8d19b..511d1e646 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_newarray_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_newarray_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGlsl_newarray_type::create(daeInt bytes) @@ -29,37 +35,29 @@ domGlsl_newarray_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "glsl_newarray_type" ); - _Meta->setStaticPointerAddress(&domGlsl_newarray_type::_Meta); _Meta->registerConstructor(domGlsl_newarray_type::create); - // Add elements: glsl_param_type, array - _Meta->appendArrayElement(domGlsl_param_type::registerElement(),daeOffsetOf(domGlsl_newarray_type,elemGlsl_param_type_array)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "gl_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "gl_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "gl_sampler3D"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "gl_samplerCUBE"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "gl_samplerRECT"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "gl_samplerDEPTH"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); - _Meta->appendArrayElement(domGlsl_newarray_type::registerElement(),daeOffsetOf(domGlsl_newarray_type,elemArray_array),"array"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "glsl_param_type" ); + mea->setOffset( daeOffsetOf(domGlsl_newarray_type,elemGlsl_param_type_array) ); + mea->setElementType( domGlsl_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domGlsl_newarray_type,elemArray_array) ); + mea->setElementType( domGlsl_newarray_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGlsl_newarray_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGlsl_newarray_type,_contentsOrder)); // Add attribute: length diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_newparam.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_newparam.cpp index 51a88d273..22bf884c9 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_newparam.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_newparam.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGlsl_newparam::create(daeInt bytes) @@ -29,40 +35,53 @@ domGlsl_newparam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "glsl_newparam" ); - _Meta->setStaticPointerAddress(&domGlsl_newparam::_Meta); _Meta->registerConstructor(domGlsl_newparam::create); - // Add elements: annotate, semantic, modifier, glsl_param_type, array - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domGlsl_newparam,elemAnnotate_array),"annotate"); - _Meta->appendElement(domGlsl_newparam::domSemantic::registerElement(),daeOffsetOf(domGlsl_newparam,elemSemantic)); - _Meta->appendElement(domGlsl_newparam::domModifier::registerElement(),daeOffsetOf(domGlsl_newparam,elemModifier)); - _Meta->appendElement(domGlsl_param_type::registerElement(),daeOffsetOf(domGlsl_newparam,elemGlsl_param_type)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[3]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[3], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[3], "gl_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[3], "gl_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[3], "gl_sampler3D"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[3], "gl_samplerCUBE"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[3], "gl_samplerRECT"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[3], "gl_samplerDEPTH"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[3]); - _Meta->appendElement(domGlsl_newarray_type::registerElement(),daeOffsetOf(domGlsl_newparam,elemArray),"array"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domGlsl_newparam,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "semantic" ); + mea->setOffset( daeOffsetOf(domGlsl_newparam,elemSemantic) ); + mea->setElementType( domGlsl_newparam::domSemantic::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "modifier" ); + mea->setOffset( daeOffsetOf(domGlsl_newparam,elemModifier) ); + mea->setElementType( domGlsl_newparam::domModifier::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 3, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "glsl_param_type" ); + mea->setOffset( daeOffsetOf(domGlsl_newparam,elemGlsl_param_type) ); + mea->setElementType( domGlsl_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domGlsl_newparam,elemArray) ); + mea->setElementType( domGlsl_newarray_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGlsl_newparam,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGlsl_newparam,_contentsOrder)); // Add attribute: sid @@ -99,9 +118,9 @@ domGlsl_newparam::domSemantic::registerElement() _Meta = new daeMetaElement; _Meta->setName( "semantic" ); - _Meta->setStaticPointerAddress(&domGlsl_newparam::domSemantic::_Meta); _Meta->registerConstructor(domGlsl_newparam::domSemantic::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -134,9 +153,9 @@ domGlsl_newparam::domModifier::registerElement() _Meta = new daeMetaElement; _Meta->setName( "modifier" ); - _Meta->setStaticPointerAddress(&domGlsl_newparam::domModifier::_Meta); _Meta->registerConstructor(domGlsl_newparam::domModifier::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_param_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_param_type.cpp index 8f41df326..4c5b2acbc 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_param_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_param_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGlsl_param_type::create(daeInt bytes) @@ -29,36 +35,156 @@ domGlsl_param_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "glsl_param_type" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::_Meta); _Meta->registerConstructor(domGlsl_param_type::create); _Meta->setIsTransparent( true ); - // Add elements: bool, bool2, bool3, bool4, float, float2, float3, float4, float2x2, float3x3, float4x4, int, int2, int3, int4, surface, sampler1D, sampler2D, sampler3D, samplerCUBE, samplerRECT, samplerDEPTH, enum - _Meta->appendElement(domGlsl_param_type::domBool::registerElement(),daeOffsetOf(domGlsl_param_type,elemBool)); - _Meta->appendElement(domGlsl_param_type::domBool2::registerElement(),daeOffsetOf(domGlsl_param_type,elemBool2)); - _Meta->appendElement(domGlsl_param_type::domBool3::registerElement(),daeOffsetOf(domGlsl_param_type,elemBool3)); - _Meta->appendElement(domGlsl_param_type::domBool4::registerElement(),daeOffsetOf(domGlsl_param_type,elemBool4)); - _Meta->appendElement(domGlsl_param_type::domFloat::registerElement(),daeOffsetOf(domGlsl_param_type,elemFloat)); - _Meta->appendElement(domGlsl_param_type::domFloat2::registerElement(),daeOffsetOf(domGlsl_param_type,elemFloat2)); - _Meta->appendElement(domGlsl_param_type::domFloat3::registerElement(),daeOffsetOf(domGlsl_param_type,elemFloat3)); - _Meta->appendElement(domGlsl_param_type::domFloat4::registerElement(),daeOffsetOf(domGlsl_param_type,elemFloat4)); - _Meta->appendElement(domGlsl_param_type::domFloat2x2::registerElement(),daeOffsetOf(domGlsl_param_type,elemFloat2x2)); - _Meta->appendElement(domGlsl_param_type::domFloat3x3::registerElement(),daeOffsetOf(domGlsl_param_type,elemFloat3x3)); - _Meta->appendElement(domGlsl_param_type::domFloat4x4::registerElement(),daeOffsetOf(domGlsl_param_type,elemFloat4x4)); - _Meta->appendElement(domGlsl_param_type::domInt::registerElement(),daeOffsetOf(domGlsl_param_type,elemInt)); - _Meta->appendElement(domGlsl_param_type::domInt2::registerElement(),daeOffsetOf(domGlsl_param_type,elemInt2)); - _Meta->appendElement(domGlsl_param_type::domInt3::registerElement(),daeOffsetOf(domGlsl_param_type,elemInt3)); - _Meta->appendElement(domGlsl_param_type::domInt4::registerElement(),daeOffsetOf(domGlsl_param_type,elemInt4)); - _Meta->appendElement(domFx_surface_common::registerElement(),daeOffsetOf(domGlsl_param_type,elemSurface),"surface"); - _Meta->appendElement(domGl_sampler1D::registerElement(),daeOffsetOf(domGlsl_param_type,elemSampler1D),"sampler1D"); - _Meta->appendElement(domGl_sampler2D::registerElement(),daeOffsetOf(domGlsl_param_type,elemSampler2D),"sampler2D"); - _Meta->appendElement(domGl_sampler3D::registerElement(),daeOffsetOf(domGlsl_param_type,elemSampler3D),"sampler3D"); - _Meta->appendElement(domGl_samplerCUBE::registerElement(),daeOffsetOf(domGlsl_param_type,elemSamplerCUBE),"samplerCUBE"); - _Meta->appendElement(domGl_samplerRECT::registerElement(),daeOffsetOf(domGlsl_param_type,elemSamplerRECT),"samplerRECT"); - _Meta->appendElement(domGl_samplerDEPTH::registerElement(),daeOffsetOf(domGlsl_param_type,elemSamplerDEPTH),"samplerDEPTH"); - _Meta->appendElement(domGlsl_param_type::domEnum::registerElement(),daeOffsetOf(domGlsl_param_type,elemEnum)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemBool) ); + mea->setElementType( domGlsl_param_type::domBool::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool2" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemBool2) ); + mea->setElementType( domGlsl_param_type::domBool2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool3" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemBool3) ); + mea->setElementType( domGlsl_param_type::domBool3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool4" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemBool4) ); + mea->setElementType( domGlsl_param_type::domBool4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat) ); + mea->setElementType( domGlsl_param_type::domFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat2) ); + mea->setElementType( domGlsl_param_type::domFloat2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat3) ); + mea->setElementType( domGlsl_param_type::domFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat4) ); + mea->setElementType( domGlsl_param_type::domFloat4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float2x2" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat2x2) ); + mea->setElementType( domGlsl_param_type::domFloat2x2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float3x3" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat3x3) ); + mea->setElementType( domGlsl_param_type::domFloat3x3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float4x4" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat4x4) ); + mea->setElementType( domGlsl_param_type::domFloat4x4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemInt) ); + mea->setElementType( domGlsl_param_type::domInt::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int2" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemInt2) ); + mea->setElementType( domGlsl_param_type::domInt2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int3" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemInt3) ); + mea->setElementType( domGlsl_param_type::domInt3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int4" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemInt4) ); + mea->setElementType( domGlsl_param_type::domInt4::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "surface" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSurface) ); + mea->setElementType( domGlsl_surface_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler1D" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSampler1D) ); + mea->setElementType( domGl_sampler1D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler2D" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSampler2D) ); + mea->setElementType( domGl_sampler2D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sampler3D" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSampler3D) ); + mea->setElementType( domGl_sampler3D::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerCUBE" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSamplerCUBE) ); + mea->setElementType( domGl_samplerCUBE::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerRECT" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSamplerRECT) ); + mea->setElementType( domGl_samplerRECT::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "samplerDEPTH" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSamplerDEPTH) ); + mea->setElementType( domGl_samplerDEPTH::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "enum" ); + mea->setOffset( daeOffsetOf(domGlsl_param_type,elemEnum) ); + mea->setElementType( domGlsl_param_type::domEnum::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGlsl_param_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGlsl_param_type,_contentsOrder)); @@ -83,9 +209,9 @@ domGlsl_param_type::domBool::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domBool::_Meta); _Meta->registerConstructor(domGlsl_param_type::domBool::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -118,9 +244,9 @@ domGlsl_param_type::domBool2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool2" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domBool2::_Meta); _Meta->registerConstructor(domGlsl_param_type::domBool2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -153,9 +279,9 @@ domGlsl_param_type::domBool3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool3" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domBool3::_Meta); _Meta->registerConstructor(domGlsl_param_type::domBool3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -188,9 +314,9 @@ domGlsl_param_type::domBool4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bool4" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domBool4::_Meta); _Meta->registerConstructor(domGlsl_param_type::domBool4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -223,9 +349,9 @@ domGlsl_param_type::domFloat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domFloat::_Meta); _Meta->registerConstructor(domGlsl_param_type::domFloat::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -258,9 +384,9 @@ domGlsl_param_type::domFloat2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domFloat2::_Meta); _Meta->registerConstructor(domGlsl_param_type::domFloat2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -293,9 +419,9 @@ domGlsl_param_type::domFloat3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domFloat3::_Meta); _Meta->registerConstructor(domGlsl_param_type::domFloat3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -328,9 +454,9 @@ domGlsl_param_type::domFloat4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domFloat4::_Meta); _Meta->registerConstructor(domGlsl_param_type::domFloat4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -363,9 +489,9 @@ domGlsl_param_type::domFloat2x2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float2x2" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domFloat2x2::_Meta); _Meta->registerConstructor(domGlsl_param_type::domFloat2x2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -398,9 +524,9 @@ domGlsl_param_type::domFloat3x3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float3x3" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domFloat3x3::_Meta); _Meta->registerConstructor(domGlsl_param_type::domFloat3x3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -433,9 +559,9 @@ domGlsl_param_type::domFloat4x4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "float4x4" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domFloat4x4::_Meta); _Meta->registerConstructor(domGlsl_param_type::domFloat4x4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -468,9 +594,9 @@ domGlsl_param_type::domInt::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domInt::_Meta); _Meta->registerConstructor(domGlsl_param_type::domInt::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -503,9 +629,9 @@ domGlsl_param_type::domInt2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int2" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domInt2::_Meta); _Meta->registerConstructor(domGlsl_param_type::domInt2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -538,9 +664,9 @@ domGlsl_param_type::domInt3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int3" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domInt3::_Meta); _Meta->registerConstructor(domGlsl_param_type::domInt3::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -573,9 +699,9 @@ domGlsl_param_type::domInt4::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int4" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domInt4::_Meta); _Meta->registerConstructor(domGlsl_param_type::domInt4::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -608,9 +734,9 @@ domGlsl_param_type::domEnum::registerElement() _Meta = new daeMetaElement; _Meta->setName( "enum" ); - _Meta->setStaticPointerAddress(&domGlsl_param_type::domEnum::_Meta); _Meta->registerConstructor(domGlsl_param_type::domEnum::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setarray_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setarray_type.cpp index 871af9f80..982e36813 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setarray_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setarray_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGlsl_setarray_type::create(daeInt bytes) @@ -29,37 +35,29 @@ domGlsl_setarray_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "glsl_setarray_type" ); - _Meta->setStaticPointerAddress(&domGlsl_setarray_type::_Meta); _Meta->registerConstructor(domGlsl_setarray_type::create); - // Add elements: glsl_param_type, array - _Meta->appendArrayElement(domGlsl_param_type::registerElement(),daeOffsetOf(domGlsl_setarray_type,elemGlsl_param_type_array)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "gl_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "gl_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "gl_sampler3D"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "gl_samplerCUBE"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "gl_samplerRECT"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "gl_samplerDEPTH"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); - _Meta->appendArrayElement(domGlsl_setarray_type::registerElement(),daeOffsetOf(domGlsl_setarray_type,elemArray_array),"array"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "glsl_param_type" ); + mea->setOffset( daeOffsetOf(domGlsl_setarray_type,elemGlsl_param_type_array) ); + mea->setElementType( domGlsl_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domGlsl_setarray_type,elemArray_array) ); + mea->setElementType( domGlsl_setarray_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGlsl_setarray_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGlsl_setarray_type,_contentsOrder)); // Add attribute: length diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setparam.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setparam.cpp index c4a2a847f..0ffe385b9 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setparam.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setparam.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGlsl_setparam::create(daeInt bytes) @@ -29,38 +35,41 @@ domGlsl_setparam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "glsl_setparam" ); - _Meta->setStaticPointerAddress(&domGlsl_setparam::_Meta); _Meta->registerConstructor(domGlsl_setparam::create); - // Add elements: annotate, glsl_param_type, array - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domGlsl_setparam,elemAnnotate_array),"annotate"); - _Meta->appendElement(domGlsl_param_type::registerElement(),daeOffsetOf(domGlsl_setparam,elemGlsl_param_type)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[1], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[1], "gl_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[1], "gl_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[1], "gl_sampler3D"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[1], "gl_samplerCUBE"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[1], "gl_samplerRECT"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[1], "gl_samplerDEPTH"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[1]); - _Meta->appendElement(domGlsl_setarray_type::registerElement(),daeOffsetOf(domGlsl_setparam,elemArray),"array"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domGlsl_setparam,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "glsl_param_type" ); + mea->setOffset( daeOffsetOf(domGlsl_setparam,elemGlsl_param_type) ); + mea->setElementType( domGlsl_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "array" ); + mea->setOffset( daeOffsetOf(domGlsl_setparam,elemArray) ); + mea->setElementType( domGlsl_setarray_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGlsl_setparam,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGlsl_setparam,_contentsOrder)); // Add attribute: ref diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setparam_simple.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setparam_simple.cpp index 20e124375..475c08814 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setparam_simple.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_setparam_simple.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGlsl_setparam_simple::create(daeInt bytes) @@ -29,35 +35,26 @@ domGlsl_setparam_simple::registerElement() _Meta = new daeMetaElement; _Meta->setName( "glsl_setparam_simple" ); - _Meta->setStaticPointerAddress(&domGlsl_setparam_simple::_Meta); _Meta->registerConstructor(domGlsl_setparam_simple::create); - // Add elements: annotate, glsl_param_type - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domGlsl_setparam_simple,elemAnnotate_array),"annotate"); - _Meta->appendElement(domGlsl_param_type::registerElement(),daeOffsetOf(domGlsl_setparam_simple,elemGlsl_param_type)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[1], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[1], "gl_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[1], "gl_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[1], "gl_sampler3D"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[1], "gl_samplerCUBE"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[1], "gl_samplerRECT"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[1], "gl_samplerDEPTH"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[1]); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domGlsl_setparam_simple,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "glsl_param_type" ); + mea->setOffset( daeOffsetOf(domGlsl_setparam_simple,elemGlsl_param_type) ); + mea->setElementType( domGlsl_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 1, 1, 1 ) ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Add attribute: ref { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_surface_type.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_surface_type.cpp index 7fbefb814..18bbecb65 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_surface_type.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domGlsl_surface_type.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domGlsl_surface_type::create(daeInt bytes) @@ -29,17 +35,90 @@ domGlsl_surface_type::registerElement() _Meta = new daeMetaElement; _Meta->setName( "glsl_surface_type" ); - _Meta->setStaticPointerAddress(&domGlsl_surface_type::_Meta); _Meta->registerConstructor(domGlsl_surface_type::create); - // Add elements: init_from, format, size, viewport_ratio, mip_levels, mipmap_generate, generator - _Meta->appendArrayElement(domInit_from::registerElement(),daeOffsetOf(domGlsl_surface_type,elemInit_from_array)); - _Meta->appendElement(domFormat::registerElement(),daeOffsetOf(domGlsl_surface_type,elemFormat)); - _Meta->appendElement(domSize::registerElement(),daeOffsetOf(domGlsl_surface_type,elemSize)); - _Meta->appendElement(domViewport_ratio::registerElement(),daeOffsetOf(domGlsl_surface_type,elemViewport_ratio)); - _Meta->appendElement(domMip_levels::registerElement(),daeOffsetOf(domGlsl_surface_type,elemMip_levels)); - _Meta->appendElement(domMipmap_generate::registerElement(),daeOffsetOf(domGlsl_surface_type,elemMipmap_generate)); - _Meta->appendElement(domGenerator::registerElement(),daeOffsetOf(domGlsl_surface_type,elemGenerator)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "fx_surface_init_common" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemFx_surface_init_common) ); + mea->setElementType( domFx_surface_init_common::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 0, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "format" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemFormat) ); + mea->setElementType( domFormat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "format_hint" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemFormat_hint) ); + mea->setElementType( domFx_surface_format_hint_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 3, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "size" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemSize) ); + mea->setElementType( domSize::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "viewport_ratio" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemViewport_ratio) ); + mea->setElementType( domViewport_ratio::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "mip_levels" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemMip_levels) ); + mea->setElementType( domMip_levels::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "mipmap_generate" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemMipmap_generate) ); + mea->setElementType( domMipmap_generate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 6 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaSequence( _Meta, cm, 7, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "generator" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemGenerator) ); + mea->setElementType( domGenerator::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm->setMaxOrdinal( 7 ); + _Meta->setCMRoot( cm ); + // Ordered list of sub-elements + _Meta->addContents(daeOffsetOf(domGlsl_surface_type,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGlsl_surface_type,_contentsOrder)); + // Add attribute: type { @@ -75,17 +154,54 @@ domGlsl_surface_type::domGenerator::registerElement() _Meta = new daeMetaElement; _Meta->setName( "generator" ); - _Meta->setStaticPointerAddress(&domGlsl_surface_type::domGenerator::_Meta); _Meta->registerConstructor(domGlsl_surface_type::domGenerator::create); - // Add elements: annotate, code, include, name, setparam - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domGlsl_surface_type::domGenerator,elemAnnotate_array),"annotate"); - _Meta->appendArrayElement(domFx_code_profile::registerElement(),daeOffsetOf(domGlsl_surface_type::domGenerator,elemCode_array),"code"); - _Meta->appendArrayElement(domFx_include_common::registerElement(),daeOffsetOf(domGlsl_surface_type::domGenerator,elemInclude_array),"include"); - _Meta->appendElement(domGlsl_surface_type::domGenerator::domName::registerElement(),daeOffsetOf(domGlsl_surface_type::domGenerator,elemName)); - _Meta->appendArrayElement(domGlsl_setparam_simple::registerElement(),daeOffsetOf(domGlsl_surface_type::domGenerator,elemSetparam_array),"setparam"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "code" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemCode_array) ); + mea->setElementType( domFx_code_profile::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "include" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemInclude_array) ); + mea->setElementType( domFx_include_common::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 3002, 1, 1 ); + mea->setName( "name" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemName) ); + mea->setElementType( domGlsl_surface_type::domGenerator::domName::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "setparam" ); + mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemSetparam_array) ); + mea->setElementType( domGlsl_setparam_simple::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3003 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domGlsl_surface_type::domGenerator,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domGlsl_surface_type::domGenerator,_contentsOrder)); @@ -110,9 +226,9 @@ domGlsl_surface_type::domGenerator::domName::registerElement() _Meta = new daeMetaElement; _Meta->setName( "name" ); - _Meta->setStaticPointerAddress(&domGlsl_surface_type::domGenerator::domName::_Meta); _Meta->registerConstructor(domGlsl_surface_type::domGenerator::domName::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domIDREF_array.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domIDREF_array.cpp index 72a2da4cb..51be2758d 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domIDREF_array.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domIDREF_array.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domIDREF_array::create(daeInt bytes) @@ -29,7 +35,6 @@ domIDREF_array::registerElement() _Meta = new daeMetaElement; _Meta->setName( "IDREF_array" ); - _Meta->setStaticPointerAddress(&domIDREF_array::_Meta); _Meta->registerConstructor(domIDREF_array::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domImage.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domImage.cpp index 589abf2f8..9031becdd 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domImage.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domImage.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domImage::create(daeInt bytes) @@ -29,16 +35,47 @@ domImage::registerElement() _Meta = new daeMetaElement; _Meta->setName( "image" ); - _Meta->setStaticPointerAddress(&domImage::_Meta); _Meta->registerConstructor(domImage::create); - // Add elements: asset, data, init_from, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domImage,elemAsset)); - _Meta->appendElement(domImage::domData::registerElement(),daeOffsetOf(domImage,elemData)); - _Meta->appendElement(domImage::domInit_from::registerElement(),daeOffsetOf(domImage,elemInit_from)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domImage,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domImage,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "data" ); + mea->setOffset( daeOffsetOf(domImage,elemData) ); + mea->setElementType( domImage::domData::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "init_from" ); + mea->setOffset( daeOffsetOf(domImage,elemInit_from) ); + mea->setElementType( domImage::domInit_from::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domImage,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domImage,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domImage,_contentsOrder)); // Add attribute: id @@ -130,9 +167,9 @@ domImage::domData::registerElement() _Meta = new daeMetaElement; _Meta->setName( "data" ); - _Meta->setStaticPointerAddress(&domImage::domData::_Meta); _Meta->registerConstructor(domImage::domData::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -166,9 +203,9 @@ domImage::domInit_from::registerElement() _Meta = new daeMetaElement; _Meta->setName( "init_from" ); - _Meta->setStaticPointerAddress(&domImage::domInit_from::_Meta); _Meta->registerConstructor(domImage::domInit_from::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInputGlobal.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInputGlobal.cpp index 898ec7581..3abdd0265 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInputGlobal.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInputGlobal.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInputGlobal::create(daeInt bytes) @@ -30,7 +36,6 @@ domInputGlobal::registerElement() _Meta = new daeMetaElement; _Meta->setName( "InputGlobal" ); - _Meta->setStaticPointerAddress(&domInputGlobal::_Meta); _Meta->registerConstructor(domInputGlobal::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInputLocal.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInputLocal.cpp index 2aaa57d8f..cff16ac97 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInputLocal.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInputLocal.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInputLocal::create(daeInt bytes) @@ -30,7 +36,6 @@ domInputLocal::registerElement() _Meta = new daeMetaElement; _Meta->setName( "InputLocal" ); - _Meta->setStaticPointerAddress(&domInputLocal::_Meta); _Meta->registerConstructor(domInputLocal::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInputLocalOffset.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInputLocalOffset.cpp index e9deb2db3..f94ce07b0 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInputLocalOffset.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInputLocalOffset.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInputLocalOffset::create(daeInt bytes) @@ -30,7 +36,6 @@ domInputLocalOffset::registerElement() _Meta = new daeMetaElement; _Meta->setName( "InputLocalOffset" ); - _Meta->setStaticPointerAddress(&domInputLocalOffset::_Meta); _Meta->registerConstructor(domInputLocalOffset::create); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstanceWithExtra.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstanceWithExtra.cpp index 9afc7533f..a7cd8c7a6 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstanceWithExtra.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstanceWithExtra.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstanceWithExtra::create(daeInt bytes) @@ -30,11 +36,20 @@ domInstanceWithExtra::registerElement() _Meta = new daeMetaElement; _Meta->setName( "InstanceWithExtra" ); - _Meta->setStaticPointerAddress(&domInstanceWithExtra::_Meta); _Meta->registerConstructor(domInstanceWithExtra::create); - // Add elements: extra - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstanceWithExtra,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstanceWithExtra,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: url { @@ -47,6 +62,28 @@ domInstanceWithExtra::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstanceWithExtra , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstanceWithExtra , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstanceWithExtra)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_camera.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_camera.cpp index 6a76e6da1..16c31b38d 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_camera.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_camera.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_camera::create(daeInt bytes) @@ -29,11 +35,18 @@ domInstance_camera::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_camera" ); - _Meta->setStaticPointerAddress(&domInstance_camera::_Meta); _Meta->registerConstructor(domInstance_camera::create); - // Add elements: extra - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_camera,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_camera,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + // Add attribute: url { @@ -46,6 +59,28 @@ domInstance_camera::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_camera , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_camera , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_camera)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_controller.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_controller.cpp index 136e96c5c..9ef42beab 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_controller.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_controller.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_controller::create(daeInt bytes) @@ -30,13 +36,32 @@ domInstance_controller::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_controller" ); - _Meta->setStaticPointerAddress(&domInstance_controller::_Meta); _Meta->registerConstructor(domInstance_controller::create); - // Add elements: skeleton, bind_material, extra - _Meta->appendArrayElement(domInstance_controller::domSkeleton::registerElement(),daeOffsetOf(domInstance_controller,elemSkeleton_array)); - _Meta->appendElement(domBind_material::registerElement(),daeOffsetOf(domInstance_controller,elemBind_material)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_controller,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "skeleton" ); + mea->setOffset( daeOffsetOf(domInstance_controller,elemSkeleton_array) ); + mea->setElementType( domInstance_controller::domSkeleton::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "bind_material" ); + mea->setOffset( daeOffsetOf(domInstance_controller,elemBind_material) ); + mea->setElementType( domBind_material::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_controller,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: url { @@ -49,6 +74,28 @@ domInstance_controller::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_controller , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_controller , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_controller)); @@ -73,9 +120,9 @@ domInstance_controller::domSkeleton::registerElement() _Meta = new daeMetaElement; _Meta->setName( "skeleton" ); - _Meta->setStaticPointerAddress(&domInstance_controller::domSkeleton::_Meta); _Meta->registerConstructor(domInstance_controller::domSkeleton::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_effect.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_effect.cpp index b05419810..cf1d789b2 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_effect.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_effect.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_effect::create(daeInt bytes) @@ -30,13 +36,32 @@ domInstance_effect::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_effect" ); - _Meta->setStaticPointerAddress(&domInstance_effect::_Meta); _Meta->registerConstructor(domInstance_effect::create); - // Add elements: technique_hint, setparam, extra - _Meta->appendArrayElement(domInstance_effect::domTechnique_hint::registerElement(),daeOffsetOf(domInstance_effect,elemTechnique_hint_array)); - _Meta->appendArrayElement(domInstance_effect::domSetparam::registerElement(),daeOffsetOf(domInstance_effect,elemSetparam_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_effect,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "technique_hint" ); + mea->setOffset( daeOffsetOf(domInstance_effect,elemTechnique_hint_array) ); + mea->setElementType( domInstance_effect::domTechnique_hint::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "setparam" ); + mea->setOffset( daeOffsetOf(domInstance_effect,elemSetparam_array) ); + mea->setElementType( domInstance_effect::domSetparam::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_effect,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: url { @@ -49,6 +74,28 @@ domInstance_effect::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_effect , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_effect , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_effect)); @@ -72,9 +119,9 @@ domInstance_effect::domTechnique_hint::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_hint" ); - _Meta->setStaticPointerAddress(&domInstance_effect::domTechnique_hint::_Meta); _Meta->registerConstructor(domInstance_effect::domTechnique_hint::create); + _Meta->setIsInnerClass( true ); // Add attribute: platform { @@ -83,7 +130,19 @@ domInstance_effect::domTechnique_hint::registerElement() ma->setType( daeAtomicType::get("xsNCName")); ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrPlatform )); ma->setContainer( _Meta ); - ma->setIsRequired( true ); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: profile + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "profile" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrProfile )); + ma->setContainer( _Meta ); + ma->setIsRequired( false ); _Meta->appendAttribute(ma); } @@ -122,53 +181,27 @@ domInstance_effect::domSetparam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "setparam" ); - _Meta->setStaticPointerAddress(&domInstance_effect::domSetparam::_Meta); _Meta->registerConstructor(domInstance_effect::domSetparam::create); - // Add elements: fx_basic_type_common - _Meta->appendElement(domFx_basic_type_common::registerElement(),daeOffsetOf(domInstance_effect::domSetparam,elemFx_basic_type_common)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "fx_sampler1D_common"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "fx_sampler2D_common"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "fx_sampler3D_common"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "fx_samplerCUBE_common"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "fx_samplerRECT_common"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "fx_samplerDEPTH_common"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "fx_basic_type_common" ); + mea->setOffset( daeOffsetOf(domInstance_effect::domSetparam,elemFx_basic_type_common) ); + mea->setElementType( domFx_basic_type_common::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: ref { daeMetaAttribute *ma = new daeMetaAttribute; ma->setName( "ref" ); - ma->setType( daeAtomicType::get("xsNCName")); + ma->setType( daeAtomicType::get("xsToken")); ma->setOffset( daeOffsetOf( domInstance_effect::domSetparam , attrRef )); ma->setContainer( _Meta ); ma->setIsRequired( true ); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_force_field.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_force_field.cpp index 37b4b9b6e..0bb4ce571 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_force_field.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_force_field.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_force_field::create(daeInt bytes) @@ -29,11 +35,18 @@ domInstance_force_field::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_force_field" ); - _Meta->setStaticPointerAddress(&domInstance_force_field::_Meta); _Meta->registerConstructor(domInstance_force_field::create); - // Add elements: extra - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_force_field,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_force_field,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + // Add attribute: url { @@ -46,6 +59,28 @@ domInstance_force_field::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_force_field , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_force_field , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_force_field)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_geometry.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_geometry.cpp index 053aad138..b564c9bd7 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_geometry.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_geometry.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_geometry::create(daeInt bytes) @@ -30,12 +36,26 @@ domInstance_geometry::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_geometry" ); - _Meta->setStaticPointerAddress(&domInstance_geometry::_Meta); _Meta->registerConstructor(domInstance_geometry::create); - // Add elements: bind_material, extra - _Meta->appendElement(domBind_material::registerElement(),daeOffsetOf(domInstance_geometry,elemBind_material)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_geometry,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "bind_material" ); + mea->setOffset( daeOffsetOf(domInstance_geometry,elemBind_material) ); + mea->setElementType( domBind_material::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_geometry,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Add attribute: url { @@ -48,6 +68,28 @@ domInstance_geometry::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_geometry , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_geometry , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_geometry)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_light.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_light.cpp index a2dd0f4ee..95845e1bb 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_light.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_light.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_light::create(daeInt bytes) @@ -29,11 +35,18 @@ domInstance_light::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_light" ); - _Meta->setStaticPointerAddress(&domInstance_light::_Meta); _Meta->registerConstructor(domInstance_light::create); - // Add elements: extra - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_light,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_light,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + // Add attribute: url { @@ -46,6 +59,28 @@ domInstance_light::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_light , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_light , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_light)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_material.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_material.cpp index 19b5c160a..1c10df560 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_material.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_material.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_material::create(daeInt bytes) @@ -30,12 +36,32 @@ domInstance_material::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_material" ); - _Meta->setStaticPointerAddress(&domInstance_material::_Meta); _Meta->registerConstructor(domInstance_material::create); - // Add elements: bind, extra - _Meta->appendArrayElement(domInstance_material::domBind::registerElement(),daeOffsetOf(domInstance_material,elemBind_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_material,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "bind" ); + mea->setOffset( daeOffsetOf(domInstance_material,elemBind_array) ); + mea->setElementType( domInstance_material::domBind::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "bind_vertex_input" ); + mea->setOffset( daeOffsetOf(domInstance_material,elemBind_vertex_input_array) ); + mea->setElementType( domInstance_material::domBind_vertex_input::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_material,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: symbol { @@ -60,6 +86,28 @@ domInstance_material::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_material , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_material , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_material)); @@ -83,9 +131,9 @@ domInstance_material::domBind::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bind" ); - _Meta->setStaticPointerAddress(&domInstance_material::domBind::_Meta); _Meta->registerConstructor(domInstance_material::domBind::create); + _Meta->setIsInnerClass( true ); // Add attribute: semantic { @@ -118,8 +166,70 @@ domInstance_material::domBind::registerElement() return _Meta; } +daeElementRef +domInstance_material::domBind_vertex_input::create(daeInt bytes) +{ + domInstance_material::domBind_vertex_inputRef ref = new(bytes) domInstance_material::domBind_vertex_input; + return ref; +} + + +daeMetaElement * +domInstance_material::domBind_vertex_input::registerElement() +{ + if ( _Meta != NULL ) return _Meta; + + _Meta = new daeMetaElement; + _Meta->setName( "bind_vertex_input" ); + _Meta->registerConstructor(domInstance_material::domBind_vertex_input::create); + + _Meta->setIsInnerClass( true ); + + // Add attribute: semantic + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "semantic" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrSemantic )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: input_semantic + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "input_semantic" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_semantic )); + ma->setContainer( _Meta ); + ma->setIsRequired( true ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: input_set + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "input_set" ); + ma->setType( daeAtomicType::get("Uint")); + ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_set )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + + _Meta->setElementSize(sizeof(domInstance_material::domBind_vertex_input)); + _Meta->validate(); + + return _Meta; +} + daeMetaElement * domInstance_material::_Meta = NULL; daeMetaElement * domInstance_material::domBind::_Meta = NULL; +daeMetaElement * domInstance_material::domBind_vertex_input::_Meta = NULL; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_node.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_node.cpp index 8f8db20fb..a61babe11 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_node.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_node.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_node::create(daeInt bytes) @@ -29,11 +35,18 @@ domInstance_node::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_node" ); - _Meta->setStaticPointerAddress(&domInstance_node::_Meta); _Meta->registerConstructor(domInstance_node::create); - // Add elements: extra - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_node,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_node,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + // Add attribute: url { @@ -46,6 +59,28 @@ domInstance_node::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_node , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_node , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_node)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_physics_material.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_physics_material.cpp index 3c1bf3988..2602b742f 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_physics_material.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_physics_material.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_physics_material::create(daeInt bytes) @@ -29,11 +35,18 @@ domInstance_physics_material::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_physics_material" ); - _Meta->setStaticPointerAddress(&domInstance_physics_material::_Meta); _Meta->registerConstructor(domInstance_physics_material::create); - // Add elements: extra - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_physics_material,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_physics_material,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + // Add attribute: url { @@ -46,6 +59,28 @@ domInstance_physics_material::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_physics_material , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_physics_material , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_physics_material)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_physics_model.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_physics_model.cpp index 67acb8eb5..561caa652 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_physics_model.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_physics_model.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_physics_model::create(daeInt bytes) @@ -31,14 +37,38 @@ domInstance_physics_model::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_physics_model" ); - _Meta->setStaticPointerAddress(&domInstance_physics_model::_Meta); _Meta->registerConstructor(domInstance_physics_model::create); - // Add elements: instance_force_field, instance_rigid_body, instance_rigid_constraint, extra - _Meta->appendArrayElement(domInstance_force_field::registerElement(),daeOffsetOf(domInstance_physics_model,elemInstance_force_field_array)); - _Meta->appendArrayElement(domInstance_rigid_body::registerElement(),daeOffsetOf(domInstance_physics_model,elemInstance_rigid_body_array)); - _Meta->appendArrayElement(domInstance_rigid_constraint::registerElement(),daeOffsetOf(domInstance_physics_model,elemInstance_rigid_constraint_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_physics_model,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "instance_force_field" ); + mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_force_field_array) ); + mea->setElementType( domInstance_force_field::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "instance_rigid_body" ); + mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_rigid_body_array) ); + mea->setElementType( domInstance_rigid_body::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "instance_rigid_constraint" ); + mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_rigid_constraint_array) ); + mea->setElementType( domInstance_rigid_constraint::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_physics_model,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: url { @@ -63,6 +93,17 @@ domInstance_physics_model::registerElement() _Meta->appendAttribute(ma); } + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_physics_model , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + // Add attribute: parent { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_rigid_body.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_rigid_body.cpp index af190ebba..d1bf0c5a2 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_rigid_body.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_rigid_body.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_rigid_body::create(daeInt bytes) @@ -30,13 +36,32 @@ domInstance_rigid_body::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_rigid_body" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_body::_Meta); _Meta->registerConstructor(domInstance_rigid_body::create); - // Add elements: technique_common, technique, extra - _Meta->appendElement(domInstance_rigid_body::domTechnique_common::registerElement(),daeOffsetOf(domInstance_rigid_body,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domInstance_rigid_body,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_rigid_body,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_common) ); + mea->setElementType( domInstance_rigid_body::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: body { @@ -61,6 +86,17 @@ domInstance_rigid_body::registerElement() _Meta->appendAttribute(ma); } + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + // Add attribute: target { daeMetaAttribute *ma = new daeMetaAttribute; @@ -95,21 +131,78 @@ domInstance_rigid_body::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_body::domTechnique_common::_Meta); _Meta->registerConstructor(domInstance_rigid_body::domTechnique_common::create); - // Add elements: angular_velocity, velocity, dynamic, mass, mass_frame, inertia, instance_physics_material, physics_material, shape - _Meta->appendElement(domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemAngular_velocity)); - _Meta->appendElement(domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemVelocity)); - _Meta->appendElement(domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemDynamic)); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass),"mass"); - _Meta->appendElement(domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass_frame)); - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInertia),"inertia"); - _Meta->appendElement(domInstance_physics_material::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInstance_physics_material)); - _Meta->appendElement(domPhysics_material::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemPhysics_material)); - _Meta->appendArrayElement(domInstance_rigid_body::domTechnique_common::domShape::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemShape_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "angular_velocity" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemAngular_velocity) ); + mea->setElementType( domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "velocity" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemVelocity) ); + mea->setElementType( domInstance_rigid_body::domTechnique_common::domVelocity::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "dynamic" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemDynamic) ); + mea->setElementType( domInstance_rigid_body::domTechnique_common::domDynamic::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "mass" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "mass_frame" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass_frame) ); + mea->setElementType( domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "inertia" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInertia) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 6, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "instance_physics_material" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInstance_physics_material) ); + mea->setElementType( domInstance_physics_material::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "physics_material" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemPhysics_material) ); + mea->setElementType( domPhysics_material::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 7, 0, -1 ); + mea->setName( "shape" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemShape_array) ); + mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 7 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contentsOrder)); @@ -134,9 +227,9 @@ domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElemen _Meta = new daeMetaElement; _Meta->setName( "angular_velocity" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_body::domTechnique_common::domAngular_velocity::_Meta); _Meta->registerConstructor(domInstance_rigid_body::domTechnique_common::domAngular_velocity::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -169,9 +262,9 @@ domInstance_rigid_body::domTechnique_common::domVelocity::registerElement() _Meta = new daeMetaElement; _Meta->setName( "velocity" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_body::domTechnique_common::domVelocity::_Meta); _Meta->registerConstructor(domInstance_rigid_body::domTechnique_common::domVelocity::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -204,9 +297,9 @@ domInstance_rigid_body::domTechnique_common::domDynamic::registerElement() _Meta = new daeMetaElement; _Meta->setName( "dynamic" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_body::domTechnique_common::domDynamic::_Meta); _Meta->registerConstructor(domInstance_rigid_body::domTechnique_common::domDynamic::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -250,14 +343,30 @@ domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mass_frame" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_body::domTechnique_common::domMass_frame::_Meta); _Meta->registerConstructor(domInstance_rigid_body::domTechnique_common::domMass_frame::create); - // Add elements: translate, rotate - _Meta->appendArrayElement(domTranslate::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemTranslate_array)); - _Meta->appendArrayElement(domRotate::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemRotate_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "translate" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemTranslate_array) ); + mea->setElementType( domTranslate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rotate" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemRotate_array) ); + mea->setElementType( domRotate::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contentsOrder)); @@ -282,28 +391,132 @@ domInstance_rigid_body::domTechnique_common::domShape::registerElement() _Meta = new daeMetaElement; _Meta->setName( "shape" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_body::domTechnique_common::domShape::_Meta); _Meta->registerConstructor(domInstance_rigid_body::domTechnique_common::domShape::create); - // Add elements: hollow, mass, density, instance_physics_material, physics_material, instance_geometry, plane, box, sphere, cylinder, tapered_cylinder, capsule, tapered_capsule, translate, rotate, extra - _Meta->appendElement(domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemHollow)); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemMass),"mass"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemDensity),"density"); - _Meta->appendElement(domInstance_physics_material::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_physics_material)); - _Meta->appendElement(domPhysics_material::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPhysics_material)); - _Meta->appendElement(domInstance_geometry::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_geometry)); - _Meta->appendElement(domPlane::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPlane)); - _Meta->appendElement(domBox::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemBox)); - _Meta->appendElement(domSphere::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemSphere)); - _Meta->appendElement(domCylinder::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCylinder)); - _Meta->appendElement(domTapered_cylinder::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTapered_cylinder)); - _Meta->appendElement(domCapsule::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCapsule)); - _Meta->appendElement(domTapered_capsule::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTapered_capsule)); - _Meta->appendArrayElement(domTranslate::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTranslate_array)); - _Meta->appendArrayElement(domRotate::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemRotate_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "hollow" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemHollow) ); + mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "mass" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemMass) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "density" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemDensity) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 3, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "instance_physics_material" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_physics_material) ); + mea->setElementType( domInstance_physics_material::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "physics_material" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPhysics_material) ); + mea->setElementType( domPhysics_material::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 4, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "instance_geometry" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_geometry) ); + mea->setElementType( domInstance_geometry::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "plane" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPlane) ); + mea->setElementType( domPlane::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "box" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemBox) ); + mea->setElementType( domBox::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sphere" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemSphere) ); + mea->setElementType( domSphere::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cylinder" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCylinder) ); + mea->setElementType( domCylinder::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "tapered_cylinder" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTapered_cylinder) ); + mea->setElementType( domTapered_cylinder::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "capsule" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCapsule) ); + mea->setElementType( domCapsule::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "tapered_capsule" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTapered_capsule) ); + mea->setElementType( domTapered_capsule::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 5, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "translate" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTranslate_array) ); + mea->setElementType( domTranslate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rotate" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemRotate_array) ); + mea->setElementType( domRotate::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3006, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3006 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contentsOrder)); @@ -328,9 +541,9 @@ domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElemen _Meta = new daeMetaElement; _Meta->setName( "hollow" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_body::domTechnique_common::domShape::domHollow::_Meta); _Meta->registerConstructor(domInstance_rigid_body::domTechnique_common::domShape::domHollow::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_rigid_constraint.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_rigid_constraint.cpp index dbb11d614..6e451c5c6 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInstance_rigid_constraint.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInstance_rigid_constraint.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInstance_rigid_constraint::create(daeInt bytes) @@ -29,11 +35,20 @@ domInstance_rigid_constraint::registerElement() _Meta = new daeMetaElement; _Meta->setName( "instance_rigid_constraint" ); - _Meta->setStaticPointerAddress(&domInstance_rigid_constraint::_Meta); _Meta->registerConstructor(domInstance_rigid_constraint::create); - // Add elements: extra - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domInstance_rigid_constraint,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domInstance_rigid_constraint,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: constraint { @@ -46,6 +61,28 @@ domInstance_rigid_constraint::registerElement() _Meta->appendAttribute(ma); } + + // Add attribute: sid + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "sid" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrSid )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domInstance_rigid_constraint)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domInt_array.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domInt_array.cpp index 0b41d30db..421efd982 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domInt_array.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domInt_array.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domInt_array::create(daeInt bytes) @@ -29,7 +35,6 @@ domInt_array::registerElement() _Meta = new daeMetaElement; _Meta->setName( "int_array" ); - _Meta->setStaticPointerAddress(&domInt_array::_Meta); _Meta->registerConstructor(domInt_array::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_animation_clips.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_animation_clips.cpp index 88973aeda..99790a758 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_animation_clips.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_animation_clips.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_animation_clips::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_animation_clips::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_animation_clips" ); - _Meta->setStaticPointerAddress(&domLibrary_animation_clips::_Meta); _Meta->registerConstructor(domLibrary_animation_clips::create); - // Add elements: asset, animation_clip, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_animation_clips,elemAsset)); - _Meta->appendArrayElement(domAnimation_clip::registerElement(),daeOffsetOf(domLibrary_animation_clips,elemAnimation_clip_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_animation_clips,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "animation_clip" ); + mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemAnimation_clip_array) ); + mea->setElementType( domAnimation_clip::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_animations.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_animations.cpp index bb96cc1ea..d2c5485f3 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_animations.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_animations.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_animations::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_animations::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_animations" ); - _Meta->setStaticPointerAddress(&domLibrary_animations::_Meta); _Meta->registerConstructor(domLibrary_animations::create); - // Add elements: asset, animation, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_animations,elemAsset)); - _Meta->appendArrayElement(domAnimation::registerElement(),daeOffsetOf(domLibrary_animations,elemAnimation_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_animations,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_animations,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "animation" ); + mea->setOffset( daeOffsetOf(domLibrary_animations,elemAnimation_array) ); + mea->setElementType( domAnimation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_animations,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_cameras.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_cameras.cpp index 93ee173ed..10ae1ea6a 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_cameras.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_cameras.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_cameras::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_cameras::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_cameras" ); - _Meta->setStaticPointerAddress(&domLibrary_cameras::_Meta); _Meta->registerConstructor(domLibrary_cameras::create); - // Add elements: asset, camera, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_cameras,elemAsset)); - _Meta->appendArrayElement(domCamera::registerElement(),daeOffsetOf(domLibrary_cameras,elemCamera_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_cameras,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_cameras,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "camera" ); + mea->setOffset( daeOffsetOf(domLibrary_cameras,elemCamera_array) ); + mea->setElementType( domCamera::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_cameras,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_controllers.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_controllers.cpp index 8970b60e8..2eb5668a4 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_controllers.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_controllers.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_controllers::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_controllers::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_controllers" ); - _Meta->setStaticPointerAddress(&domLibrary_controllers::_Meta); _Meta->registerConstructor(domLibrary_controllers::create); - // Add elements: asset, controller, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_controllers,elemAsset)); - _Meta->appendArrayElement(domController::registerElement(),daeOffsetOf(domLibrary_controllers,elemController_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_controllers,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_controllers,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "controller" ); + mea->setOffset( daeOffsetOf(domLibrary_controllers,elemController_array) ); + mea->setElementType( domController::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_controllers,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_effects.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_effects.cpp index 60ae1ce26..5937c5dd6 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_effects.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_effects.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_effects::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_effects::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_effects" ); - _Meta->setStaticPointerAddress(&domLibrary_effects::_Meta); _Meta->registerConstructor(domLibrary_effects::create); - // Add elements: asset, effect, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_effects,elemAsset)); - _Meta->appendArrayElement(domEffect::registerElement(),daeOffsetOf(domLibrary_effects,elemEffect_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_effects,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_effects,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "effect" ); + mea->setOffset( daeOffsetOf(domLibrary_effects,elemEffect_array) ); + mea->setElementType( domEffect::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_effects,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_force_fields.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_force_fields.cpp index 645c309ce..ccbde8a6a 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_force_fields.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_force_fields.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_force_fields::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_force_fields::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_force_fields" ); - _Meta->setStaticPointerAddress(&domLibrary_force_fields::_Meta); _Meta->registerConstructor(domLibrary_force_fields::create); - // Add elements: asset, force_field, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_force_fields,elemAsset)); - _Meta->appendArrayElement(domForce_field::registerElement(),daeOffsetOf(domLibrary_force_fields,elemForce_field_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_force_fields,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "force_field" ); + mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemForce_field_array) ); + mea->setElementType( domForce_field::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_geometries.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_geometries.cpp index d510d5518..e2567d7aa 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_geometries.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_geometries.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_geometries::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_geometries::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_geometries" ); - _Meta->setStaticPointerAddress(&domLibrary_geometries::_Meta); _Meta->registerConstructor(domLibrary_geometries::create); - // Add elements: asset, geometry, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_geometries,elemAsset)); - _Meta->appendArrayElement(domGeometry::registerElement(),daeOffsetOf(domLibrary_geometries,elemGeometry_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_geometries,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_geometries,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "geometry" ); + mea->setOffset( daeOffsetOf(domLibrary_geometries,elemGeometry_array) ); + mea->setElementType( domGeometry::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_geometries,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_images.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_images.cpp index cdbab2995..fca7e6625 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_images.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_images.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_images::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_images::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_images" ); - _Meta->setStaticPointerAddress(&domLibrary_images::_Meta); _Meta->registerConstructor(domLibrary_images::create); - // Add elements: asset, image, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_images,elemAsset)); - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domLibrary_images,elemImage_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_images,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_images,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domLibrary_images,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_images,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_lights.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_lights.cpp index f887aa8c6..2fb1586b3 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_lights.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_lights.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_lights::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_lights::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_lights" ); - _Meta->setStaticPointerAddress(&domLibrary_lights::_Meta); _Meta->registerConstructor(domLibrary_lights::create); - // Add elements: asset, light, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_lights,elemAsset)); - _Meta->appendArrayElement(domLight::registerElement(),daeOffsetOf(domLibrary_lights,elemLight_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_lights,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_lights,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "light" ); + mea->setOffset( daeOffsetOf(domLibrary_lights,elemLight_array) ); + mea->setElementType( domLight::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_lights,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_materials.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_materials.cpp index 62418006c..4494618d6 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_materials.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_materials.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_materials::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_materials::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_materials" ); - _Meta->setStaticPointerAddress(&domLibrary_materials::_Meta); _Meta->registerConstructor(domLibrary_materials::create); - // Add elements: asset, material, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_materials,elemAsset)); - _Meta->appendArrayElement(domMaterial::registerElement(),daeOffsetOf(domLibrary_materials,elemMaterial_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_materials,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_materials,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "material" ); + mea->setOffset( daeOffsetOf(domLibrary_materials,elemMaterial_array) ); + mea->setElementType( domMaterial::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_materials,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_nodes.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_nodes.cpp index f2e0e5bb2..6e115d140 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_nodes.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_nodes.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_nodes::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_nodes::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_nodes" ); - _Meta->setStaticPointerAddress(&domLibrary_nodes::_Meta); _Meta->registerConstructor(domLibrary_nodes::create); - // Add elements: asset, node, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_nodes,elemAsset)); - _Meta->appendArrayElement(domNode::registerElement(),daeOffsetOf(domLibrary_nodes,elemNode_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_nodes,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_nodes,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "node" ); + mea->setOffset( daeOffsetOf(domLibrary_nodes,elemNode_array) ); + mea->setElementType( domNode::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_nodes,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_materials.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_materials.cpp index 227d4e921..3767283b5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_materials.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_materials.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_physics_materials::create(daeInt bytes) @@ -29,13 +35,54 @@ domLibrary_physics_materials::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_physics_materials" ); - _Meta->setStaticPointerAddress(&domLibrary_physics_materials::_Meta); _Meta->registerConstructor(domLibrary_physics_materials::create); - // Add elements: asset, physics_material, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_physics_materials,elemAsset)); - _Meta->appendArrayElement(domPhysics_material::registerElement(),daeOffsetOf(domLibrary_physics_materials,elemPhysics_material_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_physics_materials,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "physics_material" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemPhysics_material_array) ); + mea->setElementType( domPhysics_material::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); + + // Add attribute: id + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "id" ); + ma->setType( daeAtomicType::get("xsID")); + ma->setOffset( daeOffsetOf( domLibrary_physics_materials , attrId )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: name + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "name" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domLibrary_physics_materials , attrName )); + ma->setContainer( _Meta ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domLibrary_physics_materials)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_models.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_models.cpp index a71c86ddd..7748ec7aa 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_models.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_models.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_physics_models::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_physics_models::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_physics_models" ); - _Meta->setStaticPointerAddress(&domLibrary_physics_models::_Meta); _Meta->registerConstructor(domLibrary_physics_models::create); - // Add elements: asset, physics_model, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_physics_models,elemAsset)); - _Meta->appendArrayElement(domPhysics_model::registerElement(),daeOffsetOf(domLibrary_physics_models,elemPhysics_model_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_physics_models,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "physics_model" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemPhysics_model_array) ); + mea->setElementType( domPhysics_model::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_scenes.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_scenes.cpp index eaff87767..205e42d49 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_scenes.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_physics_scenes.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_physics_scenes::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_physics_scenes::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_physics_scenes" ); - _Meta->setStaticPointerAddress(&domLibrary_physics_scenes::_Meta); _Meta->registerConstructor(domLibrary_physics_scenes::create); - // Add elements: asset, physics_scene, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_physics_scenes,elemAsset)); - _Meta->appendArrayElement(domPhysics_scene::registerElement(),daeOffsetOf(domLibrary_physics_scenes,elemPhysics_scene_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_physics_scenes,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "physics_scene" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemPhysics_scene_array) ); + mea->setElementType( domPhysics_scene::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_visual_scenes.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_visual_scenes.cpp index db0d0cbd4..aeea9152c 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_visual_scenes.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLibrary_visual_scenes.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLibrary_visual_scenes::create(daeInt bytes) @@ -29,13 +35,32 @@ domLibrary_visual_scenes::registerElement() _Meta = new daeMetaElement; _Meta->setName( "library_visual_scenes" ); - _Meta->setStaticPointerAddress(&domLibrary_visual_scenes::_Meta); _Meta->registerConstructor(domLibrary_visual_scenes::create); - // Add elements: asset, visual_scene, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLibrary_visual_scenes,elemAsset)); - _Meta->appendArrayElement(domVisual_scene::registerElement(),daeOffsetOf(domLibrary_visual_scenes,elemVisual_scene_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLibrary_visual_scenes,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "visual_scene" ); + mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemVisual_scene_array) ); + mea->setElementType( domVisual_scene::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLight.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLight.cpp index 3be80756c..e3356afb5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLight.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLight.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLight::create(daeInt bytes) @@ -29,14 +35,38 @@ domLight::registerElement() _Meta = new daeMetaElement; _Meta->setName( "light" ); - _Meta->setStaticPointerAddress(&domLight::_Meta); _Meta->registerConstructor(domLight::create); - // Add elements: asset, technique_common, technique, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domLight,elemAsset)); - _Meta->appendElement(domLight::domTechnique_common::registerElement(),daeOffsetOf(domLight,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domLight,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLight,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domLight,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domLight,elemTechnique_common) ); + mea->setElementType( domLight::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domLight,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLight,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: id { @@ -82,16 +112,42 @@ domLight::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domLight::domTechnique_common::_Meta); _Meta->registerConstructor(domLight::domTechnique_common::create); - // Add elements: ambient, directional, point, spot - _Meta->appendElement(domLight::domTechnique_common::domAmbient::registerElement(),daeOffsetOf(domLight::domTechnique_common,elemAmbient)); - _Meta->appendElement(domLight::domTechnique_common::domDirectional::registerElement(),daeOffsetOf(domLight::domTechnique_common,elemDirectional)); - _Meta->appendElement(domLight::domTechnique_common::domPoint::registerElement(),daeOffsetOf(domLight::domTechnique_common,elemPoint)); - _Meta->appendElement(domLight::domTechnique_common::domSpot::registerElement(),daeOffsetOf(domLight::domTechnique_common,elemSpot)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "ambient" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemAmbient) ); + mea->setElementType( domLight::domTechnique_common::domAmbient::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "directional" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemDirectional) ); + mea->setElementType( domLight::domTechnique_common::domDirectional::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "point" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemPoint) ); + mea->setElementType( domLight::domTechnique_common::domPoint::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "spot" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemSpot) ); + mea->setElementType( domLight::domTechnique_common::domSpot::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domLight::domTechnique_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domLight::domTechnique_common,_contentsOrder)); @@ -116,11 +172,21 @@ domLight::domTechnique_common::domAmbient::registerElement() _Meta = new daeMetaElement; _Meta->setName( "ambient" ); - _Meta->setStaticPointerAddress(&domLight::domTechnique_common::domAmbient::_Meta); _Meta->registerConstructor(domLight::domTechnique_common::domAmbient::create); - // Add elements: color - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domLight::domTechnique_common::domAmbient,elemColor),"color"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domAmbient,elemColor) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domLight::domTechnique_common::domAmbient)); @@ -144,11 +210,21 @@ domLight::domTechnique_common::domDirectional::registerElement() _Meta = new daeMetaElement; _Meta->setName( "directional" ); - _Meta->setStaticPointerAddress(&domLight::domTechnique_common::domDirectional::_Meta); _Meta->registerConstructor(domLight::domTechnique_common::domDirectional::create); - // Add elements: color - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domLight::domTechnique_common::domDirectional,elemColor),"color"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domDirectional,elemColor) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domLight::domTechnique_common::domDirectional)); @@ -172,14 +248,39 @@ domLight::domTechnique_common::domPoint::registerElement() _Meta = new daeMetaElement; _Meta->setName( "point" ); - _Meta->setStaticPointerAddress(&domLight::domTechnique_common::domPoint::_Meta); _Meta->registerConstructor(domLight::domTechnique_common::domPoint::create); - // Add elements: color, constant_attenuation, linear_attenuation, quadratic_attenuation - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domLight::domTechnique_common::domPoint,elemColor),"color"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domLight::domTechnique_common::domPoint,elemConstant_attenuation),"constant_attenuation"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domLight::domTechnique_common::domPoint,elemLinear_attenuation),"linear_attenuation"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domLight::domTechnique_common::domPoint,elemQuadratic_attenuation),"quadratic_attenuation"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemColor) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "constant_attenuation" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemConstant_attenuation) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "linear_attenuation" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemLinear_attenuation) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "quadratic_attenuation" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemQuadratic_attenuation) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domLight::domTechnique_common::domPoint)); @@ -203,16 +304,51 @@ domLight::domTechnique_common::domSpot::registerElement() _Meta = new daeMetaElement; _Meta->setName( "spot" ); - _Meta->setStaticPointerAddress(&domLight::domTechnique_common::domSpot::_Meta); _Meta->registerConstructor(domLight::domTechnique_common::domSpot::create); - // Add elements: color, constant_attenuation, linear_attenuation, quadratic_attenuation, falloff_angle, falloff_exponent - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domLight::domTechnique_common::domSpot,elemColor),"color"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domLight::domTechnique_common::domSpot,elemConstant_attenuation),"constant_attenuation"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domLight::domTechnique_common::domSpot,elemLinear_attenuation),"linear_attenuation"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domLight::domTechnique_common::domSpot,elemQuadratic_attenuation),"quadratic_attenuation"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_angle),"falloff_angle"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_exponent),"falloff_exponent"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "color" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemColor) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "constant_attenuation" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemConstant_attenuation) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "linear_attenuation" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemLinear_attenuation) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "quadratic_attenuation" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemQuadratic_attenuation) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "falloff_angle" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_angle) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "falloff_exponent" ); + mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_exponent) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 5 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domLight::domTechnique_common::domSpot)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLines.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLines.cpp index ba2af0344..a24a11f40 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLines.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLines.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLines::create(daeInt bytes) @@ -29,13 +35,32 @@ domLines::registerElement() _Meta = new daeMetaElement; _Meta->setName( "lines" ); - _Meta->setStaticPointerAddress(&domLines::_Meta); _Meta->registerConstructor(domLines::create); - // Add elements: input, p, extra - _Meta->appendArrayElement(domInputLocalOffset::registerElement(),daeOffsetOf(domLines,elemInput_array),"input"); - _Meta->appendElement(domP::registerElement(),daeOffsetOf(domLines,elemP)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLines,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domLines,elemInput_array) ); + mea->setElementType( domInputLocalOffset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "p" ); + mea->setOffset( daeOffsetOf(domLines,elemP) ); + mea->setElementType( domP::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLines,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: name { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLinestrips.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLinestrips.cpp index 9b650e83c..de40f0b58 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLinestrips.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLinestrips.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLinestrips::create(daeInt bytes) @@ -29,13 +35,32 @@ domLinestrips::registerElement() _Meta = new daeMetaElement; _Meta->setName( "linestrips" ); - _Meta->setStaticPointerAddress(&domLinestrips::_Meta); _Meta->registerConstructor(domLinestrips::create); - // Add elements: input, p, extra - _Meta->appendArrayElement(domInputLocalOffset::registerElement(),daeOffsetOf(domLinestrips,elemInput_array),"input"); - _Meta->appendArrayElement(domP::registerElement(),daeOffsetOf(domLinestrips,elemP_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domLinestrips,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domLinestrips,elemInput_array) ); + mea->setElementType( domInputLocalOffset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "p" ); + mea->setOffset( daeOffsetOf(domLinestrips,elemP_array) ); + mea->setElementType( domP::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domLinestrips,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: name { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domLookat.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domLookat.cpp index 44173358e..69048d315 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domLookat.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domLookat.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domLookat::create(daeInt bytes) @@ -29,7 +35,6 @@ domLookat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "lookat" ); - _Meta->setStaticPointerAddress(&domLookat::_Meta); _Meta->registerConstructor(domLookat::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domMaterial.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domMaterial.cpp index d4a65981f..d1bbaf10e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domMaterial.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domMaterial.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domMaterial::create(daeInt bytes) @@ -29,13 +35,32 @@ domMaterial::registerElement() _Meta = new daeMetaElement; _Meta->setName( "material" ); - _Meta->setStaticPointerAddress(&domMaterial::_Meta); _Meta->registerConstructor(domMaterial::create); - // Add elements: asset, instance_effect, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domMaterial,elemAsset)); - _Meta->appendElement(domInstance_effect::registerElement(),daeOffsetOf(domMaterial,elemInstance_effect)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domMaterial,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domMaterial,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "instance_effect" ); + mea->setOffset( daeOffsetOf(domMaterial,elemInstance_effect) ); + mea->setElementType( domInstance_effect::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domMaterial,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domMatrix.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domMatrix.cpp index 8eb2c840e..5cc293326 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domMatrix.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domMatrix.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domMatrix::create(daeInt bytes) @@ -29,7 +35,6 @@ domMatrix::registerElement() _Meta = new daeMetaElement; _Meta->setName( "matrix" ); - _Meta->setStaticPointerAddress(&domMatrix::_Meta); _Meta->registerConstructor(domMatrix::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domMesh.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domMesh.cpp index 891e6335a..44bebfe77 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domMesh.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domMesh.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domMesh::create(daeInt bytes) @@ -29,22 +35,83 @@ domMesh::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mesh" ); - _Meta->setStaticPointerAddress(&domMesh::_Meta); _Meta->registerConstructor(domMesh::create); - // Add elements: source, vertices, lines, linestrips, polygons, polylist, triangles, trifans, tristrips, extra - _Meta->appendArrayElement(domSource::registerElement(),daeOffsetOf(domMesh,elemSource_array)); - _Meta->appendElement(domVertices::registerElement(),daeOffsetOf(domMesh,elemVertices)); - _Meta->appendArrayElement(domLines::registerElement(),daeOffsetOf(domMesh,elemLines_array)); - _Meta->appendArrayElement(domLinestrips::registerElement(),daeOffsetOf(domMesh,elemLinestrips_array)); - _Meta->appendArrayElement(domPolygons::registerElement(),daeOffsetOf(domMesh,elemPolygons_array)); - _Meta->appendArrayElement(domPolylist::registerElement(),daeOffsetOf(domMesh,elemPolylist_array)); - _Meta->appendArrayElement(domTriangles::registerElement(),daeOffsetOf(domMesh,elemTriangles_array)); - _Meta->appendArrayElement(domTrifans::registerElement(),daeOffsetOf(domMesh,elemTrifans_array)); - _Meta->appendArrayElement(domTristrips::registerElement(),daeOffsetOf(domMesh,elemTristrips_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domMesh,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domMesh,elemSource_array) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "vertices" ); + mea->setOffset( daeOffsetOf(domMesh,elemVertices) ); + mea->setElementType( domVertices::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 2, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "lines" ); + mea->setOffset( daeOffsetOf(domMesh,elemLines_array) ); + mea->setElementType( domLines::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "linestrips" ); + mea->setOffset( daeOffsetOf(domMesh,elemLinestrips_array) ); + mea->setElementType( domLinestrips::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polygons" ); + mea->setOffset( daeOffsetOf(domMesh,elemPolygons_array) ); + mea->setElementType( domPolygons::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "polylist" ); + mea->setOffset( daeOffsetOf(domMesh,elemPolylist_array) ); + mea->setElementType( domPolylist::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "triangles" ); + mea->setOffset( daeOffsetOf(domMesh,elemTriangles_array) ); + mea->setElementType( domTriangles::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "trifans" ); + mea->setOffset( daeOffsetOf(domMesh,elemTrifans_array) ); + mea->setElementType( domTrifans::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "tristrips" ); + mea->setOffset( daeOffsetOf(domMesh,elemTristrips_array) ); + mea->setElementType( domTristrips::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domMesh,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3003 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domMesh,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domMesh,_contentsOrder)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domMorph.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domMorph.cpp index 313216bc3..2933be4a5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domMorph.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domMorph.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domMorph::create(daeInt bytes) @@ -30,13 +36,32 @@ domMorph::registerElement() _Meta = new daeMetaElement; _Meta->setName( "morph" ); - _Meta->setStaticPointerAddress(&domMorph::_Meta); _Meta->registerConstructor(domMorph::create); - // Add elements: source, targets, extra - _Meta->appendArrayElement(domSource::registerElement(),daeOffsetOf(domMorph,elemSource_array)); - _Meta->appendElement(domMorph::domTargets::registerElement(),daeOffsetOf(domMorph,elemTargets)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domMorph,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 2, -1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domMorph,elemSource_array) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "targets" ); + mea->setOffset( daeOffsetOf(domMorph,elemTargets) ); + mea->setElementType( domMorph::domTargets::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domMorph,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: method { @@ -84,12 +109,27 @@ domMorph::domTargets::registerElement() _Meta = new daeMetaElement; _Meta->setName( "targets" ); - _Meta->setStaticPointerAddress(&domMorph::domTargets::_Meta); _Meta->registerConstructor(domMorph::domTargets::create); - // Add elements: input, extra - _Meta->appendArrayElement(domInputLocal::registerElement(),daeOffsetOf(domMorph::domTargets,elemInput_array),"input"); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domMorph::domTargets,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 2, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domMorph::domTargets,elemInput_array) ); + mea->setElementType( domInputLocal::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domMorph::domTargets,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domMorph::domTargets)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domName_array.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domName_array.cpp index 63b38bcb9..2cd28f97e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domName_array.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domName_array.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domName_array::create(daeInt bytes) @@ -29,7 +35,6 @@ domName_array::registerElement() _Meta = new daeMetaElement; _Meta->setName( "Name_array" ); - _Meta->setStaticPointerAddress(&domName_array::_Meta); _Meta->registerConstructor(domName_array::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domNode.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domNode.cpp index e63e24187..7b161921e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domNode.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domNode.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domNode::create(daeInt bytes) @@ -29,26 +35,107 @@ domNode::registerElement() _Meta = new daeMetaElement; _Meta->setName( "node" ); - _Meta->setStaticPointerAddress(&domNode::_Meta); _Meta->registerConstructor(domNode::create); - // Add elements: asset, lookat, matrix, rotate, scale, skew, translate, instance_camera, instance_controller, instance_geometry, instance_light, instance_node, node, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domNode,elemAsset)); - _Meta->appendArrayElement(domLookat::registerElement(),daeOffsetOf(domNode,elemLookat_array)); - _Meta->appendArrayElement(domMatrix::registerElement(),daeOffsetOf(domNode,elemMatrix_array)); - _Meta->appendArrayElement(domRotate::registerElement(),daeOffsetOf(domNode,elemRotate_array)); - _Meta->appendArrayElement(domScale::registerElement(),daeOffsetOf(domNode,elemScale_array)); - _Meta->appendArrayElement(domSkew::registerElement(),daeOffsetOf(domNode,elemSkew_array)); - _Meta->appendArrayElement(domTranslate::registerElement(),daeOffsetOf(domNode,elemTranslate_array)); - _Meta->appendArrayElement(domInstance_camera::registerElement(),daeOffsetOf(domNode,elemInstance_camera_array)); - _Meta->appendArrayElement(domInstance_controller::registerElement(),daeOffsetOf(domNode,elemInstance_controller_array)); - _Meta->appendArrayElement(domInstance_geometry::registerElement(),daeOffsetOf(domNode,elemInstance_geometry_array)); - _Meta->appendArrayElement(domInstance_light::registerElement(),daeOffsetOf(domNode,elemInstance_light_array)); - _Meta->appendArrayElement(domInstance_node::registerElement(),daeOffsetOf(domNode,elemInstance_node_array)); - _Meta->appendArrayElement(domNode::registerElement(),daeOffsetOf(domNode,elemNode_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domNode,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domNode,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "lookat" ); + mea->setOffset( daeOffsetOf(domNode,elemLookat_array) ); + mea->setElementType( domLookat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "matrix" ); + mea->setOffset( daeOffsetOf(domNode,elemMatrix_array) ); + mea->setElementType( domMatrix::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rotate" ); + mea->setOffset( daeOffsetOf(domNode,elemRotate_array) ); + mea->setElementType( domRotate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "scale" ); + mea->setOffset( daeOffsetOf(domNode,elemScale_array) ); + mea->setElementType( domScale::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "skew" ); + mea->setOffset( daeOffsetOf(domNode,elemSkew_array) ); + mea->setElementType( domSkew::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "translate" ); + mea->setOffset( daeOffsetOf(domNode,elemTranslate_array) ); + mea->setElementType( domTranslate::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3002, 0, -1 ); + mea->setName( "instance_camera" ); + mea->setOffset( daeOffsetOf(domNode,elemInstance_camera_array) ); + mea->setElementType( domInstance_camera::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "instance_controller" ); + mea->setOffset( daeOffsetOf(domNode,elemInstance_controller_array) ); + mea->setElementType( domInstance_controller::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3004, 0, -1 ); + mea->setName( "instance_geometry" ); + mea->setOffset( daeOffsetOf(domNode,elemInstance_geometry_array) ); + mea->setElementType( domInstance_geometry::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3005, 0, -1 ); + mea->setName( "instance_light" ); + mea->setOffset( daeOffsetOf(domNode,elemInstance_light_array) ); + mea->setElementType( domInstance_light::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3006, 0, -1 ); + mea->setName( "instance_node" ); + mea->setOffset( daeOffsetOf(domNode,elemInstance_node_array) ); + mea->setElementType( domInstance_node::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3007, 0, -1 ); + mea->setName( "node" ); + mea->setOffset( daeOffsetOf(domNode,elemNode_array) ); + mea->setElementType( domNode::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3008, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domNode,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3008 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domNode,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domNode,_contentsOrder)); // Add attribute: id diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domP.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domP.cpp index f4f9733b0..5ff01caa4 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domP.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domP.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domP::create(daeInt bytes) @@ -29,7 +35,6 @@ domP::registerElement() _Meta = new daeMetaElement; _Meta->setName( "p" ); - _Meta->setStaticPointerAddress(&domP::_Meta); _Meta->registerConstructor(domP::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domParam.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domParam.cpp index cbaa91b33..a895721c5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domParam.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domParam.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domParam::create(daeInt bytes) @@ -29,7 +35,6 @@ domParam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domParam::_Meta); _Meta->registerConstructor(domParam::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_material.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_material.cpp index 362f47379..6246b0983 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_material.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_material.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domPhysics_material::create(daeInt bytes) @@ -29,14 +35,38 @@ domPhysics_material::registerElement() _Meta = new daeMetaElement; _Meta->setName( "physics_material" ); - _Meta->setStaticPointerAddress(&domPhysics_material::_Meta); _Meta->registerConstructor(domPhysics_material::create); - // Add elements: asset, technique_common, technique, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domPhysics_material,elemAsset)); - _Meta->appendElement(domPhysics_material::domTechnique_common::registerElement(),daeOffsetOf(domPhysics_material,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domPhysics_material,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domPhysics_material,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domPhysics_material,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domPhysics_material,elemTechnique_common) ); + mea->setElementType( domPhysics_material::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domPhysics_material,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domPhysics_material,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: id { @@ -82,13 +112,33 @@ domPhysics_material::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domPhysics_material::domTechnique_common::_Meta); _Meta->registerConstructor(domPhysics_material::domTechnique_common::create); - // Add elements: dynamic_friction, restitution, static_friction - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domPhysics_material::domTechnique_common,elemDynamic_friction),"dynamic_friction"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domPhysics_material::domTechnique_common,elemRestitution),"restitution"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domPhysics_material::domTechnique_common,elemStatic_friction),"static_friction"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "dynamic_friction" ); + mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemDynamic_friction) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "restitution" ); + mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemRestitution) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "static_friction" ); + mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemStatic_friction) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domPhysics_material::domTechnique_common)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_model.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_model.cpp index a210e4eb2..c08a91586 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_model.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_model.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domPhysics_model::create(daeInt bytes) @@ -29,15 +35,44 @@ domPhysics_model::registerElement() _Meta = new daeMetaElement; _Meta->setName( "physics_model" ); - _Meta->setStaticPointerAddress(&domPhysics_model::_Meta); _Meta->registerConstructor(domPhysics_model::create); - // Add elements: asset, rigid_body, rigid_constraint, instance_physics_model, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domPhysics_model,elemAsset)); - _Meta->appendArrayElement(domRigid_body::registerElement(),daeOffsetOf(domPhysics_model,elemRigid_body_array)); - _Meta->appendArrayElement(domRigid_constraint::registerElement(),daeOffsetOf(domPhysics_model,elemRigid_constraint_array)); - _Meta->appendArrayElement(domInstance_physics_model::registerElement(),daeOffsetOf(domPhysics_model,elemInstance_physics_model_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domPhysics_model,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domPhysics_model,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "rigid_body" ); + mea->setOffset( daeOffsetOf(domPhysics_model,elemRigid_body_array) ); + mea->setElementType( domRigid_body::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "rigid_constraint" ); + mea->setOffset( daeOffsetOf(domPhysics_model,elemRigid_constraint_array) ); + mea->setElementType( domRigid_constraint::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "instance_physics_model" ); + mea->setOffset( daeOffsetOf(domPhysics_model,elemInstance_physics_model_array) ); + mea->setElementType( domInstance_physics_model::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domPhysics_model,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 4 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_scene.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_scene.cpp index 21f66785c..9dba800a1 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_scene.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domPhysics_scene.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domPhysics_scene::create(daeInt bytes) @@ -29,16 +35,50 @@ domPhysics_scene::registerElement() _Meta = new daeMetaElement; _Meta->setName( "physics_scene" ); - _Meta->setStaticPointerAddress(&domPhysics_scene::_Meta); _Meta->registerConstructor(domPhysics_scene::create); - // Add elements: asset, instance_force_field, instance_physics_model, technique_common, technique, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domPhysics_scene,elemAsset)); - _Meta->appendArrayElement(domInstance_force_field::registerElement(),daeOffsetOf(domPhysics_scene,elemInstance_force_field_array)); - _Meta->appendArrayElement(domInstance_physics_model::registerElement(),daeOffsetOf(domPhysics_scene,elemInstance_physics_model_array)); - _Meta->appendElement(domPhysics_scene::domTechnique_common::registerElement(),daeOffsetOf(domPhysics_scene,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domPhysics_scene,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domPhysics_scene,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domPhysics_scene,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "instance_force_field" ); + mea->setOffset( daeOffsetOf(domPhysics_scene,elemInstance_force_field_array) ); + mea->setElementType( domInstance_force_field::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "instance_physics_model" ); + mea->setOffset( daeOffsetOf(domPhysics_scene,elemInstance_physics_model_array) ); + mea->setElementType( domInstance_physics_model::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domPhysics_scene,elemTechnique_common) ); + mea->setElementType( domPhysics_scene::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domPhysics_scene,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domPhysics_scene,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 5 ); + _Meta->setCMRoot( cm ); // Add attribute: id { @@ -84,12 +124,27 @@ domPhysics_scene::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domPhysics_scene::domTechnique_common::_Meta); _Meta->registerConstructor(domPhysics_scene::domTechnique_common::create); - // Add elements: gravity, time_step - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domPhysics_scene::domTechnique_common,elemGravity),"gravity"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domPhysics_scene::domTechnique_common,elemTime_step),"time_step"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "gravity" ); + mea->setOffset( daeOffsetOf(domPhysics_scene::domTechnique_common,elemGravity) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "time_step" ); + mea->setOffset( daeOffsetOf(domPhysics_scene::domTechnique_common,elemTime_step) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domPhysics_scene::domTechnique_common)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domPlane.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domPlane.cpp index 04220948a..8ae3bd17b 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domPlane.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domPlane.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domPlane::create(daeInt bytes) @@ -29,12 +35,26 @@ domPlane::registerElement() _Meta = new daeMetaElement; _Meta->setName( "plane" ); - _Meta->setStaticPointerAddress(&domPlane::_Meta); _Meta->registerConstructor(domPlane::create); - // Add elements: equation, extra - _Meta->appendElement(domPlane::domEquation::registerElement(),daeOffsetOf(domPlane,elemEquation)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domPlane,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "equation" ); + mea->setOffset( daeOffsetOf(domPlane,elemEquation) ); + mea->setElementType( domPlane::domEquation::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domPlane,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domPlane)); @@ -58,9 +78,9 @@ domPlane::domEquation::registerElement() _Meta = new daeMetaElement; _Meta->setName( "equation" ); - _Meta->setStaticPointerAddress(&domPlane::domEquation::_Meta); _Meta->registerConstructor(domPlane::domEquation::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domPolygons.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domPolygons.cpp index f6f5d2c4f..7e80c5195 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domPolygons.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domPolygons.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domPolygons::create(daeInt bytes) @@ -29,16 +35,47 @@ domPolygons::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polygons" ); - _Meta->setStaticPointerAddress(&domPolygons::_Meta); _Meta->registerConstructor(domPolygons::create); - // Add elements: input, p, ph, extra - _Meta->appendArrayElement(domInputLocalOffset::registerElement(),daeOffsetOf(domPolygons,elemInput_array),"input"); - _Meta->appendArrayElement(domP::registerElement(),daeOffsetOf(domPolygons,elemP_array)); - _Meta->appendArrayElement(domPolygons::domPh::registerElement(),daeOffsetOf(domPolygons,elemPh_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domPolygons,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domPolygons,elemInput_array) ); + mea->setElementType( domInputLocalOffset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "p" ); + mea->setOffset( daeOffsetOf(domPolygons,elemP_array) ); + mea->setElementType( domP::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "ph" ); + mea->setOffset( daeOffsetOf(domPolygons,elemPh_array) ); + mea->setElementType( domPolygons::domPh::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3002, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domPolygons,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3002 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domPolygons,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domPolygons,_contentsOrder)); // Add attribute: name @@ -97,12 +134,27 @@ domPolygons::domPh::registerElement() _Meta = new daeMetaElement; _Meta->setName( "ph" ); - _Meta->setStaticPointerAddress(&domPolygons::domPh::_Meta); _Meta->registerConstructor(domPolygons::domPh::create); - // Add elements: p, h - _Meta->appendElement(domP::registerElement(),daeOffsetOf(domPolygons::domPh,elemP)); - _Meta->appendArrayElement(domPolygons::domPh::domH::registerElement(),daeOffsetOf(domPolygons::domPh,elemH_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "p" ); + mea->setOffset( daeOffsetOf(domPolygons::domPh,elemP) ); + mea->setElementType( domP::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "h" ); + mea->setOffset( daeOffsetOf(domPolygons::domPh,elemH_array) ); + mea->setElementType( domPolygons::domPh::domH::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domPolygons::domPh)); @@ -126,9 +178,9 @@ domPolygons::domPh::domH::registerElement() _Meta = new daeMetaElement; _Meta->setName( "h" ); - _Meta->setStaticPointerAddress(&domPolygons::domPh::domH::_Meta); _Meta->registerConstructor(domPolygons::domPh::domH::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domPolylist.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domPolylist.cpp index e213b3f8c..7c8a52577 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domPolylist.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domPolylist.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domPolylist::create(daeInt bytes) @@ -29,14 +35,38 @@ domPolylist::registerElement() _Meta = new daeMetaElement; _Meta->setName( "polylist" ); - _Meta->setStaticPointerAddress(&domPolylist::_Meta); _Meta->registerConstructor(domPolylist::create); - // Add elements: input, vcount, p, extra - _Meta->appendArrayElement(domInputLocalOffset::registerElement(),daeOffsetOf(domPolylist,elemInput_array),"input"); - _Meta->appendElement(domPolylist::domVcount::registerElement(),daeOffsetOf(domPolylist,elemVcount)); - _Meta->appendElement(domP::registerElement(),daeOffsetOf(domPolylist,elemP)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domPolylist,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domPolylist,elemInput_array) ); + mea->setElementType( domInputLocalOffset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "vcount" ); + mea->setOffset( daeOffsetOf(domPolylist,elemVcount) ); + mea->setElementType( domPolylist::domVcount::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "p" ); + mea->setOffset( daeOffsetOf(domPolylist,elemP) ); + mea->setElementType( domP::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domPolylist,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: name { @@ -94,9 +124,9 @@ domPolylist::domVcount::registerElement() _Meta = new daeMetaElement; _Meta->setName( "vcount" ); - _Meta->setStaticPointerAddress(&domPolylist::domVcount::_Meta); _Meta->registerConstructor(domPolylist::domVcount::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domProfile_CG.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domProfile_CG.cpp index 966485f27..4988294c1 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domProfile_CG.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domProfile_CG.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domProfile_CG::create(daeInt bytes) @@ -29,19 +35,85 @@ domProfile_CG::registerElement() _Meta = new daeMetaElement; _Meta->setName( "profile_CG" ); - _Meta->setStaticPointerAddress(&domProfile_CG::_Meta); _Meta->registerConstructor(domProfile_CG::create); - // Add elements: code, include, image, newparam, technique - _Meta->appendArrayElement(domFx_code_profile::registerElement(),daeOffsetOf(domProfile_CG,elemCode_array),"code"); - _Meta->appendArrayElement(domFx_include_common::registerElement(),daeOffsetOf(domProfile_CG,elemInclude_array),"include"); - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domProfile_CG,elemImage_array)); - _Meta->appendArrayElement(domCg_newparam::registerElement(),daeOffsetOf(domProfile_CG,elemNewparam_array),"newparam"); - _Meta->appendArrayElement(domProfile_CG::domTechnique::registerElement(),daeOffsetOf(domProfile_CG,elemTechnique_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domProfile_CG,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "code" ); + mea->setOffset( daeOffsetOf(domProfile_CG,elemCode_array) ); + mea->setElementType( domFx_code_profile::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "include" ); + mea->setOffset( daeOffsetOf(domProfile_CG,elemInclude_array) ); + mea->setElementType( domFx_include_common::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 3002, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domProfile_CG,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domProfile_CG,elemNewparam_array) ); + mea->setElementType( domCg_newparam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6003, 1, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domProfile_CG,elemTechnique_array) ); + mea->setElementType( domProfile_CG::domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6004, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_CG,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 6004 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_CG,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_CG,_contentsOrder)); + // Add attribute: id + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "id" ); + ma->setType( daeAtomicType::get("xsID")); + ma->setOffset( daeOffsetOf( domProfile_CG , attrId )); + ma->setContainer( _Meta ); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + // Add attribute: platform { daeMetaAttribute *ma = new daeMetaAttribute; @@ -77,20 +149,84 @@ domProfile_CG::domTechnique::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::create); - // Add elements: asset, annotate, code, include, image, newparam, setparam, pass - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domProfile_CG::domTechnique,elemAsset)); - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique,elemAnnotate_array),"annotate"); - _Meta->appendArrayElement(domFx_code_profile::registerElement(),daeOffsetOf(domProfile_CG::domTechnique,elemCode_array),"code"); - _Meta->appendArrayElement(domFx_include_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique,elemInclude_array),"include"); - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domProfile_CG::domTechnique,elemImage_array)); - _Meta->appendArrayElement(domCg_newparam::registerElement(),daeOffsetOf(domProfile_CG::domTechnique,elemNewparam_array),"newparam"); - _Meta->appendArrayElement(domCg_setparam::registerElement(),daeOffsetOf(domProfile_CG::domTechnique,elemSetparam_array),"setparam"); - _Meta->appendArrayElement(domProfile_CG::domTechnique::domPass::registerElement(),daeOffsetOf(domProfile_CG::domTechnique,elemPass_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 2, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "code" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemCode_array) ); + mea->setElementType( domFx_code_profile::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "include" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemInclude_array) ); + mea->setElementType( domFx_include_common::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 3003, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemNewparam_array) ); + mea->setElementType( domCg_newparam::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "setparam" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemSetparam_array) ); + mea->setElementType( domCg_setparam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6004, 1, -1 ); + mea->setName( "pass" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemPass_array) ); + mea->setElementType( domProfile_CG::domTechnique::domPass::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6005, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 6005 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_CG::domTechnique,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_CG::domTechnique,_contentsOrder)); // Add attribute: id @@ -138,129 +274,90 @@ domProfile_CG::domTechnique::domPass::registerElement() _Meta = new daeMetaElement; _Meta->setName( "pass" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::domPass::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::domPass::create); - // Add elements: annotate, color_target, depth_target, stencil_target, color_clear, depth_clear, stencil_clear, draw, gl_pipeline_settings, shader - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemAnnotate_array),"annotate"); - _Meta->appendArrayElement(domFx_colortarget_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemColor_target_array),"color_target"); - _Meta->appendArrayElement(domFx_depthtarget_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDepth_target_array),"depth_target"); - _Meta->appendArrayElement(domFx_stenciltarget_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemStencil_target_array),"stencil_target"); - _Meta->appendArrayElement(domFx_clearcolor_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemColor_clear_array),"color_clear"); - _Meta->appendArrayElement(domFx_cleardepth_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDepth_clear_array),"depth_clear"); - _Meta->appendArrayElement(domFx_clearstencil_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemStencil_clear_array),"stencil_clear"); - _Meta->appendElement(domProfile_CG::domTechnique::domPass::domDraw::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDraw)); - _Meta->appendArrayElement(domGl_pipeline_settings::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemGl_pipeline_settings_array)); - _Meta->appendPossibleChild( "alpha_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_func_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_equation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_equation_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_material", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "cull_face", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_mode", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_coord_src", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "front_face", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_color_control", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "logic_op", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_mode", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "shade_model", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_op", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_func_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_op_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_mask_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_diffuse", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_specular", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_position", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_constant_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_linear_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_quadratic_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_cutoff", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_direction", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_exponent", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture1D", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture2D", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture3D", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureCUBE", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureRECT", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureDEPTH", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture1D_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture2D_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture3D_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureCUBE_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureRECT_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureDEPTH_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture_env_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture_env_mode", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clip_plane", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clip_plane_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_stencil", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_depth", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_bounds", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_range", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_density", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_start", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_end", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "lighting_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_stipple", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_width", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_diffuse", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_emission", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_shininess", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_specular", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "model_view_matrix", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_distance_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_fade_threshold_size", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size_min", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size_max", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "projection_matrix", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "scissor", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "alpha_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "auto_normal_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_logic_op_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "cull_face_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_bounds_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_clamp_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "dither_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_local_viewer_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_two_side_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_smooth_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_stipple_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "logic_op_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "multisample_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "normalize_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_smooth_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset_fill_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset_line_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset_point_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_smooth_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_stipple_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "rescale_normal_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_alpha_to_coverage_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_alpha_to_one_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_coverage_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "scissor_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendArrayElement(domProfile_CG::domTechnique::domPass::domShader::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass,elemShader_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "color_target" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemColor_target_array) ); + mea->setElementType( domFx_colortarget_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "depth_target" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDepth_target_array) ); + mea->setElementType( domFx_depthtarget_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "stencil_target" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemStencil_target_array) ); + mea->setElementType( domFx_stenciltarget_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "color_clear" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemColor_clear_array) ); + mea->setElementType( domFx_clearcolor_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 0, -1 ); + mea->setName( "depth_clear" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDepth_clear_array) ); + mea->setElementType( domFx_cleardepth_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6, 0, -1 ); + mea->setName( "stencil_clear" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemStencil_clear_array) ); + mea->setElementType( domFx_clearstencil_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "draw" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDraw) ); + mea->setElementType( domProfile_CG::domTechnique::domPass::domDraw::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 8, 1, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "gl_pipeline_settings" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemGl_pipeline_settings_array) ); + mea->setElementType( domGl_pipeline_settings::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "shader" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemShader_array) ); + mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3009, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3009 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_CG::domTechnique::domPass,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_CG::domTechnique::domPass,_contentsOrder)); // Add attribute: sid @@ -297,9 +394,9 @@ domProfile_CG::domTechnique::domPass::domDraw::registerElement() _Meta = new daeMetaElement; _Meta->setName( "draw" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::domPass::domDraw::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::domPass::domDraw::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -332,15 +429,51 @@ domProfile_CG::domTechnique::domPass::domShader::registerElement() _Meta = new daeMetaElement; _Meta->setName( "shader" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::domPass::domShader::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::domPass::domShader::create); - // Add elements: annotate, compiler_target, compiler_options, name, bind - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemAnnotate_array),"annotate"); - _Meta->appendElement(domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemCompiler_target)); - _Meta->appendElement(domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemCompiler_options)); - _Meta->appendElement(domProfile_CG::domTechnique::domPass::domShader::domName::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemName)); - _Meta->appendArrayElement(domProfile_CG::domTechnique::domPass::domShader::domBind::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemBind_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaSequence( _Meta, cm, 1, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "compiler_target" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemCompiler_target) ); + mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "compiler_options" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemCompiler_options) ); + mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "name" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemName) ); + mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domName::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "bind" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemBind_array) ); + mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domBind::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 4 ); + _Meta->setCMRoot( cm ); // Add attribute: stage { @@ -375,9 +508,9 @@ domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::registerEle _Meta = new daeMetaElement; _Meta->setName( "compiler_target" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -410,9 +543,9 @@ domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::registerEl _Meta = new daeMetaElement; _Meta->setName( "compiler_options" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -445,9 +578,9 @@ domProfile_CG::domTechnique::domPass::domShader::domName::registerElement() _Meta = new daeMetaElement; _Meta->setName( "name" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::domPass::domShader::domName::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::domPass::domShader::domName::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -492,128 +625,30 @@ domProfile_CG::domTechnique::domPass::domShader::domBind::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bind" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::domPass::domShader::domBind::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::domPass::domShader::domBind::create); - // Add elements: cg_param_type, param - _Meta->appendElement(domCg_param_type::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,elemCg_param_type)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "half4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed1x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed2x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed3x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x1", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "fixed4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "cg_surface_type"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "cg_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "cg_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "cg_sampler3D"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "cg_samplerRECT"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "cg_samplerCUBE"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "cg_samplerDEPTH"); - _Meta->appendPossibleChild( "string", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); - _Meta->appendElement(domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::registerElement(),daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,elemParam)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cg_param_type" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,elemCg_param_type) ); + mea->setElementType( domCg_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,elemParam) ); + mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,_contentsOrder)); // Add attribute: symbol @@ -650,9 +685,9 @@ domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::registerElem _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::_Meta); _Meta->registerConstructor(domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: ref { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domProfile_COMMON.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domProfile_COMMON.cpp index 0b132a167..0b1fd77b5 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domProfile_COMMON.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domProfile_COMMON.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domProfile_COMMON::create(daeInt bytes) @@ -29,17 +35,66 @@ domProfile_COMMON::registerElement() _Meta = new daeMetaElement; _Meta->setName( "profile_COMMON" ); - _Meta->setStaticPointerAddress(&domProfile_COMMON::_Meta); _Meta->registerConstructor(domProfile_COMMON::create); - // Add elements: image, newparam, technique, extra - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domProfile_COMMON,elemImage_array)); - _Meta->appendArrayElement(domCommon_newparam_type::registerElement(),daeOffsetOf(domProfile_COMMON,elemNewparam_array),"newparam"); - _Meta->appendElement(domProfile_COMMON::domTechnique::registerElement(),daeOffsetOf(domProfile_COMMON,elemTechnique)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domProfile_COMMON,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON,elemNewparam_array) ); + mea->setElementType( domCommon_newparam_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 3002, 1, 1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON,elemTechnique) ); + mea->setElementType( domProfile_COMMON::domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3003 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_COMMON,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_COMMON,_contentsOrder)); + + // Add attribute: id + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "id" ); + ma->setType( daeAtomicType::get("xsID")); + ma->setOffset( daeOffsetOf( domProfile_COMMON , attrId )); + ma->setContainer( _Meta ); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domProfile_COMMON)); @@ -63,20 +118,78 @@ domProfile_COMMON::domTechnique::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique" ); - _Meta->setStaticPointerAddress(&domProfile_COMMON::domTechnique::_Meta); _Meta->registerConstructor(domProfile_COMMON::domTechnique::create); - // Add elements: asset, image, newparam, constant, lambert, phong, blinn, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique,elemAsset)); - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique,elemImage_array)); - _Meta->appendArrayElement(domCommon_newparam_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique,elemNewparam_array),"newparam"); - _Meta->appendElement(domProfile_COMMON::domTechnique::domConstant::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique,elemConstant)); - _Meta->appendElement(domProfile_COMMON::domTechnique::domLambert::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique,elemLambert)); - _Meta->appendElement(domProfile_COMMON::domTechnique::domPhong::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique,elemPhong)); - _Meta->appendElement(domProfile_COMMON::domTechnique::domBlinn::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique,elemBlinn)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemNewparam_array) ); + mea->setElementType( domCommon_newparam_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 3002, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "constant" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemConstant) ); + mea->setElementType( domProfile_COMMON::domTechnique::domConstant::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "lambert" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemLambert) ); + mea->setElementType( domProfile_COMMON::domTechnique::domLambert::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "phong" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemPhong) ); + mea->setElementType( domProfile_COMMON::domTechnique::domPhong::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "blinn" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemBlinn) ); + mea->setElementType( domProfile_COMMON::domTechnique::domBlinn::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3003 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_COMMON::domTechnique,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_COMMON::domTechnique,_contentsOrder)); // Add attribute: id @@ -124,16 +237,51 @@ domProfile_COMMON::domTechnique::domConstant::registerElement() _Meta = new daeMetaElement; _Meta->setName( "constant" ); - _Meta->setStaticPointerAddress(&domProfile_COMMON::domTechnique::domConstant::_Meta); _Meta->registerConstructor(domProfile_COMMON::domTechnique::domConstant::create); - // Add elements: emission, reflective, reflectivity, transparent, transparency, index_of_refraction - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemEmission),"emission"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemReflective),"reflective"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemReflectivity),"reflectivity"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemTransparent),"transparent"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemTransparency),"transparency"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemIndex_of_refraction),"index_of_refraction"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "emission" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemEmission) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "reflective" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemReflective) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "reflectivity" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemReflectivity) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "transparent" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemTransparent) ); + mea->setElementType( domCommon_transparent_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "transparency" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemTransparency) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "index_of_refraction" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemIndex_of_refraction) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 5 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domProfile_COMMON::domTechnique::domConstant)); @@ -157,18 +305,63 @@ domProfile_COMMON::domTechnique::domLambert::registerElement() _Meta = new daeMetaElement; _Meta->setName( "lambert" ); - _Meta->setStaticPointerAddress(&domProfile_COMMON::domTechnique::domLambert::_Meta); _Meta->registerConstructor(domProfile_COMMON::domTechnique::domLambert::create); - // Add elements: emission, ambient, diffuse, reflective, reflectivity, transparent, transparency, index_of_refraction - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemEmission),"emission"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemAmbient),"ambient"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemDiffuse),"diffuse"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemReflective),"reflective"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemReflectivity),"reflectivity"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemTransparent),"transparent"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemTransparency),"transparency"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemIndex_of_refraction),"index_of_refraction"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "emission" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemEmission) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "ambient" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemAmbient) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "diffuse" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemDiffuse) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "reflective" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemReflective) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "reflectivity" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemReflectivity) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "transparent" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemTransparent) ); + mea->setElementType( domCommon_transparent_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "transparency" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemTransparency) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "index_of_refraction" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemIndex_of_refraction) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 7 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domProfile_COMMON::domTechnique::domLambert)); @@ -192,20 +385,75 @@ domProfile_COMMON::domTechnique::domPhong::registerElement() _Meta = new daeMetaElement; _Meta->setName( "phong" ); - _Meta->setStaticPointerAddress(&domProfile_COMMON::domTechnique::domPhong::_Meta); _Meta->registerConstructor(domProfile_COMMON::domTechnique::domPhong::create); - // Add elements: emission, ambient, diffuse, specular, shininess, reflective, reflectivity, transparent, transparency, index_of_refraction - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemEmission),"emission"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemAmbient),"ambient"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemDiffuse),"diffuse"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemSpecular),"specular"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemShininess),"shininess"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemReflective),"reflective"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemReflectivity),"reflectivity"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemTransparent),"transparent"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemTransparency),"transparency"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemIndex_of_refraction),"index_of_refraction"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "emission" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemEmission) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "ambient" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemAmbient) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "diffuse" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemDiffuse) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "specular" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemSpecular) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "shininess" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemShininess) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "reflective" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemReflective) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "reflectivity" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemReflectivity) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "transparent" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemTransparent) ); + mea->setElementType( domCommon_transparent_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "transparency" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemTransparency) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 9, 0, 1 ); + mea->setName( "index_of_refraction" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemIndex_of_refraction) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 9 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domProfile_COMMON::domTechnique::domPhong)); @@ -229,20 +477,75 @@ domProfile_COMMON::domTechnique::domBlinn::registerElement() _Meta = new daeMetaElement; _Meta->setName( "blinn" ); - _Meta->setStaticPointerAddress(&domProfile_COMMON::domTechnique::domBlinn::_Meta); _Meta->registerConstructor(domProfile_COMMON::domTechnique::domBlinn::create); - // Add elements: emission, ambient, diffuse, specular, shininess, reflective, reflectivity, transparent, transparency, index_of_refraction - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemEmission),"emission"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemAmbient),"ambient"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemDiffuse),"diffuse"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemSpecular),"specular"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemShininess),"shininess"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemReflective),"reflective"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemReflectivity),"reflectivity"); - _Meta->appendElement(domCommon_color_or_texture_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemTransparent),"transparent"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemTransparency),"transparency"); - _Meta->appendElement(domCommon_float_or_param_type::registerElement(),daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemIndex_of_refraction),"index_of_refraction"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "emission" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemEmission) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "ambient" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemAmbient) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "diffuse" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemDiffuse) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "specular" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemSpecular) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "shininess" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemShininess) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "reflective" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemReflective) ); + mea->setElementType( domCommon_color_or_texture_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "reflectivity" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemReflectivity) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "transparent" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemTransparent) ); + mea->setElementType( domCommon_transparent_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 8, 0, 1 ); + mea->setName( "transparency" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemTransparency) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 9, 0, 1 ); + mea->setName( "index_of_refraction" ); + mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemIndex_of_refraction) ); + mea->setElementType( domCommon_float_or_param_type::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 9 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domProfile_COMMON::domTechnique::domBlinn)); @@ -251,7 +554,6 @@ domProfile_COMMON::domTechnique::domBlinn::registerElement() return _Meta; } - daeMetaElement * domProfile_COMMON::_Meta = NULL; daeMetaElement * domProfile_COMMON::domTechnique::_Meta = NULL; daeMetaElement * domProfile_COMMON::domTechnique::domConstant::_Meta = NULL; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domProfile_GLES.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domProfile_GLES.cpp index 989ac1699..590a76f16 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domProfile_GLES.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domProfile_GLES.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domProfile_GLES::create(daeInt bytes) @@ -29,16 +35,79 @@ domProfile_GLES::registerElement() _Meta = new daeMetaElement; _Meta->setName( "profile_GLES" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::_Meta); _Meta->registerConstructor(domProfile_GLES::create); - // Add elements: image, newparam, technique - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domProfile_GLES,elemImage_array)); - _Meta->appendArrayElement(domGles_newparam::registerElement(),daeOffsetOf(domProfile_GLES,elemNewparam_array),"newparam"); - _Meta->appendArrayElement(domProfile_GLES::domTechnique::registerElement(),daeOffsetOf(domProfile_GLES,elemTechnique_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domProfile_GLES,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domProfile_GLES,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domProfile_GLES,elemNewparam_array) ); + mea->setElementType( domGles_newparam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3002, 1, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domProfile_GLES,elemTechnique_array) ); + mea->setElementType( domProfile_GLES::domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_GLES,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3003 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_GLES,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_GLES,_contentsOrder)); + + // Add attribute: id + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "id" ); + ma->setType( daeAtomicType::get("xsID")); + ma->setOffset( daeOffsetOf( domProfile_GLES , attrId )); + ma->setContainer( _Meta ); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } + + // Add attribute: platform + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "platform" ); + ma->setType( daeAtomicType::get("xsNCName")); + ma->setOffset( daeOffsetOf( domProfile_GLES , attrPlatform )); + ma->setContainer( _Meta ); + ma->setDefault( "PC"); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domProfile_GLES)); @@ -62,18 +131,66 @@ domProfile_GLES::domTechnique::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::create); - // Add elements: asset, annotate, image, newparam, setparam, pass - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique,elemAsset)); - _Meta->appendElement(domFx_annotate_common::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique,elemAnnotate),"annotate"); - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique,elemImage_array)); - _Meta->appendArrayElement(domGles_newparam::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique,elemNewparam_array),"newparam"); - _Meta->appendArrayElement(domProfile_GLES::domTechnique::domSetparam::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique,elemSetparam_array)); - _Meta->appendArrayElement(domProfile_GLES::domTechnique::domPass::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique,elemPass_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 2, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemNewparam_array) ); + mea->setElementType( domGles_newparam::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "setparam" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemSetparam_array) ); + mea->setElementType( domProfile_GLES::domTechnique::domSetparam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3003, 1, -1 ); + mea->setName( "pass" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemPass_array) ); + mea->setElementType( domProfile_GLES::domTechnique::domPass::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3004, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3004 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_GLES::domTechnique,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_GLES::domTechnique,_contentsOrder)); // Add attribute: id @@ -121,45 +238,27 @@ domProfile_GLES::domTechnique::domSetparam::registerElement() _Meta = new daeMetaElement; _Meta->setName( "setparam" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domSetparam::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domSetparam::create); - // Add elements: annotate, gles_basic_type_common - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domSetparam,elemAnnotate_array),"annotate"); - _Meta->appendElement(domGles_basic_type_common::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domSetparam,elemGles_basic_type_common)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float1x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float2x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float3x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x1", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x2", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x3", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[1]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[1], "fx_surface_common"); - _Meta->appendPossibleChild( "texture_pipeline", _Meta->getMetaElements()[1], "gles_texture_pipeline"); - _Meta->appendPossibleChild( "sampler_state", _Meta->getMetaElements()[1], "gles_sampler_state"); - _Meta->appendPossibleChild( "texture_unit", _Meta->getMetaElements()[1], "gles_texture_unit"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[1]); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domSetparam,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "gles_basic_type_common" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domSetparam,elemGles_basic_type_common) ); + mea->setElementType( domGles_basic_type_common::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 1, 1, 1 ) ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Add attribute: ref { @@ -195,94 +294,84 @@ domProfile_GLES::domTechnique::domPass::registerElement() _Meta = new daeMetaElement; _Meta->setName( "pass" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domPass::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domPass::create); - // Add elements: annotate, color_target, depth_target, stencil_target, color_clear, depth_clear, stencil_clear, draw, gles_pipeline_settings - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemAnnotate_array),"annotate"); - _Meta->appendElement(domProfile_GLES::domTechnique::domPass::domColor_target::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemColor_target)); - _Meta->appendElement(domProfile_GLES::domTechnique::domPass::domDepth_target::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDepth_target)); - _Meta->appendElement(domProfile_GLES::domTechnique::domPass::domStencil_target::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemStencil_target)); - _Meta->appendElement(domProfile_GLES::domTechnique::domPass::domColor_clear::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemColor_clear)); - _Meta->appendElement(domProfile_GLES::domTechnique::domPass::domDepth_clear::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDepth_clear)); - _Meta->appendElement(domProfile_GLES::domTechnique::domPass::domStencil_clear::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemStencil_clear)); - _Meta->appendElement(domProfile_GLES::domTechnique::domPass::domDraw::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDraw)); - _Meta->appendArrayElement(domGles_pipeline_settings::registerElement(),daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemGles_pipeline_settings_array)); - _Meta->appendPossibleChild( "alpha_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_stencil", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_depth", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clip_plane", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "cull_face", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_range", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_density", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_mode", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_start", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_end", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "front_face", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture_pipeline", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "logic_op", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_diffuse", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_specular", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_position", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_constant_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_linear_attenutation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_quadratic_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_cutoff", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_direction", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_exponent", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_width", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_diffuse", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_emission", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_shininess", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_specular", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "model_view_matrix", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_distance_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_fade_threshold_size", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size_min", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size_max", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "projection_matrix", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "scissor", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "shade_model", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_op", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "alpha_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clip_plane_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_logic_op_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_material_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "cull_face_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "dither_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture_pipeline_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "lighting_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_two_side_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_smooth_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "multisample_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "normalize_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_smooth_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset_fill_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "rescale_normal_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_alpha_to_coverage_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_alpha_to_one_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_coverage_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "scissor_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_test_enable", _Meta->getMetaElements()[8]); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "color_target" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemColor_target) ); + mea->setElementType( domProfile_GLES::domTechnique::domPass::domColor_target::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "depth_target" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDepth_target) ); + mea->setElementType( domProfile_GLES::domTechnique::domPass::domDepth_target::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "stencil_target" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemStencil_target) ); + mea->setElementType( domProfile_GLES::domTechnique::domPass::domStencil_target::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 4, 0, 1 ); + mea->setName( "color_clear" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemColor_clear) ); + mea->setElementType( domProfile_GLES::domTechnique::domPass::domColor_clear::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 5, 0, 1 ); + mea->setName( "depth_clear" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDepth_clear) ); + mea->setElementType( domProfile_GLES::domTechnique::domPass::domDepth_clear::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 6, 0, 1 ); + mea->setName( "stencil_clear" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemStencil_clear) ); + mea->setElementType( domProfile_GLES::domTechnique::domPass::domStencil_clear::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "draw" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDraw) ); + mea->setElementType( domProfile_GLES::domTechnique::domPass::domDraw::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 8, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "gles_pipeline_settings" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemGles_pipeline_settings_array) ); + mea->setElementType( domGles_pipeline_settings::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3009, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3009 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_GLES::domTechnique::domPass,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_GLES::domTechnique::domPass,_contentsOrder)); // Add attribute: sid @@ -319,9 +408,9 @@ domProfile_GLES::domTechnique::domPass::domColor_target::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color_target" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domPass::domColor_target::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domPass::domColor_target::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -354,9 +443,9 @@ domProfile_GLES::domTechnique::domPass::domDepth_target::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_target" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domPass::domDepth_target::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domPass::domDepth_target::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -389,9 +478,9 @@ domProfile_GLES::domTechnique::domPass::domStencil_target::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_target" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domPass::domStencil_target::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domPass::domStencil_target::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -424,9 +513,9 @@ domProfile_GLES::domTechnique::domPass::domColor_clear::registerElement() _Meta = new daeMetaElement; _Meta->setName( "color_clear" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domPass::domColor_clear::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domPass::domColor_clear::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -459,9 +548,9 @@ domProfile_GLES::domTechnique::domPass::domDepth_clear::registerElement() _Meta = new daeMetaElement; _Meta->setName( "depth_clear" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domPass::domDepth_clear::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domPass::domDepth_clear::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -494,9 +583,9 @@ domProfile_GLES::domTechnique::domPass::domStencil_clear::registerElement() _Meta = new daeMetaElement; _Meta->setName( "stencil_clear" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domPass::domStencil_clear::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domPass::domStencil_clear::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -529,9 +618,9 @@ domProfile_GLES::domTechnique::domPass::domDraw::registerElement() _Meta = new daeMetaElement; _Meta->setName( "draw" ); - _Meta->setStaticPointerAddress(&domProfile_GLES::domTechnique::domPass::domDraw::_Meta); _Meta->registerConstructor(domProfile_GLES::domTechnique::domPass::domDraw::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domProfile_GLSL.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domProfile_GLSL.cpp index bfe7786c0..8eebbaa88 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domProfile_GLSL.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domProfile_GLSL.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domProfile_GLSL::create(daeInt bytes) @@ -29,18 +35,84 @@ domProfile_GLSL::registerElement() _Meta = new daeMetaElement; _Meta->setName( "profile_GLSL" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::_Meta); _Meta->registerConstructor(domProfile_GLSL::create); - // Add elements: code, include, image, newparam, technique - _Meta->appendArrayElement(domFx_code_profile::registerElement(),daeOffsetOf(domProfile_GLSL,elemCode_array),"code"); - _Meta->appendArrayElement(domFx_include_common::registerElement(),daeOffsetOf(domProfile_GLSL,elemInclude_array),"include"); - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domProfile_GLSL,elemImage_array)); - _Meta->appendArrayElement(domGlsl_newparam::registerElement(),daeOffsetOf(domProfile_GLSL,elemNewparam_array),"newparam"); - _Meta->appendArrayElement(domProfile_GLSL::domTechnique::registerElement(),daeOffsetOf(domProfile_GLSL,elemTechnique_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "code" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL,elemCode_array) ); + mea->setElementType( domFx_code_profile::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "include" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL,elemInclude_array) ); + mea->setElementType( domFx_include_common::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 3002, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL,elemNewparam_array) ); + mea->setElementType( domGlsl_newparam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6003, 1, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL,elemTechnique_array) ); + mea->setElementType( domProfile_GLSL::domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6004, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 6004 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_GLSL,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_GLSL,_contentsOrder)); + + // Add attribute: id + { + daeMetaAttribute *ma = new daeMetaAttribute; + ma->setName( "id" ); + ma->setType( daeAtomicType::get("xsID")); + ma->setOffset( daeOffsetOf( domProfile_GLSL , attrId )); + ma->setContainer( _Meta ); + ma->setIsRequired( false ); + + _Meta->appendAttribute(ma); + } _Meta->setElementSize(sizeof(domProfile_GLSL)); @@ -64,18 +136,78 @@ domProfile_GLSL::domTechnique::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::create); - // Add elements: code, include, image, newparam, setparam, pass - _Meta->appendArrayElement(domFx_code_profile::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique,elemCode_array),"code"); - _Meta->appendArrayElement(domFx_include_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique,elemInclude_array),"include"); - _Meta->appendArrayElement(domImage::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique,elemImage_array)); - _Meta->appendArrayElement(domGlsl_newparam::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique,elemNewparam_array),"newparam"); - _Meta->appendArrayElement(domGlsl_setparam::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique,elemSetparam_array),"setparam"); - _Meta->appendArrayElement(domProfile_GLSL::domTechnique::domPass::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique,elemPass_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "code" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemCode_array) ); + mea->setElementType( domFx_code_profile::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "include" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemInclude_array) ); + mea->setElementType( domFx_include_common::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 3002, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "image" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemImage_array) ); + mea->setElementType( domImage::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "newparam" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemNewparam_array) ); + mea->setElementType( domGlsl_newparam::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "setparam" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemSetparam_array) ); + mea->setElementType( domGlsl_setparam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6003, 1, -1 ); + mea->setName( "pass" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemPass_array) ); + mea->setElementType( domProfile_GLSL::domTechnique::domPass::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6004, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 6004 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_GLSL::domTechnique,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_GLSL::domTechnique,_contentsOrder)); // Add attribute: id @@ -123,129 +255,90 @@ domProfile_GLSL::domTechnique::domPass::registerElement() _Meta = new daeMetaElement; _Meta->setName( "pass" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::domPass::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::domPass::create); - // Add elements: annotate, color_target, depth_target, stencil_target, color_clear, depth_clear, stencil_clear, draw, gl_pipeline_settings, shader - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemAnnotate_array),"annotate"); - _Meta->appendArrayElement(domFx_colortarget_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemColor_target_array),"color_target"); - _Meta->appendArrayElement(domFx_depthtarget_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDepth_target_array),"depth_target"); - _Meta->appendArrayElement(domFx_stenciltarget_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemStencil_target_array),"stencil_target"); - _Meta->appendArrayElement(domFx_clearcolor_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemColor_clear_array),"color_clear"); - _Meta->appendArrayElement(domFx_cleardepth_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDepth_clear_array),"depth_clear"); - _Meta->appendArrayElement(domFx_clearstencil_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemStencil_clear_array),"stencil_clear"); - _Meta->appendElement(domProfile_GLSL::domTechnique::domPass::domDraw::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDraw)); - _Meta->appendArrayElement(domGl_pipeline_settings::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemGl_pipeline_settings_array)); - _Meta->appendPossibleChild( "alpha_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_func_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_equation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_equation_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_material", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "cull_face", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_mode", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_coord_src", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "front_face", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_color_control", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "logic_op", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_mode", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "shade_model", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_func", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_op", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_func_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_op_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_mask_separate", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_diffuse", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_specular", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_position", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_constant_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_linear_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_quadratic_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_cutoff", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_direction", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_spot_exponent", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture1D", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture2D", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture3D", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureCUBE", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureRECT", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureDEPTH", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture1D_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture2D_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture3D_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureCUBE_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureRECT_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "textureDEPTH_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture_env_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "texture_env_mode", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clip_plane", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clip_plane_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_stencil", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "clear_depth", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_bounds", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_range", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_density", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_start", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_end", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_color", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "lighting_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_stipple", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_width", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_ambient", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_diffuse", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_emission", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_shininess", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "material_specular", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "model_view_matrix", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_distance_attenuation", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_fade_threshold_size", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size_min", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_size_max", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "projection_matrix", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "scissor", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_mask", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "alpha_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "auto_normal_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "blend_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "color_logic_op_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "cull_face_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_bounds_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_clamp_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "depth_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "dither_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "fog_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_local_viewer_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "light_model_two_side_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_smooth_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "line_stipple_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "logic_op_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "multisample_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "normalize_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "point_smooth_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset_fill_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset_line_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_offset_point_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_smooth_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "polygon_stipple_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "rescale_normal_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_alpha_to_coverage_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_alpha_to_one_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "sample_coverage_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "scissor_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendPossibleChild( "stencil_test_enable", _Meta->getMetaElements()[8]); - _Meta->appendArrayElement(domProfile_GLSL::domTechnique::domPass::domShader::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemShader_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "color_target" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemColor_target_array) ); + mea->setElementType( domFx_colortarget_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "depth_target" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDepth_target_array) ); + mea->setElementType( domFx_depthtarget_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "stencil_target" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemStencil_target_array) ); + mea->setElementType( domFx_stenciltarget_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "color_clear" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemColor_clear_array) ); + mea->setElementType( domFx_clearcolor_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 0, -1 ); + mea->setName( "depth_clear" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDepth_clear_array) ); + mea->setElementType( domFx_cleardepth_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 6, 0, -1 ); + mea->setName( "stencil_clear" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemStencil_clear_array) ); + mea->setElementType( domFx_clearstencil_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 7, 0, 1 ); + mea->setName( "draw" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDraw) ); + mea->setElementType( domProfile_GLSL::domTechnique::domPass::domDraw::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 8, 1, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "gl_pipeline_settings" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemGl_pipeline_settings_array) ); + mea->setElementType( domGl_pipeline_settings::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "shader" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemShader_array) ); + mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3009, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3009 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_GLSL::domTechnique::domPass,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_GLSL::domTechnique::domPass,_contentsOrder)); // Add attribute: sid @@ -282,9 +375,9 @@ domProfile_GLSL::domTechnique::domPass::domDraw::registerElement() _Meta = new daeMetaElement; _Meta->setName( "draw" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::domPass::domDraw::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::domPass::domDraw::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -317,15 +410,51 @@ domProfile_GLSL::domTechnique::domPass::domShader::registerElement() _Meta = new daeMetaElement; _Meta->setName( "shader" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::domPass::domShader::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::domPass::domShader::create); - // Add elements: annotate, compiler_target, compiler_options, name, bind - _Meta->appendArrayElement(domFx_annotate_common::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemAnnotate_array),"annotate"); - _Meta->appendElement(domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemCompiler_target)); - _Meta->appendElement(domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemCompiler_options)); - _Meta->appendElement(domProfile_GLSL::domTechnique::domPass::domShader::domName::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemName)); - _Meta->appendArrayElement(domProfile_GLSL::domTechnique::domPass::domShader::domBind::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemBind_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "annotate" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemAnnotate_array) ); + mea->setElementType( domFx_annotate_common::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaSequence( _Meta, cm, 1, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "compiler_target" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemCompiler_target) ); + mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "compiler_options" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemCompiler_options) ); + mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "name" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemName) ); + mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domName::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "bind" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemBind_array) ); + mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domBind::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 4 ); + _Meta->setCMRoot( cm ); // Add attribute: stage { @@ -360,9 +489,9 @@ domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::registerE _Meta = new daeMetaElement; _Meta->setName( "compiler_target" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -395,9 +524,9 @@ domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::register _Meta = new daeMetaElement; _Meta->setName( "compiler_options" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -430,9 +559,9 @@ domProfile_GLSL::domTechnique::domPass::domShader::domName::registerElement() _Meta = new daeMetaElement; _Meta->setName( "name" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::domPass::domShader::domName::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::domPass::domShader::domName::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -477,37 +606,30 @@ domProfile_GLSL::domTechnique::domPass::domShader::domBind::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bind" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::domPass::domShader::domBind::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::domPass::domShader::domBind::create); - // Add elements: glsl_param_type, param - _Meta->appendElement(domGlsl_param_type::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,elemGlsl_param_type)); - _Meta->appendPossibleChild( "bool", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "bool4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float2x2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float3x3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "float4x4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int2", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int3", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "int4", _Meta->getMetaElements()[0]); - _Meta->appendPossibleChild( "surface", _Meta->getMetaElements()[0], "fx_surface_common"); - _Meta->appendPossibleChild( "sampler1D", _Meta->getMetaElements()[0], "gl_sampler1D"); - _Meta->appendPossibleChild( "sampler2D", _Meta->getMetaElements()[0], "gl_sampler2D"); - _Meta->appendPossibleChild( "sampler3D", _Meta->getMetaElements()[0], "gl_sampler3D"); - _Meta->appendPossibleChild( "samplerCUBE", _Meta->getMetaElements()[0], "gl_samplerCUBE"); - _Meta->appendPossibleChild( "samplerRECT", _Meta->getMetaElements()[0], "gl_samplerRECT"); - _Meta->appendPossibleChild( "samplerDEPTH", _Meta->getMetaElements()[0], "gl_samplerDEPTH"); - _Meta->appendPossibleChild( "enum", _Meta->getMetaElements()[0]); - _Meta->appendElement(domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::registerElement(),daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,elemParam)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "glsl_param_type" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,elemGlsl_param_type) ); + mea->setElementType( domGlsl_param_type::registerElement() ); + cm->appendChild( new daeMetaGroup( mea, _Meta, cm, 0, 1, 1 ) ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "param" ); + mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,elemParam) ); + mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,_contentsOrder)); // Add attribute: symbol @@ -544,9 +666,9 @@ domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::registerEl _Meta = new daeMetaElement; _Meta->setName( "param" ); - _Meta->setStaticPointerAddress(&domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::_Meta); _Meta->registerConstructor(domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::create); + _Meta->setIsInnerClass( true ); // Add attribute: ref { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domRigid_body.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domRigid_body.cpp index 036d02ff4..7dc23975e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domRigid_body.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domRigid_body.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domRigid_body::create(daeInt bytes) @@ -29,13 +35,32 @@ domRigid_body::registerElement() _Meta = new daeMetaElement; _Meta->setName( "rigid_body" ); - _Meta->setStaticPointerAddress(&domRigid_body::_Meta); _Meta->registerConstructor(domRigid_body::create); - // Add elements: technique_common, technique, extra - _Meta->appendElement(domRigid_body::domTechnique_common::registerElement(),daeOffsetOf(domRigid_body,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domRigid_body,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domRigid_body,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domRigid_body,elemTechnique_common) ); + mea->setElementType( domRigid_body::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domRigid_body,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domRigid_body,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: sid { @@ -82,19 +107,66 @@ domRigid_body::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domRigid_body::domTechnique_common::_Meta); _Meta->registerConstructor(domRigid_body::domTechnique_common::create); - // Add elements: dynamic, mass, mass_frame, inertia, instance_physics_material, physics_material, shape - _Meta->appendElement(domRigid_body::domTechnique_common::domDynamic::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common,elemDynamic)); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common,elemMass),"mass"); - _Meta->appendElement(domRigid_body::domTechnique_common::domMass_frame::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common,elemMass_frame)); - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common,elemInertia),"inertia"); - _Meta->appendElement(domInstance_physics_material::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common,elemInstance_physics_material)); - _Meta->appendElement(domPhysics_material::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common,elemPhysics_material)); - _Meta->appendArrayElement(domRigid_body::domTechnique_common::domShape::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common,elemShape_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "dynamic" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemDynamic) ); + mea->setElementType( domRigid_body::domTechnique_common::domDynamic::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "mass" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemMass) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "mass_frame" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemMass_frame) ); + mea->setElementType( domRigid_body::domTechnique_common::domMass_frame::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "inertia" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemInertia) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 4, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "instance_physics_material" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemInstance_physics_material) ); + mea->setElementType( domInstance_physics_material::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "physics_material" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemPhysics_material) ); + mea->setElementType( domPhysics_material::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 5, 1, -1 ); + mea->setName( "shape" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemShape_array) ); + mea->setElementType( domRigid_body::domTechnique_common::domShape::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 5 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common,_contentsOrder)); @@ -119,9 +191,9 @@ domRigid_body::domTechnique_common::domDynamic::registerElement() _Meta = new daeMetaElement; _Meta->setName( "dynamic" ); - _Meta->setStaticPointerAddress(&domRigid_body::domTechnique_common::domDynamic::_Meta); _Meta->registerConstructor(domRigid_body::domTechnique_common::domDynamic::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -165,14 +237,30 @@ domRigid_body::domTechnique_common::domMass_frame::registerElement() _Meta = new daeMetaElement; _Meta->setName( "mass_frame" ); - _Meta->setStaticPointerAddress(&domRigid_body::domTechnique_common::domMass_frame::_Meta); _Meta->registerConstructor(domRigid_body::domTechnique_common::domMass_frame::create); - // Add elements: translate, rotate - _Meta->appendArrayElement(domTranslate::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemTranslate_array)); - _Meta->appendArrayElement(domRotate::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemRotate_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 1, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "translate" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemTranslate_array) ); + mea->setElementType( domTranslate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rotate" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemRotate_array) ); + mea->setElementType( domRotate::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_contentsOrder)); @@ -197,28 +285,132 @@ domRigid_body::domTechnique_common::domShape::registerElement() _Meta = new daeMetaElement; _Meta->setName( "shape" ); - _Meta->setStaticPointerAddress(&domRigid_body::domTechnique_common::domShape::_Meta); _Meta->registerConstructor(domRigid_body::domTechnique_common::domShape::create); - // Add elements: hollow, mass, density, instance_physics_material, physics_material, instance_geometry, plane, box, sphere, cylinder, tapered_cylinder, capsule, tapered_capsule, translate, rotate, extra - _Meta->appendElement(domRigid_body::domTechnique_common::domShape::domHollow::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemHollow)); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemMass),"mass"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemDensity),"density"); - _Meta->appendElement(domInstance_physics_material::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_physics_material)); - _Meta->appendElement(domPhysics_material::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPhysics_material)); - _Meta->appendElement(domInstance_geometry::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_geometry)); - _Meta->appendElement(domPlane::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPlane)); - _Meta->appendElement(domBox::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemBox)); - _Meta->appendElement(domSphere::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemSphere)); - _Meta->appendElement(domCylinder::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCylinder)); - _Meta->appendElement(domTapered_cylinder::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTapered_cylinder)); - _Meta->appendElement(domCapsule::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCapsule)); - _Meta->appendElement(domTapered_capsule::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTapered_capsule)); - _Meta->appendArrayElement(domTranslate::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTranslate_array)); - _Meta->appendArrayElement(domRotate::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemRotate_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "hollow" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemHollow) ); + mea->setElementType( domRigid_body::domTechnique_common::domShape::domHollow::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "mass" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemMass) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "density" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemDensity) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 3, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "instance_physics_material" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_physics_material) ); + mea->setElementType( domInstance_physics_material::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "physics_material" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPhysics_material) ); + mea->setElementType( domPhysics_material::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 4, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "instance_geometry" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_geometry) ); + mea->setElementType( domInstance_geometry::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "plane" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPlane) ); + mea->setElementType( domPlane::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "box" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemBox) ); + mea->setElementType( domBox::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "sphere" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemSphere) ); + mea->setElementType( domSphere::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "cylinder" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCylinder) ); + mea->setElementType( domCylinder::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "tapered_cylinder" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTapered_cylinder) ); + mea->setElementType( domTapered_cylinder::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "capsule" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCapsule) ); + mea->setElementType( domCapsule::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "tapered_capsule" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTapered_capsule) ); + mea->setElementType( domTapered_capsule::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + cm = new daeMetaChoice( _Meta, cm, 5, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "translate" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTranslate_array) ); + mea->setElementType( domTranslate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rotate" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemRotate_array) ); + mea->setElementType( domRotate::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3006, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3006 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_contentsOrder)); @@ -243,9 +435,9 @@ domRigid_body::domTechnique_common::domShape::domHollow::registerElement() _Meta = new daeMetaElement; _Meta->setName( "hollow" ); - _Meta->setStaticPointerAddress(&domRigid_body::domTechnique_common::domShape::domHollow::_Meta); _Meta->registerConstructor(domRigid_body::domTechnique_common::domShape::domHollow::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domRigid_constraint.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domRigid_constraint.cpp index 09163491b..530ce806e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domRigid_constraint.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domRigid_constraint.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domRigid_constraint::create(daeInt bytes) @@ -29,15 +35,44 @@ domRigid_constraint::registerElement() _Meta = new daeMetaElement; _Meta->setName( "rigid_constraint" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::_Meta); _Meta->registerConstructor(domRigid_constraint::create); - // Add elements: ref_attachment, attachment, technique_common, technique, extra - _Meta->appendElement(domRigid_constraint::domRef_attachment::registerElement(),daeOffsetOf(domRigid_constraint,elemRef_attachment)); - _Meta->appendElement(domRigid_constraint::domAttachment::registerElement(),daeOffsetOf(domRigid_constraint,elemAttachment)); - _Meta->appendElement(domRigid_constraint::domTechnique_common::registerElement(),daeOffsetOf(domRigid_constraint,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domRigid_constraint,elemTechnique_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domRigid_constraint,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "ref_attachment" ); + mea->setOffset( daeOffsetOf(domRigid_constraint,elemRef_attachment) ); + mea->setElementType( domRigid_constraint::domRef_attachment::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "attachment" ); + mea->setOffset( daeOffsetOf(domRigid_constraint,elemAttachment) ); + mea->setElementType( domRigid_constraint::domAttachment::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domRigid_constraint,elemTechnique_common) ); + mea->setElementType( domRigid_constraint::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domRigid_constraint,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domRigid_constraint,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 4 ); + _Meta->setCMRoot( cm ); // Add attribute: sid { @@ -85,15 +120,36 @@ domRigid_constraint::domRef_attachment::registerElement() _Meta = new daeMetaElement; _Meta->setName( "ref_attachment" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domRef_attachment::_Meta); _Meta->registerConstructor(domRigid_constraint::domRef_attachment::create); - // Add elements: translate, rotate, extra - _Meta->appendArrayElement(domTranslate::registerElement(),daeOffsetOf(domRigid_constraint::domRef_attachment,elemTranslate_array)); - _Meta->appendArrayElement(domRotate::registerElement(),daeOffsetOf(domRigid_constraint::domRef_attachment,elemRotate_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domRigid_constraint::domRef_attachment,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "translate" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemTranslate_array) ); + mea->setElementType( domTranslate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rotate" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemRotate_array) ); + mea->setElementType( domRotate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domRigid_constraint::domRef_attachment,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domRigid_constraint::domRef_attachment,_contentsOrder)); // Add attribute: rigid_body @@ -130,15 +186,36 @@ domRigid_constraint::domAttachment::registerElement() _Meta = new daeMetaElement; _Meta->setName( "attachment" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domAttachment::_Meta); _Meta->registerConstructor(domRigid_constraint::domAttachment::create); - // Add elements: translate, rotate, extra - _Meta->appendArrayElement(domTranslate::registerElement(),daeOffsetOf(domRigid_constraint::domAttachment,elemTranslate_array)); - _Meta->appendArrayElement(domRotate::registerElement(),daeOffsetOf(domRigid_constraint::domAttachment,elemRotate_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domRigid_constraint::domAttachment,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaChoice( _Meta, cm, 0, 0, -1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "translate" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemTranslate_array) ); + mea->setElementType( domTranslate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "rotate" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemRotate_array) ); + mea->setElementType( domRotate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domRigid_constraint::domAttachment,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domRigid_constraint::domAttachment,_contentsOrder)); // Add attribute: rigid_body @@ -174,14 +251,39 @@ domRigid_constraint::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::create); - // Add elements: enabled, interpenetrate, limits, spring - _Meta->appendElement(domRigid_constraint::domTechnique_common::domEnabled::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common,elemEnabled)); - _Meta->appendElement(domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common,elemInterpenetrate)); - _Meta->appendElement(domRigid_constraint::domTechnique_common::domLimits::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common,elemLimits)); - _Meta->appendElement(domRigid_constraint::domTechnique_common::domSpring::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common,elemSpring)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "enabled" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemEnabled) ); + mea->setElementType( domRigid_constraint::domTechnique_common::domEnabled::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "interpenetrate" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemInterpenetrate) ); + mea->setElementType( domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "limits" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemLimits) ); + mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 0, 1 ); + mea->setName( "spring" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemSpring) ); + mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common)); @@ -205,9 +307,9 @@ domRigid_constraint::domTechnique_common::domEnabled::registerElement() _Meta = new daeMetaElement; _Meta->setName( "enabled" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::domEnabled::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::domEnabled::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -251,9 +353,9 @@ domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "interpenetrate" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::domInterpenetrate::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::domInterpenetrate::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -297,12 +399,27 @@ domRigid_constraint::domTechnique_common::domLimits::registerElement() _Meta = new daeMetaElement; _Meta->setName( "limits" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::domLimits::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::domLimits::create); - // Add elements: swing_cone_and_twist, linear - _Meta->appendElement(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemSwing_cone_and_twist)); - _Meta->appendElement(domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemLinear)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "swing_cone_and_twist" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemSwing_cone_and_twist) ); + mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "linear" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemLinear) ); + mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits)); @@ -326,12 +443,27 @@ domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::re _Meta = new daeMetaElement; _Meta->setName( "swing_cone_and_twist" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::create); - // Add elements: min, max - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMin),"min"); - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMax),"max"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "min" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMin) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "max" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMax) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist)); @@ -355,12 +487,27 @@ domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement( _Meta = new daeMetaElement; _Meta->setName( "linear" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::domLimits::domLinear::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::domLimits::domLinear::create); - // Add elements: min, max - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMin),"min"); - _Meta->appendElement(domTargetableFloat3::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMax),"max"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "min" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMin) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "max" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMax) ); + mea->setElementType( domTargetableFloat3::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits::domLinear)); @@ -384,12 +531,27 @@ domRigid_constraint::domTechnique_common::domSpring::registerElement() _Meta = new daeMetaElement; _Meta->setName( "spring" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::domSpring::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::domSpring::create); - // Add elements: angular, linear - _Meta->appendElement(domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemAngular)); - _Meta->appendElement(domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemLinear)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "angular" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemAngular) ); + mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "linear" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemLinear) ); + mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring)); @@ -413,13 +575,33 @@ domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement _Meta = new daeMetaElement; _Meta->setName( "angular" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::domSpring::domAngular::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::domSpring::domAngular::create); - // Add elements: stiffness, damping, target_value - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemStiffness),"stiffness"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemDamping),"damping"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemTarget_value),"target_value"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "stiffness" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemStiffness) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "damping" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemDamping) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "target_value" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemTarget_value) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring::domAngular)); @@ -443,13 +625,33 @@ domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement( _Meta = new daeMetaElement; _Meta->setName( "linear" ); - _Meta->setStaticPointerAddress(&domRigid_constraint::domTechnique_common::domSpring::domLinear::_Meta); _Meta->registerConstructor(domRigid_constraint::domTechnique_common::domSpring::domLinear::create); - // Add elements: stiffness, damping, target_value - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemStiffness),"stiffness"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemDamping),"damping"); - _Meta->appendElement(domTargetableFloat::registerElement(),daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemTarget_value),"target_value"); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "stiffness" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemStiffness) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "damping" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemDamping) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "target_value" ); + mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemTarget_value) ); + mea->setElementType( domTargetableFloat::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring::domLinear)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domRotate.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domRotate.cpp index b17c3c0fe..fb835ea62 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domRotate.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domRotate.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domRotate::create(daeInt bytes) @@ -29,7 +35,6 @@ domRotate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "rotate" ); - _Meta->setStaticPointerAddress(&domRotate::_Meta); _Meta->registerConstructor(domRotate::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domSampler.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domSampler.cpp index b4a58b4b1..cbcc62d3b 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domSampler.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domSampler.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domSampler::create(daeInt bytes) @@ -29,11 +35,20 @@ domSampler::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sampler" ); - _Meta->setStaticPointerAddress(&domSampler::_Meta); _Meta->registerConstructor(domSampler::create); - // Add elements: input - _Meta->appendArrayElement(domInputLocal::registerElement(),daeOffsetOf(domSampler,elemInput_array),"input"); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domSampler,elemInput_array) ); + mea->setElementType( domInputLocal::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domScale.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domScale.cpp index 5d4d47ac5..bdc9724a7 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domScale.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domScale.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domScale::create(daeInt bytes) @@ -29,7 +35,6 @@ domScale::registerElement() _Meta = new daeMetaElement; _Meta->setName( "scale" ); - _Meta->setStaticPointerAddress(&domScale::_Meta); _Meta->registerConstructor(domScale::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domSkew.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domSkew.cpp index 96d499f71..2302d9e6e 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domSkew.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domSkew.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domSkew::create(daeInt bytes) @@ -29,7 +35,6 @@ domSkew::registerElement() _Meta = new daeMetaElement; _Meta->setName( "skew" ); - _Meta->setStaticPointerAddress(&domSkew::_Meta); _Meta->registerConstructor(domSkew::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domSkin.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domSkin.cpp index 60f277270..3069ca2cc 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domSkin.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domSkin.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domSkin::create(daeInt bytes) @@ -30,15 +36,44 @@ domSkin::registerElement() _Meta = new daeMetaElement; _Meta->setName( "skin" ); - _Meta->setStaticPointerAddress(&domSkin::_Meta); _Meta->registerConstructor(domSkin::create); - // Add elements: bind_shape_matrix, source, joints, vertex_weights, extra - _Meta->appendElement(domSkin::domBind_shape_matrix::registerElement(),daeOffsetOf(domSkin,elemBind_shape_matrix)); - _Meta->appendArrayElement(domSource::registerElement(),daeOffsetOf(domSkin,elemSource_array)); - _Meta->appendElement(domSkin::domJoints::registerElement(),daeOffsetOf(domSkin,elemJoints)); - _Meta->appendElement(domSkin::domVertex_weights::registerElement(),daeOffsetOf(domSkin,elemVertex_weights)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domSkin,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "bind_shape_matrix" ); + mea->setOffset( daeOffsetOf(domSkin,elemBind_shape_matrix) ); + mea->setElementType( domSkin::domBind_shape_matrix::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 3, -1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domSkin,elemSource_array) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "joints" ); + mea->setOffset( daeOffsetOf(domSkin,elemJoints) ); + mea->setElementType( domSkin::domJoints::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 3, 1, 1 ); + mea->setName( "vertex_weights" ); + mea->setOffset( daeOffsetOf(domSkin,elemVertex_weights) ); + mea->setElementType( domSkin::domVertex_weights::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 4, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domSkin,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 4 ); + _Meta->setCMRoot( cm ); // Add attribute: source { @@ -74,9 +109,9 @@ domSkin::domBind_shape_matrix::registerElement() _Meta = new daeMetaElement; _Meta->setName( "bind_shape_matrix" ); - _Meta->setStaticPointerAddress(&domSkin::domBind_shape_matrix::_Meta); _Meta->registerConstructor(domSkin::domBind_shape_matrix::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -109,12 +144,27 @@ domSkin::domJoints::registerElement() _Meta = new daeMetaElement; _Meta->setName( "joints" ); - _Meta->setStaticPointerAddress(&domSkin::domJoints::_Meta); _Meta->registerConstructor(domSkin::domJoints::create); - // Add elements: input, extra - _Meta->appendArrayElement(domInputLocal::registerElement(),daeOffsetOf(domSkin::domJoints,elemInput_array),"input"); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domSkin::domJoints,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 2, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domSkin::domJoints,elemInput_array) ); + mea->setElementType( domInputLocal::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domSkin::domJoints,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domSkin::domJoints)); @@ -138,14 +188,39 @@ domSkin::domVertex_weights::registerElement() _Meta = new daeMetaElement; _Meta->setName( "vertex_weights" ); - _Meta->setStaticPointerAddress(&domSkin::domVertex_weights::_Meta); _Meta->registerConstructor(domSkin::domVertex_weights::create); - // Add elements: input, vcount, v, extra - _Meta->appendArrayElement(domInputLocalOffset::registerElement(),daeOffsetOf(domSkin::domVertex_weights,elemInput_array),"input"); - _Meta->appendElement(domSkin::domVertex_weights::domVcount::registerElement(),daeOffsetOf(domSkin::domVertex_weights,elemVcount)); - _Meta->appendElement(domSkin::domVertex_weights::domV::registerElement(),daeOffsetOf(domSkin::domVertex_weights,elemV)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domSkin::domVertex_weights,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 2, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemInput_array) ); + mea->setElementType( domInputLocalOffset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "vcount" ); + mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemVcount) ); + mea->setElementType( domSkin::domVertex_weights::domVcount::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "v" ); + mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemV) ); + mea->setElementType( domSkin::domVertex_weights::domV::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: count { @@ -181,9 +256,9 @@ domSkin::domVertex_weights::domVcount::registerElement() _Meta = new daeMetaElement; _Meta->setName( "vcount" ); - _Meta->setStaticPointerAddress(&domSkin::domVertex_weights::domVcount::_Meta); _Meta->registerConstructor(domSkin::domVertex_weights::domVcount::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -216,9 +291,9 @@ domSkin::domVertex_weights::domV::registerElement() _Meta = new daeMetaElement; _Meta->setName( "v" ); - _Meta->setStaticPointerAddress(&domSkin::domVertex_weights::domV::_Meta); _Meta->registerConstructor(domSkin::domVertex_weights::domV::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domSource.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domSource.cpp index e87ac5c1e..5b478422d 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domSource.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domSource.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domSource::create(daeInt bytes) @@ -29,20 +35,71 @@ domSource::registerElement() _Meta = new daeMetaElement; _Meta->setName( "source" ); - _Meta->setStaticPointerAddress(&domSource::_Meta); _Meta->registerConstructor(domSource::create); - // Add elements: asset, IDREF_array, Name_array, bool_array, float_array, int_array, technique_common, technique - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domSource,elemAsset)); - _Meta->appendElement(domIDREF_array::registerElement(),daeOffsetOf(domSource,elemIDREF_array)); - _Meta->appendElement(domName_array::registerElement(),daeOffsetOf(domSource,elemName_array)); - _Meta->appendElement(domBool_array::registerElement(),daeOffsetOf(domSource,elemBool_array)); - _Meta->appendElement(domFloat_array::registerElement(),daeOffsetOf(domSource,elemFloat_array)); - _Meta->appendElement(domInt_array::registerElement(),daeOffsetOf(domSource,elemInt_array)); - _Meta->appendElement(domSource::domTechnique_common::registerElement(),daeOffsetOf(domSource,elemTechnique_common)); - _Meta->appendArrayElement(domTechnique::registerElement(),daeOffsetOf(domSource,elemTechnique_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domSource,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + cm = new daeMetaChoice( _Meta, cm, 1, 0, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "IDREF_array" ); + mea->setOffset( daeOffsetOf(domSource,elemIDREF_array) ); + mea->setElementType( domIDREF_array::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "Name_array" ); + mea->setOffset( daeOffsetOf(domSource,elemName_array) ); + mea->setElementType( domName_array::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "bool_array" ); + mea->setOffset( daeOffsetOf(domSource,elemBool_array) ); + mea->setElementType( domBool_array::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "float_array" ); + mea->setOffset( daeOffsetOf(domSource,elemFloat_array) ); + mea->setElementType( domFloat_array::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "int_array" ); + mea->setOffset( daeOffsetOf(domSource,elemInt_array) ); + mea->setElementType( domInt_array::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + cm->getParent()->appendChild( cm ); + cm = cm->getParent(); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 0, 1 ); + mea->setName( "technique_common" ); + mea->setOffset( daeOffsetOf(domSource,elemTechnique_common) ); + mea->setElementType( domSource::domTechnique_common::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "technique" ); + mea->setOffset( daeOffsetOf(domSource,elemTechnique_array) ); + mea->setElementType( domTechnique::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domSource,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domSource,_contentsOrder)); // Add attribute: id @@ -90,11 +147,21 @@ domSource::domTechnique_common::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique_common" ); - _Meta->setStaticPointerAddress(&domSource::domTechnique_common::_Meta); _Meta->registerConstructor(domSource::domTechnique_common::create); - // Add elements: accessor - _Meta->appendElement(domAccessor::registerElement(),daeOffsetOf(domSource::domTechnique_common,elemAccessor)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "accessor" ); + mea->setOffset( daeOffsetOf(domSource::domTechnique_common,elemAccessor) ); + mea->setElementType( domAccessor::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domSource::domTechnique_common)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domSphere.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domSphere.cpp index 4ecbfdc88..11b9c1c63 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domSphere.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domSphere.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domSphere::create(daeInt bytes) @@ -29,12 +35,26 @@ domSphere::registerElement() _Meta = new daeMetaElement; _Meta->setName( "sphere" ); - _Meta->setStaticPointerAddress(&domSphere::_Meta); _Meta->registerConstructor(domSphere::create); - // Add elements: radius, extra - _Meta->appendElement(domSphere::domRadius::registerElement(),daeOffsetOf(domSphere,elemRadius)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domSphere,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "radius" ); + mea->setOffset( daeOffsetOf(domSphere,elemRadius) ); + mea->setElementType( domSphere::domRadius::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domSphere,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domSphere)); @@ -58,9 +78,9 @@ domSphere::domRadius::registerElement() _Meta = new daeMetaElement; _Meta->setName( "radius" ); - _Meta->setStaticPointerAddress(&domSphere::domRadius::_Meta); _Meta->registerConstructor(domSphere::domRadius::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domSpline.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domSpline.cpp index d70f1dfcc..7e419cf8a 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domSpline.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domSpline.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domSpline::create(daeInt bytes) @@ -29,13 +35,32 @@ domSpline::registerElement() _Meta = new daeMetaElement; _Meta->setName( "spline" ); - _Meta->setStaticPointerAddress(&domSpline::_Meta); _Meta->registerConstructor(domSpline::create); - // Add elements: source, control_vertices, extra - _Meta->appendArrayElement(domSource::registerElement(),daeOffsetOf(domSpline,elemSource_array)); - _Meta->appendElement(domSpline::domControl_vertices::registerElement(),daeOffsetOf(domSpline,elemControl_vertices)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domSpline,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "source" ); + mea->setOffset( daeOffsetOf(domSpline,elemSource_array) ); + mea->setElementType( domSource::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "control_vertices" ); + mea->setOffset( daeOffsetOf(domSpline,elemControl_vertices) ); + mea->setElementType( domSpline::domControl_vertices::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domSpline,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: closed { @@ -71,12 +96,27 @@ domSpline::domControl_vertices::registerElement() _Meta = new daeMetaElement; _Meta->setName( "control_vertices" ); - _Meta->setStaticPointerAddress(&domSpline::domControl_vertices::_Meta); _Meta->registerConstructor(domSpline::domControl_vertices::create); - // Add elements: input, extra - _Meta->appendArrayElement(domInputLocal::registerElement(),daeOffsetOf(domSpline::domControl_vertices,elemInput_array),"input"); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domSpline::domControl_vertices,elemExtra_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domSpline::domControl_vertices,elemInput_array) ); + mea->setElementType( domInputLocal::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domSpline::domControl_vertices,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domSpline::domControl_vertices)); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTapered_capsule.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTapered_capsule.cpp index 92b8a40cb..54e56a860 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTapered_capsule.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTapered_capsule.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domTapered_capsule::create(daeInt bytes) @@ -29,14 +35,38 @@ domTapered_capsule::registerElement() _Meta = new daeMetaElement; _Meta->setName( "tapered_capsule" ); - _Meta->setStaticPointerAddress(&domTapered_capsule::_Meta); _Meta->registerConstructor(domTapered_capsule::create); - // Add elements: height, radius1, radius2, extra - _Meta->appendElement(domTapered_capsule::domHeight::registerElement(),daeOffsetOf(domTapered_capsule,elemHeight)); - _Meta->appendElement(domTapered_capsule::domRadius1::registerElement(),daeOffsetOf(domTapered_capsule,elemRadius1)); - _Meta->appendElement(domTapered_capsule::domRadius2::registerElement(),daeOffsetOf(domTapered_capsule,elemRadius2)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domTapered_capsule,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "height" ); + mea->setOffset( daeOffsetOf(domTapered_capsule,elemHeight) ); + mea->setElementType( domTapered_capsule::domHeight::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "radius1" ); + mea->setOffset( daeOffsetOf(domTapered_capsule,elemRadius1) ); + mea->setElementType( domTapered_capsule::domRadius1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "radius2" ); + mea->setOffset( daeOffsetOf(domTapered_capsule,elemRadius2) ); + mea->setElementType( domTapered_capsule::domRadius2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domTapered_capsule,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domTapered_capsule)); @@ -60,9 +90,9 @@ domTapered_capsule::domHeight::registerElement() _Meta = new daeMetaElement; _Meta->setName( "height" ); - _Meta->setStaticPointerAddress(&domTapered_capsule::domHeight::_Meta); _Meta->registerConstructor(domTapered_capsule::domHeight::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -95,9 +125,9 @@ domTapered_capsule::domRadius1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "radius1" ); - _Meta->setStaticPointerAddress(&domTapered_capsule::domRadius1::_Meta); _Meta->registerConstructor(domTapered_capsule::domRadius1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -130,9 +160,9 @@ domTapered_capsule::domRadius2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "radius2" ); - _Meta->setStaticPointerAddress(&domTapered_capsule::domRadius2::_Meta); _Meta->registerConstructor(domTapered_capsule::domRadius2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTapered_cylinder.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTapered_cylinder.cpp index 1c2c2c80c..54cc80e54 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTapered_cylinder.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTapered_cylinder.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domTapered_cylinder::create(daeInt bytes) @@ -29,14 +35,38 @@ domTapered_cylinder::registerElement() _Meta = new daeMetaElement; _Meta->setName( "tapered_cylinder" ); - _Meta->setStaticPointerAddress(&domTapered_cylinder::_Meta); _Meta->registerConstructor(domTapered_cylinder::create); - // Add elements: height, radius1, radius2, extra - _Meta->appendElement(domTapered_cylinder::domHeight::registerElement(),daeOffsetOf(domTapered_cylinder,elemHeight)); - _Meta->appendElement(domTapered_cylinder::domRadius1::registerElement(),daeOffsetOf(domTapered_cylinder,elemRadius1)); - _Meta->appendElement(domTapered_cylinder::domRadius2::registerElement(),daeOffsetOf(domTapered_cylinder,elemRadius2)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domTapered_cylinder,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 1, 1 ); + mea->setName( "height" ); + mea->setOffset( daeOffsetOf(domTapered_cylinder,elemHeight) ); + mea->setElementType( domTapered_cylinder::domHeight::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 1, 1 ); + mea->setName( "radius1" ); + mea->setOffset( daeOffsetOf(domTapered_cylinder,elemRadius1) ); + mea->setElementType( domTapered_cylinder::domRadius1::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 2, 1, 1 ); + mea->setName( "radius2" ); + mea->setOffset( daeOffsetOf(domTapered_cylinder,elemRadius2) ); + mea->setElementType( domTapered_cylinder::domRadius2::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domTapered_cylinder,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); _Meta->setElementSize(sizeof(domTapered_cylinder)); @@ -60,9 +90,9 @@ domTapered_cylinder::domHeight::registerElement() _Meta = new daeMetaElement; _Meta->setName( "height" ); - _Meta->setStaticPointerAddress(&domTapered_cylinder::domHeight::_Meta); _Meta->registerConstructor(domTapered_cylinder::domHeight::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; @@ -95,9 +125,9 @@ domTapered_cylinder::domRadius1::registerElement() _Meta = new daeMetaElement; _Meta->setName( "radius1" ); - _Meta->setStaticPointerAddress(&domTapered_cylinder::domRadius1::_Meta); _Meta->registerConstructor(domTapered_cylinder::domRadius1::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; @@ -130,9 +160,9 @@ domTapered_cylinder::domRadius2::registerElement() _Meta = new daeMetaElement; _Meta->setName( "radius2" ); - _Meta->setStaticPointerAddress(&domTapered_cylinder::domRadius2::_Meta); _Meta->registerConstructor(domTapered_cylinder::domRadius2::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaArrayAttribute; diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTargetableFloat.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTargetableFloat.cpp index abe3c6145..deeba5171 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTargetableFloat.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTargetableFloat.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domTargetableFloat::create(daeInt bytes) @@ -29,7 +35,6 @@ domTargetableFloat::registerElement() _Meta = new daeMetaElement; _Meta->setName( "TargetableFloat" ); - _Meta->setStaticPointerAddress(&domTargetableFloat::_Meta); _Meta->registerConstructor(domTargetableFloat::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTargetableFloat3.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTargetableFloat3.cpp index 21ef0e988..53b08c729 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTargetableFloat3.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTargetableFloat3.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domTargetableFloat3::create(daeInt bytes) @@ -29,7 +35,6 @@ domTargetableFloat3::registerElement() _Meta = new daeMetaElement; _Meta->setName( "TargetableFloat3" ); - _Meta->setStaticPointerAddress(&domTargetableFloat3::_Meta); _Meta->registerConstructor(domTargetableFloat3::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTechnique.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTechnique.cpp index c6b962b20..03828e5d1 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTechnique.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTechnique.cpp @@ -13,98 +13,12 @@ #include #include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include daeElementRef domTechnique::create(daeInt bytes) @@ -122,104 +36,19 @@ domTechnique::registerElement() _Meta = new daeMetaElement; _Meta->setName( "technique" ); - _Meta->setStaticPointerAddress(&domTechnique::_Meta); _Meta->registerConstructor(domTechnique::create); - // Add elements: + daeMetaCMPolicy *cm = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaAny( _Meta, cm, 0, 0, -1 ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); _Meta->setAllowsAny( true ); - _Meta->appendArrayElement( domCOLLADA::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domIDREF_array::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domName_array::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domBool_array::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domFloat_array::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInt_array::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domAccessor::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domParam::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domSource::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domGeometry::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domMesh::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domSpline::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domP::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLines::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLinestrips::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domPolygons::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domPolylist::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domTriangles::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domTrifans::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domTristrips::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domVertices::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLookat::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domMatrix::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domRotate::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domScale::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domSkew::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domTranslate::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domImage::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLight::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domMaterial::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domCamera::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domAnimation::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domAnimation_clip::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domChannel::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domSampler::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domController::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domSkin::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domMorph::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domAsset::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domExtra::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domTechnique::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domNode::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domVisual_scene::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domBind_material::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_camera::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_controller::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_effect::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_force_field::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_geometry::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_light::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_material::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_node::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_physics_material::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_physics_model::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_rigid_body::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domInstance_rigid_constraint::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_animations::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_animation_clips::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_cameras::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_controllers::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_geometries::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_effects::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_force_fields::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_images::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_lights::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_materials::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_nodes::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_physics_materials::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_physics_models::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_physics_scenes::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domLibrary_visual_scenes::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domEffect::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domProfile_GLSL::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domProfile_COMMON::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domProfile_CG::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domProfile_GLES::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domBox::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domPlane::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domSphere::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domEllipsoid::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domCylinder::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domTapered_cylinder::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domCapsule::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domTapered_capsule::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domConvex_mesh::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domForce_field::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domPhysics_material::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domPhysics_scene::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domRigid_body::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domRigid_constraint::registerElement(), daeOffsetOf(domTechnique, _contents)); - _Meta->appendArrayElement( domPhysics_model::registerElement(), daeOffsetOf(domTechnique, _contents)); // Ordered list of sub-elements _Meta->addContents(daeOffsetOf(domTechnique,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domTechnique,_contentsOrder)); // Add attribute: xmlns { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTranslate.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTranslate.cpp index e25248101..6faa53c27 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTranslate.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTranslate.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domTranslate::create(daeInt bytes) @@ -29,7 +35,6 @@ domTranslate::registerElement() _Meta = new daeMetaElement; _Meta->setName( "translate" ); - _Meta->setStaticPointerAddress(&domTranslate::_Meta); _Meta->registerConstructor(domTranslate::create); // Add attribute: _value diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTriangles.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTriangles.cpp index f4a06310c..5f030d2ec 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTriangles.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTriangles.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domTriangles::create(daeInt bytes) @@ -29,13 +35,32 @@ domTriangles::registerElement() _Meta = new daeMetaElement; _Meta->setName( "triangles" ); - _Meta->setStaticPointerAddress(&domTriangles::_Meta); _Meta->registerConstructor(domTriangles::create); - // Add elements: input, p, extra - _Meta->appendArrayElement(domInputLocalOffset::registerElement(),daeOffsetOf(domTriangles,elemInput_array),"input"); - _Meta->appendElement(domP::registerElement(),daeOffsetOf(domTriangles,elemP)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domTriangles,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domTriangles,elemInput_array) ); + mea->setElementType( domInputLocalOffset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "p" ); + mea->setOffset( daeOffsetOf(domTriangles,elemP) ); + mea->setElementType( domP::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domTriangles,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: name { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTrifans.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTrifans.cpp index cdb3efdc0..7664016b1 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTrifans.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTrifans.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domTrifans::create(daeInt bytes) @@ -29,13 +35,32 @@ domTrifans::registerElement() _Meta = new daeMetaElement; _Meta->setName( "trifans" ); - _Meta->setStaticPointerAddress(&domTrifans::_Meta); _Meta->registerConstructor(domTrifans::create); - // Add elements: input, p, extra - _Meta->appendArrayElement(domInputLocalOffset::registerElement(),daeOffsetOf(domTrifans,elemInput_array),"input"); - _Meta->appendArrayElement(domP::registerElement(),daeOffsetOf(domTrifans,elemP_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domTrifans,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domTrifans,elemInput_array) ); + mea->setElementType( domInputLocalOffset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "p" ); + mea->setOffset( daeOffsetOf(domTrifans,elemP_array) ); + mea->setElementType( domP::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domTrifans,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: name { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTristrips.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTristrips.cpp index dacbfa7ab..343be56af 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTristrips.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTristrips.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domTristrips::create(daeInt bytes) @@ -29,13 +35,32 @@ domTristrips::registerElement() _Meta = new daeMetaElement; _Meta->setName( "tristrips" ); - _Meta->setStaticPointerAddress(&domTristrips::_Meta); _Meta->registerConstructor(domTristrips::create); - // Add elements: input, p, extra - _Meta->appendArrayElement(domInputLocalOffset::registerElement(),daeOffsetOf(domTristrips,elemInput_array),"input"); - _Meta->appendArrayElement(domP::registerElement(),daeOffsetOf(domTristrips,elemP_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domTristrips,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domTristrips,elemInput_array) ); + mea->setElementType( domInputLocalOffset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "p" ); + mea->setOffset( daeOffsetOf(domTristrips,elemP_array) ); + mea->setElementType( domP::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domTristrips,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 2 ); + _Meta->setCMRoot( cm ); // Add attribute: name { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domTypes.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domTypes.cpp index c4bf793cc..9e6673588 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domTypes.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domTypes.cpp @@ -481,6 +481,8 @@ void registerDomTypes() ((daeEnumType*)type)->_values = new daeEnumArray; ((daeEnumType*)type)->_strings->append("1.4.0"); ((daeEnumType*)type)->_values->append(VERSIONTYPE_1_4_0); + ((daeEnumType*)type)->_strings->append("1.4.1"); + ((daeEnumType*)type)->_values->append(VERSIONTYPE_1_4_1); daeAtomicType::append( type ); // TYPEDEF: Fx_color_common //check if this type has an existing base @@ -494,6 +496,17 @@ void registerDomTypes() type->_nameBindings.append("Fx_color_common"); } + // ENUM: Fx_opaque_enum + type = new daeEnumType; + type->_nameBindings.append("Fx_opaque_enum"); + ((daeEnumType*)type)->_strings = new daeStringRefArray; + ((daeEnumType*)type)->_values = new daeEnumArray; + ((daeEnumType*)type)->_strings->append("A_ONE"); + ((daeEnumType*)type)->_values->append(FX_OPAQUE_ENUM_A_ONE); + ((daeEnumType*)type)->_strings->append("RGB_ZERO"); + ((daeEnumType*)type)->_values->append(FX_OPAQUE_ENUM_RGB_ZERO); + daeAtomicType::append( type ); + // ENUM: Fx_surface_type_enum type = new daeEnumType; type->_nameBindings.append("Fx_surface_type_enum"); @@ -534,6 +547,72 @@ void registerDomTypes() ((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_NEGATIVE_Z); daeAtomicType::append( type ); + // ENUM: Fx_surface_format_hint_channels_enum + type = new daeEnumType; + type->_nameBindings.append("Fx_surface_format_hint_channels_enum"); + ((daeEnumType*)type)->_strings = new daeStringRefArray; + ((daeEnumType*)type)->_values = new daeEnumArray; + ((daeEnumType*)type)->_strings->append("RGB"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGB); + ((daeEnumType*)type)->_strings->append("RGBA"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGBA); + ((daeEnumType*)type)->_strings->append("L"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_L); + ((daeEnumType*)type)->_strings->append("LA"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_LA); + ((daeEnumType*)type)->_strings->append("D"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_D); + ((daeEnumType*)type)->_strings->append("XYZ"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZ); + ((daeEnumType*)type)->_strings->append("XYZW"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZW); + daeAtomicType::append( type ); + + // ENUM: Fx_surface_format_hint_precision_enum + type = new daeEnumType; + type->_nameBindings.append("Fx_surface_format_hint_precision_enum"); + ((daeEnumType*)type)->_strings = new daeStringRefArray; + ((daeEnumType*)type)->_values = new daeEnumArray; + ((daeEnumType*)type)->_strings->append("LOW"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_LOW); + ((daeEnumType*)type)->_strings->append("MID"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_MID); + ((daeEnumType*)type)->_strings->append("HIGH"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_HIGH); + daeAtomicType::append( type ); + + // ENUM: Fx_surface_format_hint_range_enum + type = new daeEnumType; + type->_nameBindings.append("Fx_surface_format_hint_range_enum"); + ((daeEnumType*)type)->_strings = new daeStringRefArray; + ((daeEnumType*)type)->_values = new daeEnumArray; + ((daeEnumType*)type)->_strings->append("SNORM"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SNORM); + ((daeEnumType*)type)->_strings->append("UNORM"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UNORM); + ((daeEnumType*)type)->_strings->append("SINT"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SINT); + ((daeEnumType*)type)->_strings->append("UINT"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UINT); + ((daeEnumType*)type)->_strings->append("FLOAT"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_FLOAT); + daeAtomicType::append( type ); + + // ENUM: Fx_surface_format_hint_option_enum + type = new daeEnumType; + type->_nameBindings.append("Fx_surface_format_hint_option_enum"); + ((daeEnumType*)type)->_strings = new daeStringRefArray; + ((daeEnumType*)type)->_values = new daeEnumArray; + ((daeEnumType*)type)->_strings->append("SRGB_GAMMA"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_SRGB_GAMMA); + ((daeEnumType*)type)->_strings->append("NORMALIZED3"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED3); + ((daeEnumType*)type)->_strings->append("NORMALIZED4"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED4); + ((daeEnumType*)type)->_strings->append("COMPRESSABLE"); + ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COMPRESSABLE); + daeAtomicType::append( type ); + // ENUM: Fx_sampler_wrap_common type = new daeEnumType; type->_nameBindings.append("Fx_sampler_wrap_common"); @@ -1259,7 +1338,7 @@ void registerDomTypes() daeAtomicType::append( type ); // TYPEDEF: Glsl_identifier //check if this type has an existing base - type = daeAtomicType::get("xsString"); + type = daeAtomicType::get("xsToken"); if ( type == NULL ) { //register as a raw type type = new daeRawRefType; type->_nameBindings.append("Glsl_identifier"); @@ -2491,7 +2570,7 @@ void registerDomTypes() daeAtomicType::append( type ); // TYPEDEF: Cg_identifier //check if this type has an existing base - type = daeAtomicType::get("xsString"); + type = daeAtomicType::get("xsToken"); if ( type == NULL ) { //register as a raw type type = new daeRawRefType; type->_nameBindings.append("Cg_identifier"); diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domVertices.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domVertices.cpp index 8208cd4d0..b629c76e1 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domVertices.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domVertices.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domVertices::create(daeInt bytes) @@ -29,12 +35,26 @@ domVertices::registerElement() _Meta = new daeMetaElement; _Meta->setName( "vertices" ); - _Meta->setStaticPointerAddress(&domVertices::_Meta); _Meta->registerConstructor(domVertices::create); - // Add elements: input, extra - _Meta->appendArrayElement(domInputLocal::registerElement(),daeOffsetOf(domVertices,elemInput_array),"input"); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domVertices,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "input" ); + mea->setOffset( daeOffsetOf(domVertices,elemInput_array) ); + mea->setElementType( domInputLocal::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domVertices,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Add attribute: id { diff --git a/Extras/COLLADA_DOM/src/1.4/dom/domVisual_scene.cpp b/Extras/COLLADA_DOM/src/1.4/dom/domVisual_scene.cpp index 129fc3764..92dd5aff3 100644 --- a/Extras/COLLADA_DOM/src/1.4/dom/domVisual_scene.cpp +++ b/Extras/COLLADA_DOM/src/1.4/dom/domVisual_scene.cpp @@ -13,6 +13,12 @@ #include #include +#include +#include +#include +#include +#include +#include daeElementRef domVisual_scene::create(daeInt bytes) @@ -29,14 +35,38 @@ domVisual_scene::registerElement() _Meta = new daeMetaElement; _Meta->setName( "visual_scene" ); - _Meta->setStaticPointerAddress(&domVisual_scene::_Meta); _Meta->registerConstructor(domVisual_scene::create); - // Add elements: asset, node, evaluate_scene, extra - _Meta->appendElement(domAsset::registerElement(),daeOffsetOf(domVisual_scene,elemAsset)); - _Meta->appendArrayElement(domNode::registerElement(),daeOffsetOf(domVisual_scene,elemNode_array)); - _Meta->appendArrayElement(domVisual_scene::domEvaluate_scene::registerElement(),daeOffsetOf(domVisual_scene,elemEvaluate_scene_array)); - _Meta->appendArrayElement(domExtra::registerElement(),daeOffsetOf(domVisual_scene,elemExtra_array)); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementAttribute( _Meta, cm, 0, 0, 1 ); + mea->setName( "asset" ); + mea->setOffset( daeOffsetOf(domVisual_scene,elemAsset) ); + mea->setElementType( domAsset::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 1, 1, -1 ); + mea->setName( "node" ); + mea->setOffset( daeOffsetOf(domVisual_scene,elemNode_array) ); + mea->setElementType( domNode::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 2, 0, -1 ); + mea->setName( "evaluate_scene" ); + mea->setOffset( daeOffsetOf(domVisual_scene,elemEvaluate_scene_array) ); + mea->setElementType( domVisual_scene::domEvaluate_scene::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 3, 0, -1 ); + mea->setName( "extra" ); + mea->setOffset( daeOffsetOf(domVisual_scene,elemExtra_array) ); + mea->setElementType( domExtra::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 3 ); + _Meta->setCMRoot( cm ); // Add attribute: id { @@ -83,11 +113,21 @@ domVisual_scene::domEvaluate_scene::registerElement() _Meta = new daeMetaElement; _Meta->setName( "evaluate_scene" ); - _Meta->setStaticPointerAddress(&domVisual_scene::domEvaluate_scene::_Meta); _Meta->registerConstructor(domVisual_scene::domEvaluate_scene::create); - // Add elements: render - _Meta->appendArrayElement(domVisual_scene::domEvaluate_scene::domRender::registerElement(),daeOffsetOf(domVisual_scene::domEvaluate_scene,elemRender_array)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 1, -1 ); + mea->setName( "render" ); + mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene,elemRender_array) ); + mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); // Add attribute: name { @@ -123,12 +163,27 @@ domVisual_scene::domEvaluate_scene::domRender::registerElement() _Meta = new daeMetaElement; _Meta->setName( "render" ); - _Meta->setStaticPointerAddress(&domVisual_scene::domEvaluate_scene::domRender::_Meta); _Meta->registerConstructor(domVisual_scene::domEvaluate_scene::domRender::create); - // Add elements: layer, instance_effect - _Meta->appendArrayElement(domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement(),daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemLayer_array)); - _Meta->appendElement(domInstance_effect::registerElement(),daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemInstance_effect)); + _Meta->setIsInnerClass( true ); + daeMetaCMPolicy *cm = NULL; + daeMetaElementAttribute *mea = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + mea = new daeMetaElementArrayAttribute( _Meta, cm, 0, 0, -1 ); + mea->setName( "layer" ); + mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemLayer_array) ); + mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement() ); + cm->appendChild( mea ); + + mea = new daeMetaElementAttribute( _Meta, cm, 1, 0, 1 ); + mea->setName( "instance_effect" ); + mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemInstance_effect) ); + mea->setElementType( domInstance_effect::registerElement() ); + cm->appendChild( mea ); + + cm->setMaxOrdinal( 1 ); + _Meta->setCMRoot( cm ); // Add attribute: camera_node { @@ -164,9 +219,9 @@ domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement() _Meta = new daeMetaElement; _Meta->setName( "layer" ); - _Meta->setStaticPointerAddress(&domVisual_scene::domEvaluate_scene::domRender::domLayer::_Meta); _Meta->registerConstructor(domVisual_scene::domEvaluate_scene::domRender::domLayer::create); + _Meta->setIsInnerClass( true ); // Add attribute: _value { daeMetaAttribute *ma = new daeMetaAttribute; diff --git a/Extras/COLLADA_DOM/src/dae/dae.cpp b/Extras/COLLADA_DOM/src/dae/dae.cpp index 622461346..e00479d3f 100644 --- a/Extras/COLLADA_DOM/src/dae/dae.cpp +++ b/Extras/COLLADA_DOM/src/dae/dae.cpp @@ -170,7 +170,8 @@ daeInt DAE::load(daeString name, daeString docBuffer) registerFunc(); if ( !plugin || !database ) { - printf( "no plugin or database\n" ); + //printf( "no plugin or database\n" ); + daeErrorHandler::get()->handleError("no plugin or database\n"); return DAE_ERR_BACKEND_IO; } diff --git a/Extras/COLLADA_DOM/src/dae/daeAtomicType.cpp b/Extras/COLLADA_DOM/src/dae/daeAtomicType.cpp index aa13a86ff..57c5e09a4 100644 --- a/Extras/COLLADA_DOM/src/dae/daeAtomicType.cpp +++ b/Extras/COLLADA_DOM/src/dae/daeAtomicType.cpp @@ -460,6 +460,7 @@ daeResolverType::memoryToString(daeChar* src, daeChar* dst, daeInt dstSize) { // This URI was never successfully resolved, so write out it's original value s = thisURI->getOriginalURI(); + if ( s == NULL ) s = ""; } else { @@ -471,6 +472,7 @@ daeResolverType::memoryToString(daeChar* src, daeChar* dst, daeInt dstSize) { // we will send back the original URI if we're pointing at ourselves s = thisURI->getOriginalURI(); + if ( s == NULL ) s = ""; } else { @@ -478,17 +480,19 @@ daeResolverType::memoryToString(daeChar* src, daeChar* dst, daeInt dstSize) #if 1 // we will send back the full resolved URI s = thisURI->getURI(); + if ( s == NULL ) s = ""; #else // Makes the URI relative to the document being written, EXPERIMENTAL, not fully tested!!! thisURI->makeRelativeTo(thisURI->getDocument()->getCollection()->getDocumentURI()); s = thisURI->getOriginalURI(); + if ( s == NULL ) s = ""; #endif } } // Copy at most dstSize-1 characters, null terminate and return error if the string was too long daeChar *d; int i; - for(d = dst, i = 1; *s != 0 && ifind(src,index) == DAE_ERR_QUERY_NO_MATCH ) return false; daeEnum val = _values->get( index ); *((daeEnum*)dst) = val; @@ -618,7 +622,7 @@ daeEnumType::memoryToString(daeChar* src, daeChar* dst, daeInt dstSize) daeBool daeBoolType::stringToMemory(daeChar* srcChars, daeChar* dstMemory) { - if (strncmp(srcChars,"true",4)==0) + if (strncmp(srcChars,"true",4)==0 || strncmp(srcChars,"1",1)==0) *((daeBool*)dstMemory) = true; else *((daeBool*)dstMemory) = false; diff --git a/Extras/COLLADA_DOM/src/dae/daeDocument.cpp b/Extras/COLLADA_DOM/src/dae/daeDocument.cpp index 4a58973ae..d478d13bb 100644 --- a/Extras/COLLADA_DOM/src/dae/daeDocument.cpp +++ b/Extras/COLLADA_DOM/src/dae/daeDocument.cpp @@ -13,6 +13,33 @@ #include +void daeDocument::insertElement( daeElementRef element ) { + daeElement *parent = element->getParentElement(); + size_t idx; + while ( parent != NULL ) { + if ( insertedElements.find( parent, idx ) == DAE_OK ) { + //found an ancestor in the list.. this child will already be added to the database + return; + } + parent = parent->getParentElement(); + } + //if no ancestors are scheduled to be added then we can add element. + insertedElements.append( element ); +} + +void daeDocument::removeElement( daeElementRef element ) { + daeElement *parent = element->getParentElement(); + size_t idx; + while ( parent != NULL ) { + if ( removedElements.find( parent, idx ) == DAE_OK ) { + //found an ancestor in the list.. this child will already be added to the database + return; + } + parent = parent->getParentElement(); + } + removedElements.append( element ); +} + void daeDocument::addExternalReference( daeURI &uri ) { if ( uri.getContainer() == NULL || uri.getContainer()->getDocument() != this ) { return; @@ -48,7 +75,7 @@ void daeDocument::removeExternalReference( daeURI &uri ) { } void daeDocument::resolveExternals( daeString docURI ) { - size_t idx; + size_t idx(0); if ( referencedDocuments.find( docURI, idx ) == DAE_OK ) { for ( unsigned int j = 0; j < externalURIs[idx]->getCount(); j++ ) { daeURI *tempURI = externalURIs[idx]->get(j); diff --git a/Extras/COLLADA_DOM/src/dae/daeElement.cpp b/Extras/COLLADA_DOM/src/dae/daeElement.cpp index d478e6a57..2db4c2ddd 100644 --- a/Extras/COLLADA_DOM/src/dae/daeElement.cpp +++ b/Extras/COLLADA_DOM/src/dae/daeElement.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -107,210 +108,48 @@ daeElement::placeElement(daeElement* e) { if (e == NULL || e == this) return false; - if (e->getMeta()->getIsAbstract()) { - return false; - } - daeMetaElementAttributeArray &meas = _meta->getMetaElements(); - if (_meta->getAllowsAny()) { - //remove element from praent - if ( e->_parent ) { - e->_parent->removeChildElement( e ); - } - e->_parent = this; - //add element to contents if one exists - if (_meta->getContents() != NULL) { - daeElementRefArray* contents = - (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); - contents->append(e); - } - //update document pointer - e->setDocument( _document ); - if ( _document ) { - _document->insertElement( e ); - _document->setModified(true); - } - return true; - } - int cnt = (int)meas.getCount(); - int i; - daeString nm = e->getElementName(); - if ( !nm ) { - nm = e->getTypeName(); - } - for(i=0;igetName(), nm ) == 0 || strcmp(meas[i]->_elementType->getName(), nm ) == 0) { - //add element to meta - meas[i]->placeElement(this,e); - //remove element from praent - if ( e->_parent ) { - e->_parent->removeChildElement( e ); - } - e->_parent = this; - //add element to contents if one exists - if (_meta->getContents() != NULL) { - daeElementRefArray* contents = - (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); - contents->append(e); - } - //update document pointer - e->setDocument( _document ); - if ( _document ) { - _document->insertElement( e ); - _document->setModified(true); - } - return true; - } - } - for ( unsigned int c = 0; c < _meta->getPossibleChildrenCount(); c++ ) { - if (strcmp(_meta->getPossibleChildName(c), e->_meta->getName()) == 0 || - strcmp(_meta->getPossibleChildType(c), e->_meta->getName()) == 0 ) { - - daeMetaElementAttribute *cont = _meta->getPossibleChildContainer(c); - int elCnt = cont->getCount(this); - daeMemoryRef mem = cont->get(this, elCnt ); - daeElementRef el; - if ( mem != 0 ) { - el = *(daeElementRef*)mem; - } - if ( el == NULL ) { - cont->placeElement(this, cont->_elementType->create() ); - el = *(daeElementRef*)cont->get(this, elCnt ); - el->_parent = this; - } - if ( el->placeElement( e ) ) { - if (_meta->getContents() != NULL) { - daeElementRefArray* contents = - (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); - contents->append(el); - } - return true; - } - return false; - } - } - return false; + return _meta->place( this, e ); } daeBool daeElement::placeElementAt(daeInt index, daeElement* e) { if (e == NULL || e == this) return false; - if (e->getMeta()->getIsAbstract()) { - return false; - } - - daeMetaElementAttributeArray &meas = _meta->getMetaElements(); - if (_meta->getAllowsAny()) { - //remove element from praent - if ( e->_parent ) { - e->_parent->removeChildElement( e ); - } - e->_parent = this; - //add element to contents if one exists - if (_meta->getContents() != NULL) { - daeElementRefArray* contents = - (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); - contents->insertAt(index, e); - } - //update document pointer - e->setDocument( _document ); - if ( _document ) { - _document->insertElement( e ); - _document->setModified(true); - } - return true; - } - int cnt = (int)meas.getCount(); - int i; - daeString nm = e->getElementName(); - if ( !nm ) { - nm = e->getTypeName(); - } - for(i=0;igetName(), nm ) == 0 || strcmp(meas[i]->_elementType->getName(), nm ) == 0) { - //add element to meta - meas[i]->placeElement(this,e); - //remove element from praent - if ( e->_parent ) { - e->_parent->removeChildElement( e ); - } - e->_parent = this; - //add element to contents if one exists - if (_meta->getContents() != NULL) { - daeElementRefArray* contents = - (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); - contents->insertAt( index, e ); - } - //update document pointer - e->setDocument( _document ); - if ( _document ) { - _document->insertElement( e ); - _document->setModified(true); - } - return true; - } - } - for ( unsigned int c = 0; c < _meta->getPossibleChildrenCount(); c++ ) { - if (strcmp(_meta->getPossibleChildName(c), e->_meta->getName()) == 0 || - strcmp(_meta->getPossibleChildType(c), e->_meta->getName()) == 0 ) { - - daeMetaElementAttribute *cont = _meta->getPossibleChildContainer(c); - int elCnt = cont->getCount(this); - daeMemoryRef mem = cont->get(this, elCnt ); - daeElementRef el; - if ( mem != 0 ) { - el = *(daeElementRef*)mem; - } - if ( el == NULL ) { - cont->placeElement(this, cont->_elementType->create() ); - el = *(daeElementRef*)cont->get(this, elCnt ); - el->_parent = this; - } - if ( el->placeElement( e ) ) { - if (_meta->getContents() != NULL) { - daeElementRefArray* contents = - (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); - contents->insertAt(index, el); - } - return true; - } - return false; - } - } - return false; + return _meta->placeAt( index, this, e ); } daeBool daeElement::placeElementBefore( daeElement *marker, daeElement *element ) { if (marker == NULL || element == NULL || marker->getXMLParentElement() != this ) { return false; } - if ( _meta->getContents() != NULL ) { - size_t idx; - daeElementRefArray* contents = - (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); - if ( contents->find( marker, idx ) != DAE_OK ) { - return false; - } - return placeElementAt( (daeInt)idx, element ); - } - if ( strcmp( marker->getTypeName(), element->getTypeName() ) == 0 ) { - //same type - daeMetaElementAttribute *mea = _meta->getChildMetaElementAttribute( element->getTypeName() ); - daeElementRefArray* era = (daeElementRefArray*)mea->getWritableMemory(this); - size_t idx; - if ( era->find( marker, idx ) != DAE_OK ) { - return false; - } - era->insertAt( idx, element ); - return true; - } - return placeElement( element ); + //if ( _meta->getContents() != NULL ) { + // size_t idx; + // daeElementRefArray* contents = + // (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); + // if ( contents->find( marker, idx ) != DAE_OK ) { + // return false; + // } + // return placeElementAt( (daeInt)idx, element ); + //} + //if ( strcmp( marker->getTypeName(), element->getTypeName() ) == 0 ) { + // //same type + // daeMetaElementAttribute *mea = _meta->getChildMetaElementAttribute( element->getTypeName() ); + // daeElementRefArray* era = (daeElementRefArray*)mea->getWritableMemory(this); + // size_t idx; + // if ( era->find( marker, idx ) != DAE_OK ) { + // return false; + // } + // era->insertAt( idx, element ); + // return true; + //} + //return placeElement( element ); + return _meta->placeBefore( marker, this, element ); } daeBool daeElement::placeElementAfter( daeElement *marker, daeElement *element ) { if (marker == NULL || element == NULL || marker->getXMLParentElement() != this ) { return false; } - if ( _meta->getContents() != NULL ) { + /*if ( _meta->getContents() != NULL ) { size_t idx; daeElementRefArray* contents = (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); @@ -328,8 +167,8 @@ daeBool daeElement::placeElementAfter( daeElement *marker, daeElement *element ) } era->insertAt( idx+1, element ); return true; - } - return placeElement( element ); + }*/ + return _meta->placeAfter( marker, this, element ); } daeInt daeElement::findLastIndexOf( daeString elementName ) { @@ -345,15 +184,6 @@ daeInt daeElement::findLastIndexOf( daeString elementName ) { return i; } } - return -1; - } - daeInt idx = 0; - size_t cnt = _meta->getMetaElements().getCount(); - for ( unsigned int i = 0; i < cnt; ++i ) { - idx += (daeInt)((daeElementRefArray*)(_meta->getMetaElements().get(i)->getWritableMemory(this)))->getCount(); - if ( strcmp( _meta->getMetaElements().get(i)->getName(), elementName ) == 0 ) { - return idx; - } } return -1; } @@ -369,36 +199,9 @@ daeElement::removeChildElement(daeElement* element) // Clear the element's parent pointer, if the element has references outside // 'this' it won't go away, so we want to make sure it's parent is valid - - element->_parent = NULL; - - // Remove the element from our contents array (if we have one) - - if (_meta->getContents() != NULL) - { - daeElementRefArray* contents = (daeElementRefArray*)_meta->getContents()->getWritableMemory(this); - contents->remove(element); - } - - // Remove the element from wherever else it appears in 'this' - - daeMetaElementAttributeArray &meas = _meta->getMetaElements(); - int cnt = (int)meas.getCount(); - int i; - // Look for a meta element with a matching name - for(i=0;igetName(), element->_meta->getName()) == 0) - { - if ( _document ) { - _document->removeElement( element ); - _document->setModified(true); - } - // Remove it, if the element's ref count goes to zero it might be destructed, - // so don't touch "element" again after this point. - meas[i]->removeElement(this,element); - return true; - } + if ( _meta->remove( this, element ) ) { + element->_parent = NULL; + return true; } return false; } @@ -410,12 +213,11 @@ void daeElement::setDocument( daeDocument *c ) { } _document = c; - daeMetaElementAttributeArray &meas = _meta->getMetaElements(); - int cnt = (int)meas.getCount(); - for( int i = 0; i < cnt; i++) { - meas[i]->setDocument( this, c ); + daeElementRefArray ea; + getChildren( ea ); + for ( size_t x = 0; x < ea.getCount(); x++ ) { + ea[x]->setDocument( c ); } - } daeBool @@ -441,6 +243,7 @@ daeElement::setAttribute(daeString attrName, daeString attrValue) if (metaAttrs[i]->getType() != NULL) { metaAttrs[i]->set(this,attrValue); + _validAttributeArray[i] = true; } return true; } @@ -448,6 +251,57 @@ daeElement::setAttribute(daeString attrName, daeString attrValue) return false; } +daeBool daeElement::isAttributeSet( daeString attrName ) { + if (_meta == NULL) + return false; + + daeMetaAttributeRefArray& metaAttrs = _meta->getMetaAttributes(); + int n = (int)metaAttrs.getCount(); + int i; + for(i=0;igetName() != NULL) && + (strcmp(metaAttrs[i]->getName(),attrName)==0)) { + + return _validAttributeArray[i]; + } + } + return false; +} + +daeBool daeElement::hasAttribute( daeString attrName ) { + if (_meta == NULL) + return false; + + daeMetaAttributeRefArray& metaAttrs = _meta->getMetaAttributes(); + int n = (int)metaAttrs.getCount(); + int i; + for(i=0;igetName() != NULL) && + (strcmp(metaAttrs[i]->getName(),attrName)==0)) { + + return true; + } + } + return false; +} + +daeMemoryRef daeElement::getAttributeValue( daeString attrName ) { + if (_meta == NULL) + return false; + + daeMetaAttributeRefArray& metaAttrs = _meta->getMetaAttributes(); + int n = (int)metaAttrs.getCount(); + int i; + for(i=0;igetName() != NULL) && + (strcmp(metaAttrs[i]->getName(),attrName)==0)) { + + return metaAttrs[i]->getWritableMemory(this); + } + } + return NULL; +} + void daeElement::appendResolveElement(daeElement* elem) { @@ -500,11 +354,19 @@ daeElement::setup(daeMetaElement* meta) } daeMetaAttributeRefArray& attrs = meta->getMetaAttributes(); int macnt = (int)attrs.getCount(); - + + _validAttributeArray.setCount( macnt ); + int i; - for(i=0;igetDefault() != NULL) + for(i=0;igetDefault() != NULL) { attrs[i]->set(this, attrs[i]->getDefault()); + _validAttributeArray[i] = true; + } + else { + _validAttributeArray[i] = false; + } + } #if 0 // Setup resolvers to know their containers and thus their file context @@ -564,21 +426,7 @@ daeString daeElement::getID() const } void daeElement::getChildren( daeElementRefArray &array ) { - if (_meta->getContents() != NULL) { - daeMetaElementArrayAttribute *contents = _meta->getContents(); - for ( int i = 0; i < contents->getCount( this ); i++ ) { - array.append( *(daeElementRef*)contents->get( this, i ) ); - } - } - else - { - daeMetaElementAttributeArray &meas = _meta->getMetaElements(); - for(unsigned int i = 0; i < meas.getCount(); i++) { - for ( int c = 0; c < meas[i]->getCount( this ); c++ ) { - array.append( *(daeElementRef*)meas[i]->get( this, c ) ); - } - } - } + _meta->getChildren( this, array ); } daeSmartRef daeElement::clone(daeString idSuffix, daeString nameSuffix) { @@ -596,22 +444,12 @@ daeSmartRef daeElement::clone(daeString idSuffix, daeString nameSuff //memcpy( val->getWritableMemory( ret ), val->getWritableMemory( this ), val->getSize() ); val->copy( ret, this ); } - //use meta system to child elements - if ( _meta->getContents() != NULL ) { - daeMetaElementArrayAttribute *contents = _meta->getContents(); - for ( int i = 0; i < contents->getCount( this ); i++ ) { - ret->placeElement( (*(daeElementRef*)contents->get( this, i ))->clone(idSuffix, nameSuffix) ); - } + daeElementRefArray children; + _meta->getChildren( this, children ); + for ( size_t x = 0; x < children.getCount(); x++ ) { + ret->placeElement( children.get(x)->clone( idSuffix, nameSuffix ) ); } - else { - daeMetaElementAttributeArray &meas = _meta->getMetaElements(); - for(unsigned int i = 0; i < meas.getCount(); i++) { - for ( int c = 0; c < meas[i]->getCount( this ); c++ ) { - ret->placeElement( (*(daeElementRef*)meas[i]->get( this, c ))->clone(idSuffix, nameSuffix) ); - } - } - } - //ret->ref(); //called because the cast to daeElement* releases a reference causing premature deletion + //mangle the id daeMetaAttribute *id = _meta->getIDAttribute(); if ( idSuffix != NULL && id != NULL ) { diff --git a/Extras/COLLADA_DOM/src/dae/daeIDRef.cpp b/Extras/COLLADA_DOM/src/dae/daeIDRef.cpp index a5c9b12af..9c3a4af75 100644 --- a/Extras/COLLADA_DOM/src/dae/daeIDRef.cpp +++ b/Extras/COLLADA_DOM/src/dae/daeIDRef.cpp @@ -13,6 +13,8 @@ #include #include +#include + daeIDRefResolverPtrArray daeIDRefResolver::_KnownResolvers; void @@ -154,9 +156,9 @@ daeIDRefResolver::attemptResolveID(daeIDRef& id) return; #if defined(_DEBUG) && defined(WIN32) - fprintf(stderr, - "daeIDRefResolver::attemptResolveID(%s) - failed\n", - id.getID()); + char msg[128]; + sprintf(msg,"daeIDRefResolver::attemptResolveID(%s) - failed\n",id.getID()); + daeErrorHandler::get()->handleWarning( msg ); #endif } @@ -212,10 +214,9 @@ daeDefaultIDRefResolver::resolveElement(daeIDRef& idref, daeString typeNameHint) if (status||(resolved==NULL)) { idref.setState( daeIDRef::id_failed_id_not_found ); - fprintf(stderr, - "daeDefaultIDRefResolver::resolveElement() - failed to resolve %s\n", - idref.getID()); - fflush(stderr); + char msg[128]; + sprintf(msg,"daeDefaultIDRefResolver::resolveElement() - failed to resolve %s\n",idref.getID()); + daeErrorHandler::get()->handleWarning( msg ); return false; } diff --git a/Extras/COLLADA_DOM/src/dae/daeMetaAny.cpp b/Extras/COLLADA_DOM/src/dae/daeMetaAny.cpp new file mode 100644 index 000000000..017576a8b --- /dev/null +++ b/Extras/COLLADA_DOM/src/dae/daeMetaAny.cpp @@ -0,0 +1,60 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include + +daeMetaAny::daeMetaAny( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal, + daeInt minO, daeInt maxO) : daeMetaCMPolicy( container, parent, ordinal, minO, maxO ) +{} + +daeMetaAny::~daeMetaAny() +{} + +daeElement *daeMetaAny::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) { + //remove element from praent + (void)offset; + (void)before; + (void)after; + daeElement::removeFromParent( child ); + child->setParentElement( parent ); + //************************************************************************* + ordinal = 0; + return child; +} + +daeBool daeMetaAny::removeElement( daeElement *parent, daeElement *child ) { + (void)parent; + (void)child; + return true; +} + +daeMetaElement * daeMetaAny::findChild( daeString elementName ) { + if ( elementName != NULL ) { + const daeMetaElementRefArray &metas = daeMetaElement::getAllMetas(); + for ( size_t x = 0; x < metas.getCount(); x++ ) { + if ( !metas[x]->getIsInnerClass() && strcmp( elementName, metas[x]->getName() ) == 0 ) { + return metas[x]; + } + } + } + return domAny::registerElement(); +} + +void daeMetaAny::getChildren( daeElement *parent, daeElementRefArray &array ) { + (void)parent; + (void)array; + //this is taken care of by the _contents in metaElement +} + diff --git a/Extras/COLLADA_DOM/src/dae/daeMetaAttribute.cpp b/Extras/COLLADA_DOM/src/dae/daeMetaAttribute.cpp index ae280d427..c9af6c6ee 100644 --- a/Extras/COLLADA_DOM/src/dae/daeMetaAttribute.cpp +++ b/Extras/COLLADA_DOM/src/dae/daeMetaAttribute.cpp @@ -13,36 +13,24 @@ #include #include - -daeStringRefArrayArray daeMetaAttribute::_NameBindings; -daeMetaAttributeRefArray daeMetaAttribute::_FactoryTemplates; +#include void daeMetaAttribute::set(daeElement* e, daeString s) { if( _type->getTypeEnum() == daeAtomicType::FloatType || _type->getTypeEnum() == daeAtomicType::DoubleType ) { if ( strcmp(s, "NaN") == 0 ) { - fprintf(stderr, "NaN encountered while setting %s attribute in %s element.\n", (daeString)_name, (daeString)_container->getName() ); - fflush(stderr); + char msg[256]; + sprintf(msg, "NaN encountered while setting %s attribute in %s element.\n", (daeString)_name, (daeString)_container->getName() ); + daeErrorHandler::get()->handleWarning(msg); } else if ( strcmp(s, "INF") == 0 ) { - fprintf(stderr, "INF encountered while setting %s attribute in %s element.\n", (daeString)_name, (daeString)_container->getName() ); - fflush(stderr); + char msg[256]; + sprintf(msg, "INF encountered while setting %s attribute in %s element.\n", (daeString)_name, (daeString)_container->getName() ); + daeErrorHandler::get()->handleWarning( msg ); } } _type->stringToMemory((char*)s, getWritableMemory(e)); - _isValid=true; -} - -void daeMetaElementAttribute::set(daeElement* e, daeString s) -{ - //_type->stringToMemory((char*)s, getWritableMemory(e)); - daeElementRef *ref = (daeElementRef*)(getWritableMemory(e)); - if ((*ref) == NULL) { - (*ref) = _elementType->create(); - } - (*ref)->getMeta()->getValueAttribute()->set((*ref), s); - _isValid=true; } void daeMetaAttribute::copy(daeElement* to, daeElement *from) { @@ -50,7 +38,6 @@ void daeMetaAttribute::copy(daeElement* to, daeElement *from) { _type->memoryToString( getWritableMemory(from), str, 2048 ); _type->stringToMemory( str, getWritableMemory( to ) ); //memcpy( getWritableMemory( to ), getWritableMemory( from ), getSize() ); - _isValid=true; } void @@ -58,12 +45,14 @@ daeMetaArrayAttribute::set(daeElement* e, daeString s) { if( _type->getTypeEnum() == daeAtomicType::FloatType || _type->getTypeEnum() == daeAtomicType::DoubleType ) { if ( strcmp(s, "NaN") == 0 ) { - fprintf(stderr, "NaN encountered while setting %s attribute in %s element.\n", (daeString)_name, (daeString)_container->getName() ); - fflush(stderr); + char msg[256]; + sprintf(msg, "NaN encountered while setting %s attribute in %s element.\n", (daeString)_name, (daeString)_container->getName() ); + daeErrorHandler::get()->handleWarning(msg); } else if ( strcmp(s, "INF") == 0 ) { - fprintf(stderr, "INF encountered while setting %s attribute in %s element.\n", (daeString)_name, (daeString)_container->getName() ); - fflush(stderr); + char msg[256]; + sprintf(msg, "INF encountered while setting %s attribute in %s element.\n", (daeString)_name, (daeString)_container->getName() ); + daeErrorHandler::get()->handleWarning( msg ); } } daeArray* array = (daeArray*)getWritableMemory(e); @@ -71,7 +60,6 @@ daeMetaArrayAttribute::set(daeElement* e, daeString s) daeInt cnt = (daeInt)array->getCount(); array->setRawCount(++cnt); _type->stringToMemory((char*)s, array->getRawData()+(cnt-1)*typeSize); - _isValid=true; } void daeMetaArrayAttribute::copy(daeElement* to, daeElement *from) { @@ -90,208 +78,6 @@ void daeMetaArrayAttribute::copy(daeElement* to, daeElement *from) { } } - -void daeMetaElementAttribute::copy(daeElement* to, daeElement *from) { - daeElement *cpy = (*(daeElementRef*)(getWritableMemory(from)))->clone(); - (*(daeElementRef*)(getWritableMemory(to))) = cpy; -} -void daeMetaElementArrayAttribute::copy(daeElement* to, daeElement *from) { - (void)to; - (void)from; -} - -daeMetaElementArrayAttribute::daeMetaElementArrayAttribute() -{ -} - -void -daeMetaElementAttribute::placeElement(daeElement* parent, daeElement* child) -{ - if (parent == NULL) - return; - - daeElementRef* er = (daeElementRef*)getWritableMemory(parent); - *er = child; -} - -void -daeMetaElementArrayAttribute::placeElement(daeElement* parent, - daeElement* child) -{ - if ((parent == NULL)||(child == NULL)) - return; - - daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(parent); - era->append(child); -} -// !!!GAC added for testing 7/8/05 -// These are the opposite of the placeElement functions above -void -daeMetaElementAttribute::removeElement(daeElement* parent, daeElement* child) -{ - (void)child; // silence unused variable warning - - if (parent == NULL) - return; - - daeElementRef* er = (daeElementRef*)getWritableMemory(parent); - *er = NULL; -} - -void -daeMetaElementArrayAttribute::removeElement(daeElement* parent, - daeElement* child) -{ - if ((parent == NULL)||(child == NULL)) - return; - - daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(parent); - era->remove(child); -} - -void -daeMetaElementAttribute::setDocument( daeElement * parent, daeDocument* c ) -{ - daeElementRef* er = (daeElementRef*)getWritableMemory( parent ); - if ( ((daeElement*)(*er)) != NULL ) { - (*er)->setDocument( c ); - } -} - -void -daeMetaElementArrayAttribute::setDocument( daeElement * parent, daeDocument* c ) -{ - daeElementRefArray* era = (daeElementRefArray*)getWritableMemory( parent ); - for ( unsigned int i = 0; i < era->getCount(); i++ ) { - era->get(i)->setDocument( c ); - } -} - -daeInt -daeMetaElementAttribute::getCount(daeElement* e) -{ - if (e == NULL) - return 0; - return ((*((daeElementRef*)getWritableMemory(e))) != NULL); -} - -daeMemoryRef -daeMetaElementAttribute::get(daeElement *e, daeInt index) -{ - (void)index; - return getWritableMemory(e); -} - -daeInt -daeMetaElementArrayAttribute::getCount(daeElement *e) -{ - if (e == NULL) - return 0; - daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(e); - if (era == NULL) - return 0; - return (daeInt)era->getCount(); -} - -daeMemoryRef -daeMetaElementArrayAttribute::get(daeElement* e, daeInt index) -{ - if (e == NULL) - return NULL; - daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(e); - if (era == NULL || index >= (daeInt)era->getCount() ) - return NULL; - return (daeMemoryRef)&(era->get(index)); -} - -void -daeMetaAttribute::InitializeKnownTypes() -{ - daeInt index; - index = (daeInt)_FactoryTemplates.append(new daeMetaAttribute); - _NameBindings[index].append("int"); - _NameBindings[index].append("float"); - _NameBindings[index].append("string"); - _NameBindings[index].append("enum"); - - index = (daeInt)_FactoryTemplates.append(new daeMetaArrayAttribute); - _NameBindings[index].append("ListOfFloats"); - _NameBindings[index].append("ListOfInts"); - _NameBindings[index].append("ListOfTokens"); - - index = (daeInt)_FactoryTemplates.append(new daeMetaElementAttribute); - _NameBindings[index].append("xs:element"); - - index = (daeInt)_FactoryTemplates.append(new daeMetaElementArrayAttribute); - _NameBindings[index].append("element"); - - //index = (daeInt)_FactoryTemplates.append(new daeMetaEnumAttribute); - //_NameBindings[index].append("__enum"); -} - -daeMetaAttributeRef -daeMetaAttribute::Factory(daeStringRef xmlTypeName) -{ - unsigned int i; - for(i=0;i<_FactoryTemplates.getCount();i++) { - - daeStringRefArray& nameBindings = _NameBindings[i]; - int count = (int)nameBindings.getCount(); - int j; - for(j=0;jclone(); - } - - return NULL; -} - -daeMetaAttributeRef -daeMetaAttribute::clone() -{ - return new daeMetaAttribute; -} - -daeMetaAttributeRef -daeMetaArrayAttribute::clone() -{ - return new daeMetaArrayAttribute; -} -//daeMetaAttributeRef -//daeMetaEnumAttribute::clone() -//{ -// return new daeMetaEnumAttribute; -//} - -daeMetaElementAttribute::daeMetaElementAttribute() -{ - _minOccurs = 1; - _maxOccurs = 1; - _isInChoice = false; - _isInSequence = false; - //_ref = "noref"; - _previousInSequence = NULL; - _elementType = NULL; -} - -daeMetaAttributeRef -daeMetaElementAttribute::clone() -{ - return new daeMetaElementAttribute; -} - -daeMetaAttributeRef -daeMetaElementArrayAttribute::clone() -{ - return new daeMetaElementArrayAttribute; -} - -//daeMetaEnumAttribute::daeMetaEnumAttribute() -//{ -//} - daeMetaAttribute::daeMetaAttribute() { _name = "noname"; @@ -299,7 +85,6 @@ daeMetaAttribute::daeMetaAttribute() _type = NULL; _container = NULL; _default = NULL; - _isValid = false; _isRequired = false; } @@ -321,7 +106,6 @@ daeMetaAttribute::getAlignment() return _type->getAlignment(); } -//!!!ACL 10-18 daeInt daeMetaAttribute::getCount(daeElement* e) { @@ -358,4 +142,4 @@ daeMetaArrayAttribute::get(daeElement* e, daeInt index) return NULL; return era->getRawData()+(index*era->getElementSize()); } -//****************************************************** + diff --git a/Extras/COLLADA_DOM/src/dae/daeMetaCMPolicy.cpp b/Extras/COLLADA_DOM/src/dae/daeMetaCMPolicy.cpp new file mode 100644 index 000000000..04e4e52e2 --- /dev/null +++ b/Extras/COLLADA_DOM/src/dae/daeMetaCMPolicy.cpp @@ -0,0 +1,22 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include + +daeMetaCMPolicy::~daeMetaCMPolicy() +{ + for( size_t i = 0; i < _children.getCount(); i++ ) { + delete _children[i]; + } +} + diff --git a/Extras/COLLADA_DOM/src/dae/daeMetaChoice.cpp b/Extras/COLLADA_DOM/src/dae/daeMetaChoice.cpp new file mode 100644 index 000000000..70e5bba71 --- /dev/null +++ b/Extras/COLLADA_DOM/src/dae/daeMetaChoice.cpp @@ -0,0 +1,95 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include + +daeMetaChoice::daeMetaChoice( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal, + daeInt minO, daeInt maxO) : daeMetaCMPolicy( container, parent, ordinal, minO, maxO ) +{} + +daeMetaChoice::~daeMetaChoice() +{} + +daeElement *daeMetaChoice::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) { + (void)offset; + if ( _maxOccurs == -1 ) { + //Needed to prevent infinate loops. If unbounded check to see if you have the child before just trying to place + daeString nm = child->getElementName(); + if ( nm == NULL ) { + nm = child->getTypeName(); + } + if ( findChild( nm ) == NULL ) { + return NULL; + } + } + + daeElement *retVal = NULL; + for ( daeInt i = 0; ( i < _maxOccurs || _maxOccurs == -1 ); i++ ) { + for ( size_t x = 0; x < _children.getCount(); x++ ) { + if ( _children[x]->placeElement( parent, child, ordinal, i, before, after ) != NULL ) { + retVal = child; + ordinal = ordinal + _ordinalOffset; + break; + } + } + if ( retVal != NULL ) break; + } + /*if ( retVal && _maxOccurs != -1 ) { + //check if the place was valid - only if we aren't unbounded. unbounded is always valid + daeInt cnt = 0; + daeElementRefArray array; + size_t arrayCnt = 0; //saves us from having to clear the array every child + for ( size_t x = 0; x < _children.getCount(); x++ ) { + _children[x]->getChildren( parent, array ); + if ( array.getCount() != arrayCnt ) { + //this part of the content model has children. + cnt++; + if ( cnt > _maxOccurs ) { + //picked too many choices - remove element and return false + removeElement( parent, child ); + return false; + } + arrayCnt = array.getCount(); + } + } + + }*/ + return retVal; +} + +daeBool daeMetaChoice::removeElement( daeElement *parent, daeElement *child ) { + for ( size_t x = 0; x < _children.getCount(); x++ ) { + if ( _children[x]->removeElement( parent, child ) ) { + return true; + } + } + return false; +} + +daeMetaElement * daeMetaChoice::findChild( daeString elementName ) { + daeMetaElement *me = NULL; + for ( size_t x = 0; x < _children.getCount(); x++ ) { + me = _children[x]->findChild( elementName ); + if ( me != NULL ) { + return me; + } + } + return NULL; +} + +void daeMetaChoice::getChildren( daeElement *parent, daeElementRefArray &array ) { + (void)parent; + (void)array; + //this is taken care of by the _contents in metaElement +} + diff --git a/Extras/COLLADA_DOM/src/dae/daeMetaElement.cpp b/Extras/COLLADA_DOM/src/dae/daeMetaElement.cpp index a1bfefe9b..ac5dbbb3b 100644 --- a/Extras/COLLADA_DOM/src/dae/daeMetaElement.cpp +++ b/Extras/COLLADA_DOM/src/dae/daeMetaElement.cpp @@ -13,7 +13,10 @@ #include #include +#include #include +#include +#include daeMetaElementRefArray daeMetaElement::_metas; @@ -30,6 +33,33 @@ daeMetaElement::create() return ret; } +daeElementRef +daeMetaElement::create(daeString s) +{ + daeMetaElement* me = NULL; + if ( strcmp( s, _name ) == 0 ) { + //looking for this meta + me = this; + } + else { + me = _contentModel->findChild(s); + } + if (me != NULL) { + daeElementRef ret = me->create(); + if ( strcmp(s, me->getName() ) != 0 ) { + ret->setElementName(s); + } + return ret; + } + if ( getAllowsAny() ) { + daeElementRef ret = domAny::registerElement()->create(); + ret->setElementName(s); + return ret; + } + return NULL; +} + +/* daeMetaElement* daeMetaElement::findChild(daeString s) { @@ -61,119 +91,39 @@ daeMetaElement::findChild(daeString s) } } return NULL; -} - -daeElementRef -daeMetaElement::create(daeString s) -{ - daeMetaElement* me = findChild(s); - if (me != NULL) { - daeElementRef ret = me->create(); - if ( strcmp(s, me->getName() ) != 0 ) { - ret->setElementName(s); - } - return ret; - } - if ( getAllowsAny() ) { - daeElementRef ret = domAny::registerElement()->create(); - ret->setElementName(s); - return ret; - } - return NULL; -} - -daeMetaElement * -daeMetaElement::getChildMetaElement(daeString s) -{ - int n = (int)_metaElements.getCount(); - int i; - for(i=0;i_elementType->_name,s)==0) - return _metaElements[i]->_elementType; - } - return NULL; -} - -daeMetaElementAttribute * -daeMetaElement::getChildMetaElementAttribute(daeString s) -{ - int n = (int)_metaElements.getCount(); - int i; - for(i=0;i_elementType->_name,s)==0) - return _metaElements[i]; - } - return NULL; -} - -#define defMAEA(class,maename) \ -{ \ -defMetaAttributeElement* maea = new daeMetaAttributeArrayElement; \ -maea-> - -#define defME(class, name) \ - daeMetaElement* parent = active; \ - daeMetaElement* active = new daeMetaElement; \ - active->_name = "##name##"; \ - active->_elementSize = sizeof( class ); \ - if (parent != NULL) \ - parent->appendElement(active, daeOffsetOf( parent, name )); - - -#define defMA(class,matype,maname) \ -{ \ -daeMetaAttribute* ma = new daeMetaAttribute; \ -ma->_name = "##maname##";\ -ma->_type = daeAtomicType::get("##matype##");\ -ma->_offset = daeOffsetOf( class , _##maname );\ -ma->_container = active; \ -active->appendAttribute(ma); \ -} - -daeMetaElement* daeMetaElement::_Schema = NULL; - -void -daeMetaElement::initializeSchemaMeta() -{ -} +}*/ daeMetaElement::daeMetaElement() { _name = "noname"; _createFunc = NULL; - _minOccurs = 1; - _maxOccurs = 1; - _ref = "none"; - _isSequence = false; - _isChoice = false; _needsResolve = false; _elementSize = sizeof(daeElement); _metaValue = NULL; _metaContents = NULL; _metaIntegration = NULL; _metaID = NULL; - _parent = NULL; - _staticPointerAddress = NULL; _isTrackableForQueries = true; _usesStringContents = false; _isTransparent = false; _isAbstract = false; _allowsAny = false; + _innerClass = false; _metas.append(this); + + _contentModel = NULL; } daeMetaElement::~daeMetaElement() { if (_metaContents) delete _metaContents; - if (_staticPointerAddress != NULL) - *_staticPointerAddress = NULL; } void daeMetaElement::addContents(daeInt offset) { - daeMetaElementArrayAttribute* meaa = new daeMetaElementArrayAttribute; + daeMetaElementArrayAttribute* meaa = new daeMetaElementArrayAttribute( this, NULL, 0, 1, -1 ); meaa->setType(daeAtomicType::get("element")); meaa->setName("contents"); meaa->setOffset(offset); @@ -181,9 +131,19 @@ daeMetaElement::addContents(daeInt offset) meaa->setElementType( daeElement::getMeta() ); _metaContents = meaa; } - - void +daeMetaElement::addContentsOrder(daeInt offset) +{ + daeMetaArrayAttribute* meaa = new daeMetaArrayAttribute(); + meaa->setType(daeAtomicType::get("uint")); + meaa->setName("contentsOrder"); + meaa->setOffset(offset); + meaa->setContainer( this); + _metaContentsOrder = meaa; +} + + +/*void daeMetaElement::appendArrayElement(daeMetaElement* element, daeInt offset, daeString name) { daeMetaElementArrayAttribute* meaa = new daeMetaElementArrayAttribute; @@ -198,7 +158,6 @@ daeMetaElement::appendArrayElement(daeMetaElement* element, daeInt offset, daeSt meaa->setContainer(this); meaa->setElementType( element); _metaElements.append(meaa); - element->_parent = this; } void daeMetaElement::appendElement(daeMetaElement* element, daeInt offset, daeString name) @@ -215,8 +174,7 @@ daeMetaElement::appendElement(daeMetaElement* element, daeInt offset, daeString meaa->setContainer( this ); meaa->setElementType( element ); _metaElements.append(meaa); - element->_parent = this; -} +}*/ void daeMetaElement::appendAttribute(daeMetaAttribute* attr) @@ -282,10 +240,225 @@ void daeMetaElement::releaseMetas() _metas.clear(); } -void daeMetaElement::appendPossibleChild( daeString name, daeMetaElementAttribute* cont, daeString type ) { - _otherChildren.append( name ); - _otherChildrenContainer.append( cont ); - if ( type ) _otherChildrenTypes.append( type ); - else _otherChildrenTypes.append( "" ); +daeBool daeMetaElement::place(daeElement *parent, daeElement *child, daeUInt *ordinal ) +{ + if (child->getMeta()->getIsAbstract() || parent->getMeta() != this ) { + return false; + } + daeUInt ord; + daeElement *retVal = _contentModel->placeElement( parent, child, ord ); + if ( retVal != NULL ) { + //update document pointer + child->setDocument( parent->getDocument() ); + if ( parent->getDocument() ) { + parent->getDocument()->insertElement( retVal ); + parent->getDocument()->setModified(true); + } + //add to _contents array + if (_metaContents != NULL) { + daeElementRefArray* contents = + (daeElementRefArray*)_metaContents->getWritableMemory(parent); + daeUIntArray* contentsOrder = + (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent); + daeBool needsAppend = true; + for ( size_t x = 0; x < contentsOrder->getCount(); x++ ) { + if ( contentsOrder->get(x) > ord ) { + contents->insertAt( x, retVal ); + contentsOrder->insertAt( x, ord ); + needsAppend = false; + break; + } + } + if ( needsAppend ) { + contents->append(retVal); + contentsOrder->append( ord ); + } + } + if ( ordinal != NULL ) { + *ordinal = ord; + } + } + return retVal!=NULL; } +daeBool daeMetaElement::placeAt( daeInt index, daeElement *parent, daeElement *child ) +{ + if (child->getMeta()->getIsAbstract() || parent->getMeta() != this || index < 0 ) { + return false; + } + daeUInt ord; + daeElement *retVal = _contentModel->placeElement( parent, child, ord ); + if ( retVal != NULL ) { + //add to _contents array + if (_metaContents != NULL) { + daeElementRefArray* contents = + (daeElementRefArray*)_metaContents->getWritableMemory(parent); + daeUIntArray* contentsOrder = + (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent); + daeBool validLoc; + if ( index > 0 ) { + validLoc = contentsOrder->get(index) >= ord && contentsOrder->get(index) <= ord; + } + else { + validLoc = contentsOrder->get(index) >= ord; + } + if ( validLoc ) { + contents->insertAt( index, retVal ); + contentsOrder->insertAt( index, ord ); + } + else { + _contentModel->removeElement( parent, retVal ); + retVal = NULL; + } + } + } + if ( retVal != NULL ) { + //update document pointer + child->setDocument( parent->getDocument() ); + if ( parent->getDocument() ) { + parent->getDocument()->insertElement( retVal ); + parent->getDocument()->setModified(true); + } + } + return retVal!=NULL; +} + +daeBool daeMetaElement::placeBefore( daeElement *marker, daeElement *parent, daeElement *child, daeUInt *ordinal ) +{ + if (child->getMeta()->getIsAbstract() || parent->getMeta() != this ) { + return false; + } + daeUInt ord; + daeElement *retVal = _contentModel->placeElement( parent, child, ord, 0, marker, NULL ); + if ( retVal != NULL ) { + //add to _contents array + if (_metaContents != NULL) { + daeElementRefArray* contents = + (daeElementRefArray*)_metaContents->getWritableMemory(parent); + daeUIntArray* contentsOrder = + (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent); + size_t index(0); + daeBool validLoc = false; + if ( contents->find( marker, index ) == DAE_OK ) { + if ( index > 0 ) { + daeUInt gt = contentsOrder->get(index-1); + daeUInt lt = contentsOrder->get(index); + validLoc = gt <= ord && lt >= ord; + } + else { + validLoc = contentsOrder->get(index) >= ord; + } + } + if ( validLoc ) { + contents->insertAt( index, retVal ); + contentsOrder->insertAt( index, ord ); + if ( ordinal != NULL ) { + *ordinal = ord; + } + } + else { + _contentModel->removeElement( parent, retVal ); + retVal = NULL; + } + } + } + if ( retVal != NULL ) { + //update document pointer + child->setDocument( parent->getDocument() ); + if ( parent->getDocument() ) { + parent->getDocument()->insertElement( retVal ); + parent->getDocument()->setModified(true); + } + } + return retVal!=NULL; +} + +daeBool daeMetaElement::placeAfter( daeElement *marker, daeElement *parent, daeElement *child, daeUInt *ordinal ) +{ + if (child->getMeta()->getIsAbstract() || parent->getMeta() != this ) { + return false; + } + daeUInt ord; + daeElement *retVal = _contentModel->placeElement( parent, child, ord, 0, marker, NULL ); + if ( retVal != NULL ) { + //add to _contents array + if (_metaContents != NULL) { + daeElementRefArray* contents = + (daeElementRefArray*)_metaContents->getWritableMemory(parent); + daeUIntArray* contentsOrder = + (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent); + size_t index(0); + daeBool validLoc = false; + if ( contents->find( marker, index ) == DAE_OK ) { + if ( index < contentsOrder->getCount()-1 ) { + validLoc = contentsOrder->get(index) <= ord && contentsOrder->get(index+1) >= ord; + } + else { + validLoc = contentsOrder->get(index) <= ord; + } + } + if ( validLoc ) { + contents->insertAt( index+1, retVal ); + contentsOrder->insertAt( index+1, ord ); + if ( ordinal != NULL ) { + *ordinal = ord; + } + } + else { + _contentModel->removeElement( parent, retVal ); + retVal = NULL; + } + } + } + if ( retVal != NULL ) { + //update document pointer + child->setDocument( parent->getDocument() ); + if ( parent->getDocument() ) { + parent->getDocument()->insertElement( retVal ); + parent->getDocument()->setModified(true); + } + } + return retVal!=NULL; +} + +daeBool daeMetaElement::remove(daeElement *parent, daeElement *child) +{ + if ( parent->getMeta() != this ) { + return false; + } + //prevent child from being deleted + daeElementRef el( child ); + if ( _contentModel->removeElement( parent, child ) ) { + if ( _metaContents != NULL) + { + daeElementRefArray* contents = (daeElementRefArray*)_metaContents->getWritableMemory(parent); + daeUIntArray* contentsOrder = (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent); + size_t idx(0); + if ( contents->remove(child, &idx) == DAE_OK ) { + contentsOrder->removeIndex( idx ); + } + } + if ( child->getDocument() ) { + child->getDocument()->removeElement( child ); + child->getDocument()->setModified(true); + } + return true; + } + return false; +} + +void daeMetaElement::getChildren( daeElement* parent, daeElementRefArray &array ) +{ + if ( parent->getMeta() != this ) { + return; + } + if ( _metaContents != NULL ) { + daeElementRefArray* contents = (daeElementRefArray*)_metaContents->getWritableMemory(parent); + for ( size_t x = 0; x < contents->getCount(); x++ ) { + array.append( contents->get(x) ); + } + } + else if ( _contentModel != NULL ) { + _contentModel->getChildren( parent, array ); + } +} diff --git a/Extras/COLLADA_DOM/src/dae/daeMetaElementAttribute.cpp b/Extras/COLLADA_DOM/src/dae/daeMetaElementAttribute.cpp new file mode 100644 index 000000000..55e41d675 --- /dev/null +++ b/Extras/COLLADA_DOM/src/dae/daeMetaElementAttribute.cpp @@ -0,0 +1,231 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include + +daeMetaElementAttribute::daeMetaElementAttribute( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal, + daeInt minO, daeInt maxO) : daeMetaCMPolicy( container, parent, ordinal, minO, maxO ) +{ + _elementType = NULL; +} + +daeMetaElementAttribute::~daeMetaElementAttribute() +{} + +daeMetaElementArrayAttribute::daeMetaElementArrayAttribute( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal, + daeInt minO, daeInt maxO) : daeMetaElementAttribute( container, parent, ordinal, minO, maxO ) +{ +} + +daeMetaElementArrayAttribute::~daeMetaElementArrayAttribute() +{} + + +void daeMetaElementAttribute::set(daeElement* e, daeString s) +{ + //_type->stringToMemory((char*)s, getWritableMemory(e)); + daeElementRef *ref = (daeElementRef*)(getWritableMemory(e)); + if ((*ref) == NULL) { + (*ref) = _elementType->create(); + } + (*ref)->getMeta()->getValueAttribute()->set((*ref), s); +} + +void daeMetaElementAttribute::copy(daeElement* to, daeElement *from) { + daeElement *cpy = (*(daeElementRef*)(getWritableMemory(from)))->clone(); + (*(daeElementRef*)(getWritableMemory(to))) = cpy; +} + +void daeMetaElementArrayAttribute::copy(daeElement* to, daeElement *from) { + (void)to; + (void)from; +} + +void +daeMetaElementAttribute::setDocument( daeElement * parent, daeDocument* c ) +{ + daeElementRef* er = (daeElementRef*)getWritableMemory( parent ); + if ( ((daeElement*)(*er)) != NULL ) { + (*er)->setDocument( c ); + } +} + +void +daeMetaElementArrayAttribute::setDocument( daeElement * parent, daeDocument* c ) +{ + daeElementRefArray* era = (daeElementRefArray*)getWritableMemory( parent ); + for ( unsigned int i = 0; i < era->getCount(); i++ ) { + era->get(i)->setDocument( c ); + } +} + +daeInt +daeMetaElementAttribute::getCount(daeElement* e) +{ + if (e == NULL) + return 0; + return ((*((daeElementRef*)getWritableMemory(e))) != NULL); +} + +daeMemoryRef +daeMetaElementAttribute::get(daeElement *e, daeInt index) +{ + (void)index; + return getWritableMemory(e); +} + +daeInt +daeMetaElementArrayAttribute::getCount(daeElement *e) +{ + if (e == NULL) + return 0; + daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(e); + if (era == NULL) + return 0; + return (daeInt)era->getCount(); +} + +daeMemoryRef +daeMetaElementArrayAttribute::get(daeElement* e, daeInt index) +{ + if (e == NULL) + return NULL; + daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(e); + if (era == NULL || index >= (daeInt)era->getCount() ) + return NULL; + return (daeMemoryRef)&(era->get(index)); +} + +daeElement * +daeMetaElementAttribute::placeElement(daeElement* parent, daeElement* child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) +{ + (void)offset; + (void)before; + (void)after; + if ((parent == NULL)||(child == NULL)) + return NULL; + if ( child->getMeta() != _elementType || ( child->getElementName() != NULL && strcmp( child->getElementName(), _name ) != 0 ) ) { + return NULL; + } + if (child->getParentElement() == parent) { + //I Don't know why this gets called when the child already has this as parent. + return child; + } + daeElementRef* er = (daeElementRef*)getWritableMemory(parent); + + daeElement::removeFromParent( child ); + child->setParentElement( parent ); + + *er = child; + ordinal = _ordinalOffset; + + return child; +} + +daeElement * +daeMetaElementArrayAttribute::placeElement(daeElement* parent, daeElement* child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) +{ + if ((parent == NULL)||(child == NULL)) + return NULL; + if ( child->getMeta() != _elementType || ( child->getElementName() != NULL && strcmp( child->getElementName(), _name ) != 0 ) ) { + return NULL; + } + if (child->getParentElement() == parent) { + //I Don't know why this gets called when the child already has this as parent. + return child; + } + daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(parent); + if ( _maxOccurs != -1 && (daeInt)era->getCount()-offset >= _maxOccurs ) { + return NULL; + } + removeElement( child->getParentElement(), child ); + child->setParentElement( parent ); + + if ( before != NULL || after != NULL ) { + if ( before != NULL && before->getMeta() == _elementType ) { + size_t idx(0); + if ( era->find( before, idx ) == DAE_OK ) { + era->insertAt( idx, child ); + } + } + else if ( after != NULL && after->getMeta() == _elementType ) { + size_t idx(0); + if ( era->find( after, idx ) == DAE_OK ) { + era->insertAt( idx+1, child ); + } + } + } + else { + era->append(child); + } + ordinal = _ordinalOffset; + + return child; +} + +// These are the opposite of the placeElement functions above +daeBool +daeMetaElementAttribute::removeElement(daeElement* parent, daeElement* child) +{ + (void)child; // silence unused variable warning + + if ((parent == NULL)||(child == NULL )) + return false; + + daeElementRef* er = (daeElementRef*)getWritableMemory(parent); + if ( *er != child ) { + return false; + } + *er = NULL; + return true; +} + +daeBool +daeMetaElementArrayAttribute::removeElement(daeElement* parent, + daeElement* child) +{ + if ((parent == NULL)||(child == NULL)) + return false ; + + daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(parent); +/* if ( (daeInt)era->getCount() <= _minOccurs ) { + return false; + }*/ + daeInt error = era->remove(child); + if ( error != DAE_OK ) { + return false; + } + return true; +} + +daeMetaElement *daeMetaElementAttribute::findChild( daeString elementName ) { + if ( strcmp( elementName, _name ) == 0 ) { + return _elementType; + } + return NULL; +} + +void daeMetaElementAttribute::getChildren( daeElement *parent, daeElementRefArray &array ) { + daeElementRef* er = (daeElementRef*)getWritableMemory(parent); + if ( *er != NULL ) { + array.append( *er ); + } +} + +void daeMetaElementArrayAttribute::getChildren( daeElement *parent, daeElementRefArray &array ) { + daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(parent); + for ( size_t x = 0; x < era->getCount(); x++ ) { + array.append( era->get(x) ); + } +} diff --git a/Extras/COLLADA_DOM/src/dae/daeMetaGroup.cpp b/Extras/COLLADA_DOM/src/dae/daeMetaGroup.cpp new file mode 100644 index 000000000..4b38badcb --- /dev/null +++ b/Extras/COLLADA_DOM/src/dae/daeMetaGroup.cpp @@ -0,0 +1,139 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include + +daeMetaGroup::daeMetaGroup( daeMetaElementAttribute *econ, daeMetaElement *container, + daeMetaCMPolicy *parent, daeUInt ordinal, daeInt minO, daeInt maxO) : + daeMetaCMPolicy( container, parent, ordinal, minO, maxO ), _elementContainer( econ ) +{} + +daeMetaGroup::~daeMetaGroup() +{ + if ( _elementContainer != NULL ) { + delete _elementContainer; + } +} + +daeElement *daeMetaGroup::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) { + (void)offset; + daeString nm = child->getElementName(); + if ( nm == NULL ) { + nm = child->getTypeName(); + } + if ( findChild( nm ) == NULL ) { + return false; + } + daeElementRef el; +#if 0 + daeInt elCnt = _elementContainer->getCount(parent); + //check existing groups + //This doesn't work properly. Because the choice can't check if you make two decisions you cannot fail + //here when you are supposed to. Luckily the current schema just has groups with single choices so + //every element needs a new group container. Wasteful but thats how the schema is and its how it works. + for ( daeInt x = 0; x < elCnt; x++ ) { + daeMemoryRef mem = _elementContainer->get(parent, x ); + if ( mem != NULL ) { + el = *(daeElementRef*)mem; + } + if ( el == NULL ) { + continue; + } + if ( before != NULL ) { + if ( _elementContainer->_elementType->placeBefore( before, el, child, &ordinal ) ) { + ordinal = ordinal + _ordinalOffset; + return true; + } + } + else if ( after != NULL ) { + if ( _elementContainer->_elementType->placeAfter( after, el, child, &ordinal ) ) { + ordinal = ordinal + _ordinalOffset; + return true; + } + } + else { + if ( _elementContainer->_elementType->place( el, child, &ordinal ) ) { + ordinal = ordinal + _ordinalOffset; + return true; + } + } + } +#endif + //check if the element trying to be placed is a group element. If so Just add it don't create a new one. + if ( strcmp( nm, _elementContainer->getName() ) == 0 ) { + if ( _elementContainer->placeElement(parent, child, ordinal, offset ) != NULL ) { + return child; + } + } + //if you couldn't place in existing groups make a new one if you can + el = _elementContainer->placeElement(parent, _elementContainer->_elementType->create(), ordinal, offset ); + if ( el != NULL ) { + //el = *(daeElementRef*)_elementContainer->get(parent, elCnt ); + if ( before != NULL ) { + if ( _elementContainer->_elementType->placeBefore( before, el, child, &ordinal ) ) { + ordinal = ordinal + _ordinalOffset; + return el; + } + } + else if ( after != NULL ) { + if ( _elementContainer->_elementType->placeAfter( after, el, child, &ordinal ) ) { + ordinal = ordinal + _ordinalOffset; + return el; + } + } + else { + if ( _elementContainer->_elementType->place( el, child, &ordinal ) ) { + ordinal = ordinal + _ordinalOffset; + return el; + } + } + } + return NULL; +} + +daeBool daeMetaGroup::removeElement( daeElement *parent, daeElement *child ) { + daeElementRef el; + daeInt elCnt = _elementContainer->getCount(parent); + for ( daeInt x = 0; x < elCnt; x++ ) { + daeMemoryRef mem = _elementContainer->get(parent, x ); + if ( mem != NULL ) { + el = *(daeElementRef*)mem; + } + if ( el == NULL ) { + continue; + } + if ( el->removeChildElement( child ) ) { + _elementContainer->removeChildElement( el ); + return true; + } + } + return false; +} + +daeMetaElement * daeMetaGroup::findChild( daeString elementName ) { + if ( strcmp( _elementContainer->getName(), elementName ) == 0 ) { + return _elementContainer->getElementType(); + } + return _elementContainer->_elementType->getCMRoot()->findChild( elementName ); +} + +void daeMetaGroup::getChildren( daeElement *parent, daeElementRefArray &array ) { + size_t cnt = _elementContainer->getCount( parent ); + for ( size_t x = 0; x < cnt; x++ ) { + (*((daeElementRef*)_elementContainer->get(parent, (daeInt)x )))->getChildren(array); + } + //_elementContainer->_elementType->getChildren( parent, array ); +} + diff --git a/Extras/COLLADA_DOM/src/dae/daeMetaSequence.cpp b/Extras/COLLADA_DOM/src/dae/daeMetaSequence.cpp new file mode 100644 index 000000000..70f0f2993 --- /dev/null +++ b/Extras/COLLADA_DOM/src/dae/daeMetaSequence.cpp @@ -0,0 +1,72 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include + +daeMetaSequence::daeMetaSequence( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal, + daeInt minO, daeInt maxO) : + daeMetaCMPolicy( container, parent, ordinal, minO, maxO ) +{} + +daeMetaSequence::~daeMetaSequence() +{} + +daeElement *daeMetaSequence::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) { + (void)offset; + if ( _maxOccurs == -1 ) { + //Needed to prevent infinate loops. If unbounded check to see if you have the child before just trying to place + daeString nm = child->getElementName(); + if ( nm == NULL ) { + nm = child->getTypeName(); + } + if ( findChild( nm ) == NULL ) { + return NULL; + } + } + + for ( daeInt i = 0; ( i < _maxOccurs || _maxOccurs == -1 ); i++ ) { + for ( size_t x = 0; x < _children.getCount(); x++ ) { + if ( _children[x]->placeElement( parent, child, ordinal, i, before, after ) != NULL ) { + ordinal = ordinal + (i * ( _maxOrdinal + 1 )) + _ordinalOffset; + return child; + } + } + } + return NULL; +} + +daeBool daeMetaSequence::removeElement( daeElement *parent, daeElement *child ) { + for ( size_t x = 0; x < _children.getCount(); x++ ) { + if ( _children[x]->removeElement( parent, child ) ) { + return true; + } + } + return false; +} + +daeMetaElement * daeMetaSequence::findChild( daeString elementName ) { + daeMetaElement *me = NULL; + for ( size_t x = 0; x < _children.getCount(); x++ ) { + me = _children[x]->findChild( elementName ); + if ( me != NULL ) { + return me; + } + } + return NULL; +} + +void daeMetaSequence::getChildren( daeElement *parent, daeElementRefArray &array ) { + for ( size_t x = 0; x < _children.getCount(); x++ ) { + _children[x]->getChildren( parent, array ); + } +} diff --git a/Extras/COLLADA_DOM/src/dae/daeSIDResolver.cpp b/Extras/COLLADA_DOM/src/dae/daeSIDResolver.cpp new file mode 100644 index 000000000..e463cf50d --- /dev/null +++ b/Extras/COLLADA_DOM/src/dae/daeSIDResolver.cpp @@ -0,0 +1,364 @@ +/* + * Copyright 2006 Sony Computer Entertainment Inc. + * + * Licensed under the SCEA Shared Source License, Version 1.0 (the "License"); you may not use this + * file except in compliance with the License. You may obtain a copy of the License at: + * http://research.scea.com/scea_shared_source_license.html + * + * Unless required by applicable law or agreed to in writing, software distributed under the License + * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing permissions and limitations under the + * License. + */ + +#include +#include +#include +#include +#include +#include + +daeSIDResolver::daeSIDResolver( daeElement *container, daeString target, daeString profile ) +{ + this->container = container; + if ( target != NULL ) { + this->target = new char[ strlen( target ) +1 ]; + strcpy( (char*)this->target, target ); + state = target_loaded; + } + else { + this->target = NULL; + state = target_empty; + } + if ( profile != NULL ) { + this->profile = new char[ strlen( profile ) +1 ]; + strcpy( (char*)this->profile, profile ); + } + else { + this->profile = NULL; + } +} + +daeSIDResolver::~daeSIDResolver() +{ + if ( target != NULL ) { + delete[] target; + target = NULL; + } + if ( profile != NULL ) { + delete[] profile; + profile = NULL; + } +} + +void daeSIDResolver::setTarget( daeString t ) +{ + if ( target != NULL ) { + delete[] target; + } + if ( t != NULL ) { + target = new char[ strlen( t ) +1 ]; + strcpy( (char*)target, t ); + state = target_loaded; + } + else { + target = NULL; + state = target_empty; + } + element = NULL; + doubleArray = NULL; + doublePtr = NULL; +} + + +void daeSIDResolver::setProfile( daeString p ) +{ + if ( profile != NULL ) { + delete[] target; + } + if ( p != NULL ) { + profile = new char[ strlen( p ) +1 ]; + strcpy( (char*)profile, p ); + } + else { + profile = NULL; + } + element = NULL; + doubleArray = NULL; + doublePtr = NULL; +} + +void daeSIDResolver::setContainer(daeElement* element) +{ + if ( element != container ) { + container = element; + element = NULL; + doubleArray = NULL; + doublePtr = NULL; + if ( target != NULL ) { + state = target_loaded; + } + else { + state = state = target_empty; + } + } +} + +daeElementRef daeSIDResolver::getElement() +{ + if ( state == target_loaded ) { + resolve(); + } + return element; +} + +daeDoubleArray *daeSIDResolver::getDoubleArray() +{ + if ( state == target_loaded ) { + resolve(); + } + return doubleArray; +} + +daeDouble *daeSIDResolver::getDouble() +{ + if ( state == target_loaded ) { + resolve(); + } + return doublePtr; +} + +void daeSIDResolver::resolve() +{ + char * str = (char *)target; + char * pos = strchr( str, '/'); + char * id; + if ( pos == NULL ) { + pos = strchr( str, '.' ); + } + if ( pos == NULL ) { + pos = strchr( str, '(' ); + } + if ( pos != NULL ) { + id = new char[ pos - str + 1 ]; + strncpy( id, str, pos - str ); + id[ pos - str ] = 0; + str = pos; + } + else { + id = new char[ strlen( str ) + 1 ]; + strcpy( id, str ); + str = str + strlen( str ); + } + if ( strcmp( id, "." ) == 0 ) { + element = container; + state = sid_success_element; + } + else { + daeIDRef idref( id ); + idref.setContainer( container ); + idref.resolveElement(); + if ( idref.getState() != daeIDRef::id_success ) { + state = sid_failed_not_found; + delete[] id; + return; + } + element = idref.getElement(); + state = sid_success_element; + } + + char * next = NULL; + while ( *str != '.' && *str != '(' && *str != 0 ) { + if ( *str == '/' ) { + str++; + } + if ( next != NULL ) { + delete[] next; + next = NULL; + } + pos = strchr( str, '/'); + if ( pos == NULL ) { + pos = strchr( str, '.' ); + } + if ( pos == NULL ) { + pos = strchr( str, '(' ); + } + if ( pos != NULL ) { + next = new char[ pos - str + 1 ]; + strncpy( next, str, pos - str ); + next[ pos - str ] = 0; + str = pos; + } + else { + next = new char[ strlen( str ) + 1 ]; + strcpy( next, str ); + str = str + strlen( str ); + } + //find the child element with SID of next + daeElement *el = findSID( element, next ); + element = el; + if ( element == NULL ) { + //failed + state = sid_failed_not_found; + if ( id != NULL ) { + delete[] id; + } + if ( next != NULL ) { + delete[] next; + next = NULL; + } + return; + } + } + //check for the double array + if ( strcmp( element->getTypeName(), "source" ) == 0 ) { + daeElementRefArray children; + element->getChildren( children ); + size_t cnt = children.getCount(); + + for ( size_t x = 0; x < cnt; x++ ) { + if ( strcmp( children[x]->getTypeName(), "float_array" ) == 0 ) { + doubleArray = (daeDoubleArray*)children[x]->getMeta()->getValueAttribute()->getWritableMemory( children[x] ); + state = sid_success_array; + break; + } + } + } + else + { + daeMetaAttribute *ma = element->getMeta()->getValueAttribute(); + if ( ma != NULL ) { + if ( ma->isArrayAttribute() && ma->getType()->getTypeEnum() == daeAtomicType::DoubleType ) { + doubleArray = (daeDoubleArray*)ma->getWritableMemory( element ); + state = sid_success_array; + } + } + } + + if( state == sid_success_array ) { + //found the double array + if ( *str == '.' ) { + //do the double lookup stuff based on COMMON profile offset + str++; + if ( strcmp( str, "ANGLE" ) == 0 ) { + doublePtr = &(doubleArray->get(3)); + state = sid_success_double; + } + else if ( strlen( str ) == 1 ) { + switch ( *str ) { + case 'X': + case 'R': + case 'U': + case 'S': + doublePtr = &(doubleArray->get(0)); + state = sid_success_double; + break; + case 'Y': + case 'G': + case 'V': + case 'T': + doublePtr = &(doubleArray->get(1)); + state = sid_success_double; + break; + case 'Z': + case 'B': + case 'P': + doublePtr = &(doubleArray->get(2)); + state = sid_success_double; + break; + case 'W': + case 'A': + case 'Q': + doublePtr = &(doubleArray->get(3)); + state = sid_success_double; + break; + }; + } + } + else if ( *str == '(' ) { + //do the double lookup stuff based on the offset given + str++; + pos = strchr( str, '(' ); + daeInt i = atoi( str ); + if ( pos != NULL && doubleArray->getCount() == 16 ) { + //we are doing a matrix lookup + pos++; + daeInt j = atoi( pos ); + doublePtr = &(doubleArray->get( i*4 + j )); + state = sid_success_double; + } + else { + //vector lookup + if ( (daeInt)doubleArray->getCount() > i ) { + doublePtr = &(doubleArray->get(i)); + state = sid_success_double; + } + } + } + } + + if ( id != NULL ) { + delete[] id; + } + if ( next != NULL ) { + delete[] next; + } +} + +daeElement *daeSIDResolver::findSID( daeElement *el, daeString sid ) { + //first check yourself + daeString *s = (daeString*)el->getAttributeValue( "sid" ); + if ( s != NULL && *s != NULL && strcmp( *s, sid ) == 0 ) { + //found it + return el; + } + //and if you are a instance_* then check what you point to + daeString nm = el->getElementName(); + if ( nm == NULL ) { + nm = el->getTypeName(); + } + if ( strncmp( nm, "instance_", 9 ) == 0 ) { + daeURI *uri = (daeURI*)el->getAttributeValue("url"); + if ( uri != NULL && uri->getElement() != NULL ) { + daeElement *e = findSID( uri->getElement(), sid ); + if ( e != NULL ) { + //found it + return e; + } + } + } + + daeElementRefArray children; + el->getChildren( children ); + size_t cnt = children.getCount(); + for ( size_t x = 0; x < cnt; x++ ) { + //examine the children + //char s[56]; + //daeAtomicType::get( "token" )->memoryToString( children[x]->getAttributeValue( "sid" ), s, 56 ); + daeString *s = (daeString*)children[x]->getAttributeValue( "sid" ); + if ( s != NULL && *s != NULL && strcmp( *s, sid ) == 0 ) { + //found it + return children[x]; + } + } + for ( size_t x = 0; x < cnt; x++ ) { + //if not found look for it in each child + if ( profile != NULL && strcmp( children[x]->getTypeName(), "technique_COMMON" ) == 0 ) { + //not looking for common profile + continue; + } + else if ( strcmp( children[x]->getTypeName(), "technique" ) == 0 && children[x]->hasAttribute( "profile" ) ) { + if ( profile == NULL || strcmp( profile, children[x]->getAttributeValue( "profile" ) ) != 0 ) { + //not looking for this technique profile + continue; + } + } + daeElement *e = findSID( children[x], sid ); + if ( e != NULL ) { + //found it + return e; + } + } + return NULL; +} + diff --git a/Extras/COLLADA_DOM/src/dae/daeStringTable.cpp b/Extras/COLLADA_DOM/src/dae/daeStringTable.cpp index 4b7e9bfdc..18ff493d6 100644 --- a/Extras/COLLADA_DOM/src/dae/daeStringTable.cpp +++ b/Extras/COLLADA_DOM/src/dae/daeStringTable.cpp @@ -13,7 +13,7 @@ #include -daeStringTable::daeStringTable(int stringBufferSize):_stringBufferSize(stringBufferSize) +daeStringTable::daeStringTable(int stringBufferSize):_stringBufferSize(stringBufferSize), _empty( "" ) { //allocate initial buffer allocateBuffer(); @@ -29,6 +29,7 @@ daeString daeStringTable::allocateBuffer() daeString daeStringTable::allocString(daeString string) { + if ( string == NULL ) return _empty; size_t stringSize = strlen(string) + 1; size_t sizeLeft = _stringBufferSize - _stringBufferIndex; daeString buf; diff --git a/Extras/COLLADA_DOM/src/dae/daeURI.cpp b/Extras/COLLADA_DOM/src/dae/daeURI.cpp index 847e07916..db3e4807b 100644 --- a/Extras/COLLADA_DOM/src/dae/daeURI.cpp +++ b/Extras/COLLADA_DOM/src/dae/daeURI.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #ifdef _WIN32 #include // for getcwd (windows) @@ -28,7 +29,6 @@ daeString findCharacterReverse(daeString string, daeChar stopChar); daeURIResolverPtrArray daeURIResolver::_KnownResolvers; static daeURI ApplicationURI(1); -daeString empty = ""; void daeURI::setBaseURI(daeURI& uri) @@ -48,14 +48,14 @@ daeURI::initialize() { // Initialize a URI to it's empty state, same as daeURI::reset but also clears out "container" - uriString = empty; - originalURIString = empty; - protocol = empty; - authority = empty; - filepath = empty; - file = empty; - id = empty; - extension = empty; + uriString = NULL; + originalURIString = NULL; + protocol = NULL; + authority = NULL; + filepath = NULL; + file = NULL; + id = NULL; + extension = NULL; state = uri_empty; element = NULL; container = NULL; @@ -187,14 +187,14 @@ daeURI::reset() // Set everything to the empty string - uriString = empty; - originalURIString = empty; - protocol = empty; - authority = empty; - filepath = empty; - file = empty; - id = empty; - extension = empty; + uriString = NULL; + originalURIString = NULL; + protocol = NULL; + authority = NULL; + filepath = NULL; + file = NULL; + id = NULL; + extension = NULL; state = uri_empty; element = NULL; @@ -232,20 +232,20 @@ findCharacter(daeString string, daeChar stopChar) daeString safeCreate(daeString src) { if (src == NULL) - return empty; + return NULL; daeChar* ret = (daeChar*)daeMemorySystem::malloc("uri",strlen(src)+1); if (ret == NULL) - return empty; + return NULL; strcpy(ret,src); return ret; } void safeDelete(daeString src) { - if(src != empty) + if(src != NULL) { daeMemorySystem::free("uri",(void*)src); - src = empty; + src = NULL; } } @@ -286,7 +286,7 @@ daeURI::internalSetURI(daeString _URIString) // Store the originalURI so you can fix it post Reset daeString oURI = originalURIString; - originalURIString = empty; + originalURIString = NULL; // Reset everything reset(); @@ -297,7 +297,7 @@ daeURI::internalSetURI(daeString _URIString) uriString = safeCreate(_URIString); tmp = (daeChar*)daeMemorySystem::malloc("tmp",strlen(_URIString)+1); - if ((uriString == empty)||(tmp == NULL)) + if ((uriString == NULL)||(tmp == NULL)) return; strcpy(tmp,uriString); @@ -403,7 +403,7 @@ daeURI::internalSetURI(daeString _URIString) isAbsolute = true; } else { - protocol = empty; + protocol = NULL; isAbsolute = false; } @@ -430,7 +430,7 @@ daeURI::internalSetURI(daeString _URIString) int dirLen = (int)strlen(filepath); // append a '/' - if ((filepath != empty) && (dirLen > 0) && + if ((filepath != NULL) && (dirLen > 0) && (filepath[dirLen-1] != '/')) { daeMemorySystem::free("uri",(void*)filepath); filepath = (daeString)daeMemorySystem::malloc("uri", dirLen+2); @@ -566,10 +566,19 @@ daeURI::validate(daeURI* baseURI) } else { - newPath = (daeChar*)daeMemorySystem::malloc("uri", strlen(baseURI->filepath) + strlen(filepath) + 1); + size_t l = 0; + if ( filepath != NULL ) { + l = strlen(filepath); + } + newPath = (daeChar*)daeMemorySystem::malloc("uri", strlen(baseURI->filepath) + l + 1); *newPath = 0; strcat(newPath,baseURI->filepath); - strcat(newPath,filepath); + if ( filepath != NULL ) { + strcat(newPath,filepath); + } + else { + strcat(newPath,""); + } } //T.path = remove_dot_segments(T.path); normalizeURIPath(newPath); @@ -589,18 +598,27 @@ daeURI::validate(daeURI* baseURI) // T.fragment = R.fragment; // Now for the purpose of maintaining the class members, we reassemble all this into a string version of the URI + size_t len = 0; + if ( protocol != NULL ) { + len += strlen(protocol); + } + if ( authority != NULL ) { + len += strlen(authority); + } + if ( filepath != NULL ) { + len += strlen(filepath); + } + if ( file != NULL ) { + len += strlen(file); + } + if ( queryString != NULL ) { + len += strlen(queryString); + } + if ( id != NULL ) { + len += strlen(id); + } daeChar* newURI = (daeChar*) - daeMemorySystem::malloc( - "uri", - strlen(protocol) + // really scheme - 1 + // space for ":" - strlen(authority) + // really authority - 2 + // space for "//" - strlen(filepath) + // path without the filename - strlen(file) + // filename part of the path - strlen(queryString) + // "#" - strlen(id) + // really fragment - 1); // terminating zero + daeMemorySystem::malloc("uri", len + 4 ); *newURI = 0; if(protocol != NULL && *protocol != 0) @@ -852,19 +870,22 @@ daeURI::resolveURI() daeBool daeURI::getPath(daeChar *dest, daeInt size) { - if(filepath==0 || file==0) + if( file == NULL ) { //printf("****** %s : %s\n", uriString, originalURIString); return false; } - - int lenPath = (int)strlen(filepath); + *dest = 0; + int lenPath = 0; + if ( filepath != NULL ) lenPath = (int)strlen(filepath); int lenFile = (int)strlen(file); - int length = lenPath + lenFile; - if (length < size) + int len = lenPath + lenFile; + if (len < size) { - strcpy(dest,filepath); + if ( filepath != NULL ) { + strcpy(dest,filepath); + } strcat(dest,file); return true; } @@ -900,23 +921,25 @@ daeURIResolver::attemptResolveURI(daeURI& uri) return; } #if defined(_DEBUG) && defined(WIN32) - fprintf(stderr, - "daeURIResolver::attemptResolveURI(%s) - failed\n", - uri.getURI()); + char msg[256]; + sprintf(msg,"daeURIResolver::attemptResolveURI(%s) - failed\n", uri.getURI()); + daeErrorHandler::get()->handleWarning( msg ); #endif if (!foundProtocol) { uri.setState(daeURI::uri_failed_unsupported_protocol); #if defined(_DEBUG) && defined(WIN32) - fprintf(stderr,"**protocol '%s' is not supported**\n",uri.getProtocol()); - fflush(stderr); + char msg[128]; + sprintf(msg,"**protocol '%s' is not supported**\n",uri.getProtocol()); + daeErrorHandler::get()->handleWarning( msg ); #endif } else { #if defined(_DEBUG) && defined(WIN32) - fprintf(stderr,"**file(%s/%s) or id(%s) failed to resolve\n", + char msg[256]; + sprintf(msg,"**file(%s/%s) or id(%s) failed to resolve\n", uri.getFilepath(),uri.getFile(),uri.getID()); - fflush(stderr); + daeErrorHandler::get()->handleWarning( msg ); #endif } @@ -1117,10 +1140,23 @@ void daeURI::normalizeURIPath(char *path) // another existing URI. The new URI is stored in the "originalURI" int daeURI::makeRelativeTo(daeURI* relativeToURI) { - // !!!GAC for some reason, relativeToURI is in pending and not success state, why?? - // Can't do this function unless both URIs have already been successfully resolved - if(getState() != uri_success /*|| relativeToURI->getState() != uri_success*/ ) - return(DAE_ERR_INVALID_CALL); // !!!GAC Need to assign a real error code to this + if( getState() == uri_empty || relativeToURI->getState() == uri_empty ) + return(DAE_ERR_INVALID_CALL); + if( getState() == uri_loaded ) + { + if (container != NULL) + validate(container->getDocumentURI()); + else + validate(); + } + if( relativeToURI->getState() == uri_loaded ) + { + if (relativeToURI->getContainer() != NULL) + relativeToURI->validate(relativeToURI->getContainer()->getDocumentURI()); + else + relativeToURI->validate(); + } + // Can only do this function if both URIs have the same scheme and authority @@ -1158,7 +1194,15 @@ int daeURI::makeRelativeTo(daeURI* relativeToURI) // Delete old URI string safeDelete(originalURIString); // Allocate memory for a new "originalURI" and free the old one - char *newRelativeURI = (char*) daeMemorySystem::malloc("uri",strlen(relativeTo_slash)+ strlen(file)+(segment_count*3)+strlen(getID())+2); + char *newRelativeURI; + if ( getID() == NULL ) + { + newRelativeURI = (char*) daeMemorySystem::malloc("uri",strlen(this_slash)+ strlen(file)+(segment_count*3)+1); + } + else + { + newRelativeURI = (char*) daeMemorySystem::malloc("uri",strlen(this_slash)+ strlen(file)+(segment_count*3)+strlen(id)+2); + } char *temp = newRelativeURI; for(int i = 0; i < segment_count; i++) { @@ -1167,7 +1211,7 @@ int daeURI::makeRelativeTo(daeURI* relativeToURI) } strcpy(temp,this_slash); strcat(temp,file); - if(id!=empty && strlen(getID()) != 0) + if(id!=NULL && strlen(getID()) != 0) { strcat(temp,"#"); strcat(temp,getID()); diff --git a/Extras/COLLADA_DOM/src/dae/domAny.cpp b/Extras/COLLADA_DOM/src/dae/domAny.cpp index 281bc6e30..3288767a1 100644 --- a/Extras/COLLADA_DOM/src/dae/domAny.cpp +++ b/Extras/COLLADA_DOM/src/dae/domAny.cpp @@ -13,6 +13,14 @@ #include #include +#include +#include +#include +#include +#include +#include +#include +#include daeElementRef domAny::create(daeInt bytes) @@ -30,9 +38,17 @@ domAny::registerElement() _Meta->setName( "any" ); //_Meta->setStaticPointerAddress(&domAny::_Meta); _Meta->registerConstructor(domAny::create); + daeMetaCMPolicy *cm = NULL; + cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 ); + + cm = new daeMetaAny( _Meta, cm, 0, 0, -1 ); + + cm->setMaxOrdinal( 0 ); + _Meta->setCMRoot( cm ); _Meta->setAllowsAny( true ); _Meta->addContents(daeOffsetOf(domAny,_contents)); + _Meta->addContentsOrder(daeOffsetOf(domAny,_contentsOrder)); //VALUE { @@ -65,15 +81,14 @@ daeBool domAny::setAttribute(daeString attrName, daeString attrValue) { if ((metaAttrs[i]->getName() != NULL) && (strcmp(metaAttrs[i]->getName(),attrName)==0)) { if (metaAttrs[i]->getType() != NULL) { metaAttrs[i]->set(this,attrValue); + _validAttributeArray[i] = true; } return true; } } //else register it and then set it. if ( n >= MAX_ATTRIBUTES ) { - fprintf(stderr, "daeAny::setAttribute() - too many attributes on this domAny. The maximum number of attributes allowed is %d", - MAX_ATTRIBUTES ); - fflush(stderr); + daeErrorHandler::get()->handleWarning( "domAny::setAttribute() - too many attributes on this domAny. The maximum number of attributes allowed is MAX_ATTRIBUTES" ); return false; } daeMetaAttribute *ma = new daeMetaAttribute; @@ -82,6 +97,7 @@ daeBool domAny::setAttribute(daeString attrName, daeString attrValue) { ma->setOffset( (daeInt)daeOffsetOf( domAny , attrs[n] )); ma->setContainer( _meta ); _meta->appendAttribute(ma); + _validAttributeArray.append( true ); if (metaAttrs[i]->getType() != NULL) { metaAttrs[i]->set(this,attrValue); return true; diff --git a/Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp b/Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp index 878b264a3..88fa12959 100644 --- a/Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp +++ b/Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp @@ -23,6 +23,7 @@ #include #include #include +#include daeLIBXMLPlugin::daeLIBXMLPlugin():topMeta(NULL),database(NULL) { @@ -107,7 +108,9 @@ daeInt daeLIBXMLPlugin::read(daeURI& uri, daeString docBuffer) if(!reader) { - printf( "no libxml2 reader\n"); + char msg[512]; + sprintf( msg, "Failed to open %s\n", fileURI.getURI() ); + daeErrorHandler::get()->handleError( msg ); return DAE_ERR_BACKEND_IO; } @@ -121,12 +124,9 @@ daeInt daeLIBXMLPlugin::read(daeURI& uri, daeString docBuffer) if (!domObject) { -#if defined(_DEBUG) && defined(WIN32) - fprintf(stderr,"daeLIBXMLPlugin::read(%s) failed - XML Parse Failed\n", - fileURI.getFile()); - fflush(stdout); -#endif - printf("not able to load\n"); + char msg[512]; + sprintf(msg,"daeLIBXMLPlugin::read(%s) failed - XML Parse Failed\n",fileURI.getFile()); + daeErrorHandler::get()->handleError( msg ); return DAE_ERR_BACKEND_IO; } @@ -198,8 +198,8 @@ daeLIBXMLPlugin::startParse(daeMetaElement* thisMetaElement, xmlTextReaderPtr re daeElementRef element = thisMetaElement->create((const daeString)xmlTextReaderConstName(reader)); if(!element) { - char err[256]; - memset( err, 0, 256 ); + char err[512]; + memset( err, 0, 512 ); const xmlChar * mine =xmlTextReaderConstName(reader); #if LIBXML_VERSION >= 20620 sprintf(err,"The DOM was unable to create an element type %s at line %d\nProbably a schema violation.\n", mine,xmlTextReaderGetParserLineNumber(reader)); @@ -215,6 +215,7 @@ daeLIBXMLPlugin::startParse(daeMetaElement* thisMetaElement, xmlTextReaderPtr re //try and read attributes readAttributes( element, reader ); +#if 1 //Check COLLADA Version if ( strcmp( element->getTypeName(), "COLLADA" ) != 0 ) { //invalid root @@ -227,6 +228,7 @@ daeLIBXMLPlugin::startParse(daeMetaElement* thisMetaElement, xmlTextReaderPtr re daeErrorHandler::get()->handleError("Trying to load an invalid COLLADA version for this DOM build!"); return NULL; } +#endif ret = xmlTextReaderRead(reader); @@ -253,8 +255,8 @@ daeLIBXMLPlugin::startParse(daeMetaElement* thisMetaElement, xmlTextReaderPtr re // The element is a child of this one, so we recurse if(!element->placeElement(nextElement(element->getMeta(), reader))) { - char err[256]; - memset( err, 0, 256 ); + char err[512]; + memset( err, 0, 512 ); #if LIBXML_VERSION >= 20620 sprintf(err,"placeElement failed at line %d\n", xmlTextReaderGetParserLineNumber(reader)); #else @@ -307,8 +309,8 @@ void daeLIBXMLPlugin::readAttributes( daeElement *element, xmlTextReaderPtr read { const xmlChar * attName = xmlTextReaderConstName(reader); const xmlChar * attValue = xmlTextReaderConstValue(reader); - char err[256]; - memset( err, 0, 256 ); + char err[512]; + memset( err, 0, 512 ); #if LIBXML_VERSION >= 20620 sprintf(err,"The DOM was unable to create an attribute %s = %s at line %d\nProbably a schema violation.\n", attName, attValue ,xmlTextReaderGetParserLineNumber(reader)); #else @@ -325,8 +327,8 @@ void daeLIBXMLPlugin::readAttributes( daeElement *element, xmlTextReaderPtr read if ( ma == NULL ) { const xmlChar * attName = xmlTextReaderConstName(reader); const xmlChar * attValue = xmlTextReaderConstValue(reader); - char err[256]; - memset( err, 0, 256 ); + char err[512]; + memset( err, 0, 512 ); #if LIBXML_VERSION >= 20620 sprintf(err,"The DOM was unable to create an attribute %s = %s at line %d\nProbably a schema violation.\n", attName, attValue ,xmlTextReaderGetParserLineNumber(reader)); #else @@ -356,8 +358,8 @@ void daeLIBXMLPlugin::readAttributes( daeElement *element, xmlTextReaderPtr read { const xmlChar * attName = xmlTextReaderConstName(reader); const xmlChar * attValue = xmlTextReaderConstValue(reader); - char err[256]; - memset( err, 0, 256 ); + char err[512]; + memset( err, 0, 512 ); #if LIBXML_VERSION >= 20620 sprintf(err,"The DOM was unable to create an attribute %s = %s at line %d\nProbably a schema violation.\n", attName, attValue ,xmlTextReaderGetParserLineNumber(reader)); #else @@ -375,8 +377,8 @@ void daeLIBXMLPlugin::readAttributes( daeElement *element, xmlTextReaderPtr read void daeLIBXMLPlugin::readValue( daeElement *element, xmlTextReaderPtr reader ) { if ( element->getMeta()->getValueAttribute() == NULL ) { - char err[256]; - memset( err, 0, 256 ); + char err[512]; + memset( err, 0, 512 ); #if LIBXML_VERSION >= 20620 sprintf(err,"The DOM was unable to set a value for element of type %s at line %d\nProbably a schema violation.\n", element->getTypeName() ,xmlTextReaderGetParserLineNumber(reader)); #else @@ -441,17 +443,15 @@ daeLIBXMLPlugin::nextElement(daeMetaElement* thisMetaElement, xmlTextReaderPtr r if(!element) { const xmlChar * mine =xmlTextReaderConstName(reader); - char err[256]; - memset( err, 0, 256 ); + char err[512]; + memset( err, 0, 512 ); #if LIBXML_VERSION >= 20620 sprintf(err,"The DOM was unable to create an element type %s at line %d\nProbably a schema violation.\n", mine,xmlTextReaderGetParserLineNumber(reader)); #else sprintf(err,"The DOM was unable to create an element type %s\nProbably a schema violation.\n", mine); #endif daeErrorHandler::get()->handleWarning( err ); - if ( xmlTextReaderNext(reader) == -1 ) { - int x = 12312412; - } + xmlTextReaderNext(reader); return NULL; } int currentDepth = xmlTextReaderDepth(reader); @@ -481,20 +481,17 @@ daeLIBXMLPlugin::nextElement(daeMetaElement* thisMetaElement, xmlTextReaderPtr r else { // The element is a child of this one, so we recurse - if(!element->placeElement(nextElement(element->getMeta(), reader))) + daeElementRef newEl = nextElement(element->getMeta(), reader); + if( newEl != NULL && !element->placeElement(newEl) ) { - char err[256]; - memset( err, 0, 256 ); -#if LIBXML_VERSION >= 20620 - sprintf(err,"placeElement failed at line %d\n", xmlTextReaderGetParserLineNumber(reader)); -#else - sprintf(err,"placeElement failed\n"); -#endif - daeErrorHandler::get()->handleWarning( err ); - ret = xmlTextReaderRead(reader); - if ( ret != 1 ) { - return element; - } + char err[512]; + memset( err, 0, 512 ); + sprintf(err,"placeElement failed placing element %s in element %s\n", newEl->getTypeName(), element->getTypeName() ); + daeErrorHandler::get()->handleWarning( err ); + ret = xmlTextReaderRead(reader); + if ( ret != 1 ) { + return element; + } } } } @@ -528,7 +525,7 @@ void daeLIBXMLPlugin::postProcessDom(daeDocument *document, daeElement* element, if (!element) return; - element->setDocument(document); + //element->setDocument(document); // If this element has an integration object, add it to a list so we can process them all in a bunch later if (element->getIntObject(daeElement::int_uninitialized)) @@ -540,8 +537,13 @@ void daeLIBXMLPlugin::postProcessDom(daeDocument *document, daeElement* element, } // Recursively call postProcessDom on all of this element's children - - if (element->getMeta()->getContents() != NULL) { + daeElementRefArray children; + element->getChildren( children ); + for ( size_t x = 0; x < children.getCount(); x++ ) { + postProcessDom(document, children.get(x), intItems); + } + + /*if (element->getMeta()->getContents() != NULL) { daeMetaElementArrayAttribute *contents = element->getMeta()->getContents(); for ( int i = 0; i < contents->getCount( element ); i++ ) { //array.append( *(daeElementRef*)contents->get( this, i ) ); @@ -564,8 +566,9 @@ void daeLIBXMLPlugin::postProcessDom(daeDocument *document, daeElement* element, postProcessDom(document,elem, intItems); } } - } + }*/ } + daeInt daeLIBXMLPlugin::write(daeURI *name, daeDocument *document, daeBool replace) { // Make sure database and document are both set @@ -578,7 +581,7 @@ daeInt daeLIBXMLPlugin::write(daeURI *name, daeDocument *document, daeBool repla daeFixedName finalname; if (!name->getPath(finalname,sizeof(finalname))) { - printf( "can't get path in write\n" ); + daeErrorHandler::get()->handleError( "can't get path in write\n" ); return DAE_ERR_BACKEND_IO; } @@ -598,7 +601,9 @@ daeInt daeLIBXMLPlugin::write(daeURI *name, daeDocument *document, daeBool repla // Open the file we will write to writer = xmlNewTextWriterFilename(name->getURI(), 0); if ( !writer ) { - printf( "no libxml2 writer\n" ); + char msg[512]; + sprintf(msg,"daeLIBXMLPlugin::write(%s) failed\n",name->getURI()); + daeErrorHandler::get()->handleError( msg ); return DAE_ERR_BACKEND_IO; } xmlChar indentString[10] = " "; @@ -636,14 +641,20 @@ void daeLIBXMLPlugin::writeElement( daeElement* element ) int acnt = (int)attrs.getCount(); for(int i=0;igetValueAttribute(); if (valueAttr!=NULL) writeAttribute(valueAttr, element); - if (_meta->getContents() != NULL) { + daeElementRefArray children; + element->getChildren( children ); + for ( size_t x = 0; x < children.getCount(); x++ ) { + writeElement( children.get(x) ); + } + + /*if (_meta->getContents() != NULL) { daeElementRefArray* era = (daeElementRefArray*)_meta->getContents()->getWritableMemory(element); int elemCnt = (int)era->getCount(); for(int i = 0; i < elemCnt; i++) { @@ -665,7 +676,7 @@ void daeLIBXMLPlugin::writeElement( daeElement* element ) } } } - } + }*/ if (!_meta->getIsTransparent() ) { xmlTextWriterEndElement(writer); } @@ -673,7 +684,7 @@ void daeLIBXMLPlugin::writeElement( daeElement* element ) #define TYPE_BUFFER_SIZE 4096 -void daeLIBXMLPlugin::writeAttribute( daeMetaAttribute* attr, daeElement* element ) +void daeLIBXMLPlugin::writeAttribute( daeMetaAttribute* attr, daeElement* element, daeInt attrNum ) { static daeChar atomicTypeBuf[TYPE_BUFFER_SIZE]; @@ -704,10 +715,11 @@ void daeLIBXMLPlugin::writeAttribute( daeMetaAttribute* attr, daeElement* elemen // DISABLE THIS CODE IF YOU WANT DEFAULT VALUES TO ALWAYS EXPORT if(typeSize >= TYPE_BUFFER_SIZE) { - fprintf(stderr, + char msg[512]; + sprintf(msg, "daeMetaAttribute::print() - buffer too small for default value of %s in %s\n", (daeString)attr->getName(),(daeString)attr->getContainer()->getName()); - fflush(stderr); + daeErrorHandler::get()->handleError( msg ); return; } attr->getType()->stringToMemory((daeChar*)attr->getDefault(),atomicTypeBuf); @@ -717,12 +729,12 @@ void daeLIBXMLPlugin::writeAttribute( daeMetaAttribute* attr, daeElement* elemen } else { - #if 1 + #if 0 // The attribute does not have a default, suppress it if its value is all zeros (binary) // DISABLE THIS CODE IF YOU WANT OPTIONAL ATTRIBUTES THAT HAVE A VALUE OF ZERO TO EXPORT // Disabling this code may cause some unused attributes to be exported if _isValid is not // enabled and properly used. - int i; + int i; for(i=0; igetType()->getTypeEnum() != daeAtomicType::EnumType ) return; #endif + if ( attrNum != -1 && !element->isAttributeSet( attr->getName() ) ) { + return; + } } } // Convert the attribute to a string if (attr->getType()->memoryToString(elemMem, atomicTypeBuf, TYPE_BUFFER_SIZE)== false) { - fprintf(stderr, + char msg[512]; + sprintf(msg, "daeMetaAttribute::print() - buffer too small for %s in %s\n", (daeString)attr->getName(),(daeString)attr->getContainer()->getName()); - fflush(stderr); + daeErrorHandler::get()->handleError( msg ); } // Suppress attributes that convert to an empty string. @@ -782,10 +798,11 @@ void daeLIBXMLPlugin::writeAttribute( daeMetaAttribute* attr, daeElement* elemen char* elemMem = attr->get(element, i); if (attr->getType()->memoryToString(elemMem, atomicTypeBuf, TYPE_BUFFER_SIZE)== false) { - fprintf(stderr, + char msg[512]; + sprintf(msg, "daeMetaArrayAttribute::print() - buffer too small for %s in %s\n", (daeString)attr->getName(),(daeString)attr->getContainer()->getName()); - fflush(stderr); + daeErrorHandler::get()->handleError( msg ); } xmlTextWriterWriteFormatString( writer, "%s ", (xmlChar*)atomicTypeBuf ); } diff --git a/Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLResolver.cpp b/Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLResolver.cpp index bcdefdfd4..6c0dc30ea 100644 --- a/Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLResolver.cpp +++ b/Extras/COLLADA_DOM/src/modules/LIBXMLPlugin/daeLIBXMLResolver.cpp @@ -15,6 +15,7 @@ #include #include #include +#include daeLIBXMLResolver::daeLIBXMLResolver(daeDatabase* database,daeIOPlugin* plugin) { @@ -100,10 +101,11 @@ daeLIBXMLResolver::resolveElement(daeURI& uri, daeString typeNameHint) daeDocument *tempDocument; if ( tempElement == NULL || (tempDocument = tempElement->getDocument()) == NULL ) { uri.setState(daeURI::uri_failed_missing_container); - fprintf(stderr, + char msg[256]; + sprintf(msg, "daeLIBXMLResolver::resolveElement() - failed to resolve %s\n", uri.getURI()); - fflush(stderr); + daeErrorHandler::get()->handleError( msg ); return false; } //assert(tempDocument); @@ -119,10 +121,11 @@ daeLIBXMLResolver::resolveElement(daeURI& uri, daeString typeNameHint) if (status ||(resolved==NULL)) { uri.setState(daeURI::uri_failed_id_not_found); - fprintf(stderr, + char msg[256]; + sprintf(msg, "daeLIBXMLResolver::resolveElement() - failed to resolve %s\n", uri.getURI()); - fflush(stderr); + daeErrorHandler::get()->handleError( msg ); return false; } diff --git a/Extras/COLLADA_DOM/src/modules/STLDatabase/daeSTLDatabase.cpp b/Extras/COLLADA_DOM/src/modules/STLDatabase/daeSTLDatabase.cpp index 7f9a231c1..b4e310d35 100644 --- a/Extras/COLLADA_DOM/src/modules/STLDatabase/daeSTLDatabase.cpp +++ b/Extras/COLLADA_DOM/src/modules/STLDatabase/daeSTLDatabase.cpp @@ -14,7 +14,7 @@ #include #include -daeSTLDatabase::daeSTLDatabase():validated(true) +daeSTLDatabase::daeSTLDatabase() {} daeSTLDatabase::~daeSTLDatabase() @@ -238,7 +238,6 @@ daeInt daeSTLDatabase::insertElement(daeDocument* document,daeElement* element) return DAE_OK; DAE_STL_DATABASE_CELL tmp; - validated = false; tmp.document = document; tmp.name = element->getID(); if (tmp.name == NULL) @@ -248,7 +247,11 @@ daeInt daeSTLDatabase::insertElement(daeDocument* document,daeElement* element) std::vector::iterator it = std::upper_bound(elements.begin(), elements.end(), tmp, daeSTLDatabaseLess()); elements.insert(it, tmp); - //elements.push_back(tmp); + + //insert into IDMap if element has an ID. IDMap is used to speed up URI resolution + if ( element->getID() != NULL ) { + elementsIDMap.insert( std::make_pair( std::string( element->getID() ), tmp ) ); + } return DAE_OK; } @@ -272,13 +275,24 @@ daeInt daeSTLDatabase::removeElement(daeDocument* document,daeElement* element) std::vector::iterator iter = elements.begin(); while ( iter != elements.end() ) { if ( (*iter).element == element ) { - iter = elements.erase(iter); + elements.erase(iter); + break; } - else { + iter++; + } + + if ( element->getID() != NULL ) { + std::pair< std::multimap::iterator, std::multimap::iterator> range; + range = elementsIDMap.equal_range( std::string( element->getID() ) ); + std::multimap::iterator iter = range.first; + while( iter != range.second ) { + if ( (*iter).second.element == element ) { + elementsIDMap.erase( iter ); + break; + } iter++; } - } - validated = false; + } return DAE_OK; } @@ -296,6 +310,7 @@ daeInt daeSTLDatabase::removeChildren( daeDocument *c, daeElement *element ) daeInt daeSTLDatabase::clear() { elements.clear(); + elementsIDMap.clear(); int i; for (i=0;i<(int)documents.size();i++) delete documents[i]; @@ -315,6 +330,48 @@ daeUInt daeSTLDatabase::getElementCount(daeString name,daeString type,daeString return (daeUInt)elements.size(); } + if ( name ) + { + // name specified + int count = 0; + if ( file ) + { + // If a document URI was a search key (in file) resolve it to a text URI with no fragment + daeURI tempURI(file,true); + daeDocument *col = getDocument( tempURI.getURI() ); + if ( col == NULL ) { + return 0; + } + // a document was specified + std::pair< std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator, std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator> range; + range = elementsIDMap.equal_range( std::string( name ) ); + std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator i = range.first; + while ( i != range.second ) + { + DAE_STL_DATABASE_CELL e = (*i).second; + if ( col == e.document && !strcmp(name, e.name) ) + { + count++; + } + ++i; + } + return count; + } + else + { + //no file specified + std::pair< std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator, std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator> range; + range = elementsIDMap.equal_range( std::string( name ) ); + std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator i = range.first; + while ( i != range.second ) + { + ++i; + count++; + } + return count; + } + } + std::pair< std::vector::iterator, std::vector::iterator> range; int sz = 0; // The database is sorted by type so if type was one of the keys, find the range of items with that type @@ -336,72 +393,28 @@ daeUInt daeSTLDatabase::getElementCount(daeString name,daeString type,daeString sz = (int)elements.size(); } - if ( name ) + //no name specified + if ( file ) { - // name specified + // If a document URI was a search key (in file) resolve it to a text URI with no fragment + daeURI tempURI(file,true); + daeDocument *col = getDocument( tempURI.getURI() ); + if ( col == NULL ) { + return 0; + } + //a document was specified int count = 0; - if ( file ) - { - // If a document URI was a search key (in file) resolve it to a text URI with no fragment - daeURI tempURI(file,true); - daeDocument *col = getDocument( tempURI.getURI() ); - if ( col == NULL ) { - return 0; - } - // a document was specified - //for ( int i = 0; i < sz; i++ ) - std::vector< DAE_STL_DATABASE_CELL >::iterator i = range.first; - while ( i != range.second ) + std::vector< DAE_STL_DATABASE_CELL >::iterator i = range.first; + while ( i != range.second ) + { + DAE_STL_DATABASE_CELL e = *(i); + if( col == e.document ) { - DAE_STL_DATABASE_CELL e = *(i); - if ( col == e.document && !strcmp(name, e.name) ) - { - count++; - } - i++; + count++; } - return count; - } - else - { - //no file specified - std::vector< DAE_STL_DATABASE_CELL >::iterator i = range.first; - while ( i != range.second ) - { - DAE_STL_DATABASE_CELL e = *(i); - if ( !strcmp( name, e.name ) ) { - count++; - } - i++; - } - return count; - } - } - else - { - //no name specified - if ( file ) - { - // If a document URI was a search key (in file) resolve it to a text URI with no fragment - daeURI tempURI(file,true); - daeDocument *col = getDocument( tempURI.getURI() ); - if ( col == NULL ) { - return 0; - } - //a document was specified - int count = 0; - std::vector< DAE_STL_DATABASE_CELL >::iterator i = range.first; - while ( i != range.second ) - { - DAE_STL_DATABASE_CELL e = *(i); - if( col == e.document ) - { - count++; - } - i++; - } - return count; + ++i; } + return count; } //if you get to this point only a type was specified return sz; @@ -424,7 +437,60 @@ daeInt daeSTLDatabase::getElement(daeElement** pElement,daeInt index,daeString n *pElement = elements[index].element; return DAE_OK; } - + + if ( name ) + { + //name specified + int count = 0; + if ( file ) + { + // If a document URI was a search key (in file) resolve it to a text URI with no fragment + daeURI tempURI(file,true); + daeDocument *col = getDocument( tempURI.getURI() ); + if ( col == NULL ) { + return DAE_ERR_QUERY_NO_MATCH; + } + //a document was specified + std::pair< std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator, std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator> range; + range = elementsIDMap.equal_range( std::string( name ) ); + std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator i = range.first; + while ( i != range.second ) + { + DAE_STL_DATABASE_CELL e = (*i).second; + if ( col == e.document && !strcmp(name, e.name) ) + { + if ( count == index ) + { + *pElement = e.element; + return DAE_OK; + } + count++; + } + ++i; + } + return DAE_ERR_QUERY_NO_MATCH; + } + else + { + //no document specified + std::pair< std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator, std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator> range; + range = elementsIDMap.equal_range( std::string( name ) ); + std::multimap< std::string, DAE_STL_DATABASE_CELL >::iterator i = range.first; + while ( i != range.second ) + { + DAE_STL_DATABASE_CELL e = (*i).second; + if ( count == index ) + { + *pElement = e.element; + return DAE_OK; + } + count++; + ++i; + } + return DAE_ERR_QUERY_NO_MATCH; + } + } + std::pair< std::vector::iterator, std::vector::iterator> range; int sz = 0; if ( type ) @@ -449,89 +515,36 @@ daeInt daeSTLDatabase::getElement(daeElement** pElement,daeInt index,daeString n sz = (int)elements.size(); } - if ( name ) + + //no name specified + if ( file ) { - //name specified + // If a document URI was a search key (in file) resolve it to a text URI with no fragment + daeURI tempURI(file,true); + daeDocument *col = getDocument( tempURI.getURI() ); + if ( col == NULL ) { + return DAE_ERR_QUERY_NO_MATCH; + } + //a document was specified int count = 0; - if ( file ) - { - // If a document URI was a search key (in file) resolve it to a text URI with no fragment - daeURI tempURI(file,true); - daeDocument *col = getDocument( tempURI.getURI() ); - if ( col == NULL ) { - return DAE_ERR_QUERY_NO_MATCH; - } - //a document was specified - //for ( int i = 0; i < sz; i++ ) - std::vector< DAE_STL_DATABASE_CELL >::iterator i = range.first; - while ( i != range.second ) + std::vector< DAE_STL_DATABASE_CELL >::iterator i = range.first; + while ( i != range.second ) + { + DAE_STL_DATABASE_CELL e = *(i); + if( col == e.document ) { - DAE_STL_DATABASE_CELL e = *i; - if ( col == e.document && !strcmp(name, e.name) ) + if( count == index ) { - if ( count == index ) - { - *pElement = e.element; - return DAE_OK; - } - count++; + *pElement = e.element; + return DAE_OK; } - i++; + count++; } - return DAE_ERR_QUERY_NO_MATCH; - } - else - { - //no document specified - std::vector< DAE_STL_DATABASE_CELL >::iterator i = range.first; - while ( i != range.second ) - { - DAE_STL_DATABASE_CELL e = *(i); - if ( !strcmp( name, e.name ) ) - { - if ( count == index ) - { - *pElement = e.element; - return DAE_OK; - } - count++; - } - i++; - } - return DAE_ERR_QUERY_NO_MATCH; - } - } - else - { - //no name specified - if ( file ) - { - // If a document URI was a search key (in file) resolve it to a text URI with no fragment - daeURI tempURI(file,true); - daeDocument *col = getDocument( tempURI.getURI() ); - if ( col == NULL ) { - return DAE_ERR_QUERY_NO_MATCH; - } - //a document was specified - int count = 0; - std::vector< DAE_STL_DATABASE_CELL >::iterator i = range.first; - while ( i != range.second ) - { - DAE_STL_DATABASE_CELL e = *(i); - if( col == e.document ) - { - if( count == index ) - { - *pElement = e.element; - return DAE_OK; - } - count++; - } - i++; - } - return DAE_ERR_QUERY_NO_MATCH; + ++i; } + return DAE_ERR_QUERY_NO_MATCH; } + //if you get to this point only a type was specified *pElement = (*(range.first+index)).element; return DAE_OK; @@ -552,23 +565,18 @@ void daeSTLDatabase::validate() daeDocument *tmp = documents[i]; //removeDocument( tmp ); //insertDocument( tmp ); - const daeElementRefArray &iea = tmp->getInsertedArray(); - for ( unsigned int x = 0; x < iea.getCount(); x++ ) { - insertElement( tmp, iea[x] ); - } const daeElementRefArray &rea = tmp->getRemovedArray(); for ( unsigned int x = 0; x < rea.getCount(); x++ ) { removeElement( tmp, rea[x] ); } + + const daeElementRefArray &iea = tmp->getInsertedArray(); + for ( unsigned int x = 0; x < iea.getCount(); x++ ) { + insertElement( tmp, iea[x] ); + } + tmp->setModified(false); - validated = false; } } - //if (!validated) - //{ - // //sort the array by type then by name - // std::sort(elements.begin(),elements.end(),daeSTLDatabaseLess()); - // validated = true; - //} }