187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/* 287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* Copyright 2006 Sony Computer Entertainment Inc. 387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* 487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* Licensed under the MIT Open Source License, for details please see license.txt or the website 587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* http://www.opensource.org/licenses/mit-license.php 687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* 787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk*/ 887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#ifndef __domCg_newparam_h__ 1087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#define __domCg_newparam_h__ 1187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 1287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae/daeDocument.h> 1387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dom/domTypes.h> 1487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dom/domElements.h> 1587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 1687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dom/domCg_param_type.h> 1787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dom/domFx_annotate_common.h> 1887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dom/domCg_setuser_type.h> 1987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dom/domCg_newarray_type.h> 2087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukclass DAE; 2187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 2287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/** 2387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Create a new, named param object in the CG Runtime, assign it a type, an 2487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * initial value, and additional attributes at declaration time. 2587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 2687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukclass domCg_newparam_complexType 2787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 2887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukpublic: 2987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk class domSemantic; 3087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 3187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk typedef daeSmartRef<domSemantic> domSemanticRef; 3287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk typedef daeTArray<domSemanticRef> domSemantic_Array; 3387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 3487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/** 3587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * The semantic element allows you to specify a semantic for this new param. 3687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 3787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk class domSemantic : public daeElement 3887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 3987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk public: 4087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; } 4187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static daeInt ID() { return 140; } 4287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual daeInt typeID() const { return ID(); } 4387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 4487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk protected: // Value 4587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 4687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * The xsNCName value of the text data of this element. 4787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 4887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk xsNCName _value; 4987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 5087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk public: //Accessors and Mutators 5187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 5287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the value of this element. 5387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return Returns a xsNCName of the value. 5487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 5587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk xsNCName getValue() const { return _value; } 5687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 5787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Sets the _value of this element. 5887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @param val The new value for this element. 5987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 6087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } 6187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 6287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk protected: 6387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 6487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Constructor 6587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 6687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domSemantic(DAE& dae) : daeElement(dae), _value() {} 6787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 6887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Destructor 6987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 7087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual ~domSemantic() {} 7187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 7287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Overloaded assignment operator 7387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 7487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; } 7587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 7687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk public: // STATIC METHODS 7787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 7887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Creates an instance of this class and returns a daeElementRef referencing it. 7987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a daeElementRef referencing an instance of this object. 8087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 8187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static DLLSPEC daeElementRef create(DAE& dae); 8287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 8387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 8487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * If a daeMetaElement already exists it will return that instead of creating a new one. 8587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return A daeMetaElement describing this COLLADA element. 8687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 8787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static DLLSPEC daeMetaElement* registerElement(DAE& dae); 8887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk }; 8987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 9087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk class domModifier; 9187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 9287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk typedef daeSmartRef<domModifier> domModifierRef; 9387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk typedef daeTArray<domModifierRef> domModifier_Array; 9487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 9587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/** 9687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * The modifier element allows you to specify a modifier for this new param. 9787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 9887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk class domModifier : public daeElement 9987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 10087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk public: 10187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; } 10287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static daeInt ID() { return 141; } 10387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual daeInt typeID() const { return ID(); } 10487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 10587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk protected: // Value 10687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 10787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * The domFx_modifier_enum_common value of the text data of this element. 10887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 10987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domFx_modifier_enum_common _value; 11087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 11187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk public: //Accessors and Mutators 11287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 11387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the value of this element. 11487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a domFx_modifier_enum_common of the value. 11587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 11687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domFx_modifier_enum_common getValue() const { return _value; } 11787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 11887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Sets the _value of this element. 11987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @param val The new value for this element. 12087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 12187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk void setValue( domFx_modifier_enum_common val ) { _value = val; } 12287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 12387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk protected: 12487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 12587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Constructor 12687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 12787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domModifier(DAE& dae) : daeElement(dae), _value() {} 12887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 12987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Destructor 13087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 13187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual ~domModifier() {} 13287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 13387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Overloaded assignment operator 13487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 13587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; } 13687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 13787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk public: // STATIC METHODS 13887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 13987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Creates an instance of this class and returns a daeElementRef referencing it. 14087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a daeElementRef referencing an instance of this object. 14187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 14287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static DLLSPEC daeElementRef create(DAE& dae); 14387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 14487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 14587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * If a daeMetaElement already exists it will return that instead of creating a new one. 14687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return A daeMetaElement describing this COLLADA element. 14787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 14887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static DLLSPEC daeMetaElement* registerElement(DAE& dae); 14987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk }; 15087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 15187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 15287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukprotected: // Attribute 15387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domCg_identifier attrSid; 15487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 15587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukprotected: // Elements 15687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/** 15787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * The annotate element allows you to specify an annotation for this new param. 15887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @see domAnnotate 15987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 16087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domFx_annotate_common_Array elemAnnotate_array; 16187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/** 16287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * The semantic element allows you to specify a semantic for this new param. 16387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @see domSemantic 16487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 16587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domSemanticRef elemSemantic; 16687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/** 16787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * The modifier element allows you to specify a modifier for this new param. 16887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @see domModifier 16987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 17087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domModifierRef elemModifier; 17187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domCg_param_typeRef elemCg_param_type; 17287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domCg_setuser_typeRef elemUsertype; 17387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domCg_newarray_typeRef elemArray; 17487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 17587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Used to preserve order in elements that do not specify strict sequencing of sub-elements. 17687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 17787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeElementRefArray _contents; 17887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 17987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Used to preserve order in elements that have a complex content model. 18087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 18187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeUIntArray _contentsOrder; 18287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 18387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 18487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Used to store information needed for some content model objects. 18587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 18687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeTArray< daeCharArray * > _CMData; 18787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 18887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 18987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukpublic: //Accessors and Mutators 19087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 19187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the sid attribute. 19287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return Returns a domCg_identifier of the sid attribute. 19387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 19487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domCg_identifier getSid() const { return attrSid; } 19587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 19687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Sets the sid attribute. 19787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @param atSid The new value for the sid attribute. 19887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 19987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk void setSid( domCg_identifier atSid ) { attrSid = atSid; } 20087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 20187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 20287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the annotate element array. 20387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return Returns a reference to the array of annotate elements. 20487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 20587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; } 20687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 20787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the annotate element array. 20887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return Returns a constant reference to the array of annotate elements. 20987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 21087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; } 21187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 21287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the semantic element. 21387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a daeSmartRef to the semantic element. 21487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 21587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk const domSemanticRef getSemantic() const { return elemSemantic; } 21687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 21787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the modifier element. 21887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a daeSmartRef to the modifier element. 21987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 22087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk const domModifierRef getModifier() const { return elemModifier; } 22187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 22287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the cg_param_type element. 22387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a daeSmartRef to the cg_param_type element. 22487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 22587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk const domCg_param_typeRef getCg_param_type() const { return elemCg_param_type; } 22687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 22787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the usertype element. 22887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a daeSmartRef to the usertype element. 22987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 23087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk const domCg_setuser_typeRef getUsertype() const { return elemUsertype; } 23187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 23287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the array element. 23387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a daeSmartRef to the array element. 23487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 23587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk const domCg_newarray_typeRef getArray() const { return elemArray; } 23687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 23787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the _contents array. 23887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return Returns a reference to the _contents element array. 23987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 24087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeElementRefArray &getContents() { return _contents; } 24187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 24287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the _contents array. 24387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return Returns a constant reference to the _contents element array. 24487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 24587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk const daeElementRefArray &getContents() const { return _contents; } 24687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 24787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukprotected: 24887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 24987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Constructor 25087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 25187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domCg_newparam_complexType(DAE& dae, daeElement* elt) : attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemCg_param_type(), elemUsertype(), elemArray() {} 25287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 25387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Destructor 25487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 25587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual ~domCg_newparam_complexType() { daeElement::deleteCMDataArray(_CMData); } 25687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 25787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Overloaded assignment operator 25887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 25987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual domCg_newparam_complexType &operator=( const domCg_newparam_complexType &cpy ) { (void)cpy; return *this; } 26087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk}; 26187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 26287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/** 26387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * An element of type domCg_newparam_complexType. 26487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 26587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukclass domCg_newparam : public daeElement, public domCg_newparam_complexType 26687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 26787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukpublic: 26887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_NEWPARAM; } 26987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static daeInt ID() { return 142; } 27087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual daeInt typeID() const { return ID(); } 27187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 27287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukpublic: //Accessors and Mutators 27387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 27487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Gets the sid attribute. 27587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return Returns a domCg_identifier of the sid attribute. 27687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 27787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domCg_identifier getSid() const { return attrSid; } 27887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 27987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Sets the sid attribute. 28087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @param atSid The new value for the sid attribute. 28187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 28287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk void setSid( domCg_identifier atSid ) { attrSid = atSid; _validAttributeArray[0] = true; } 28387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 28487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukprotected: 28587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 28687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Constructor 28787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 28887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domCg_newparam(DAE& dae) : daeElement(dae), domCg_newparam_complexType(dae, this) {} 28987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 29087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Destructor 29187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 29287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual ~domCg_newparam() {} 29387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 29487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Overloaded assignment operator 29587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 29687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk virtual domCg_newparam &operator=( const domCg_newparam &cpy ) { (void)cpy; return *this; } 29787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 29887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchoukpublic: // STATIC METHODS 29987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 30087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Creates an instance of this class and returns a daeElementRef referencing it. 30187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return a daeElementRef referencing an instance of this object. 30287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 30387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static DLLSPEC daeElementRef create(DAE& dae); 30487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk /** 30587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 30687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * If a daeMetaElement already exists it will return that instead of creating a new one. 30787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk * @return A daeMetaElement describing this COLLADA element. 30887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk */ 30987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk static DLLSPEC daeMetaElement* registerElement(DAE& dae); 31087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk}; 31187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 31287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 31387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#endif 314