diff options
Diffstat (limited to '1.4.0/dom/include/1.5/dom/domMorph.h')
-rw-r--r-- | 1.4.0/dom/include/1.5/dom/domMorph.h | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/1.4.0/dom/include/1.5/dom/domMorph.h b/1.4.0/dom/include/1.5/dom/domMorph.h new file mode 100644 index 0000000..a9be436 --- /dev/null +++ b/1.4.0/dom/include/1.5/dom/domMorph.h @@ -0,0 +1,219 @@ +#ifndef __dom150Morph_h__ +#define __dom150Morph_h__ + +#include <dae/daeDocument.h> +#include <1.5/dom/domTypes.h> +#include <1.5/dom/domElements.h> + +#include <1.5/dom/domSource.h> +#include <1.5/dom/domInput_local.h> +#include <1.5/dom/domExtra.h> + +class DAE; +namespace ColladaDOM150 { + +/** + * The morph element describes the data required to blend between sets of + * static meshes. Each possible mesh that can be blended (a morph target) + * must be specified. + */ +class domMorph : public daeElement +{ +public: + virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MORPH; } + static daeInt ID() { return 343; } + virtual daeInt typeID() const { return ID(); } +public: + class domTargets; + + typedef daeSmartRef<domTargets> domTargetsRef; + typedef daeTArray<domTargetsRef> domTargets_Array; + +/** + * The targets element declares the morph targets, their weights and any user + * defined attributes associated with them. + */ + class domTargets : public daeElement + { + public: + virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETS; } + static daeInt ID() { return 344; } + virtual daeInt typeID() const { return ID(); } + + protected: // Elements +/** + * The input element must occur at least twice. These inputs are local inputs. + * @see domInput + */ + domInput_local_Array elemInput_array; +/** + * The extra element may appear any number of times. @see domExtra + */ + domExtra_Array elemExtra_array; + + public: //Accessors and Mutators + /** + * Gets the input element array. + * @return Returns a reference to the array of input elements. + */ + domInput_local_Array &getInput_array() { return elemInput_array; } + /** + * Gets the input element array. + * @return Returns a constant reference to the array of input elements. + */ + const domInput_local_Array &getInput_array() const { return elemInput_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 + */ + domTargets(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {} + /** + * Destructor + */ + virtual ~domTargets() {} + /** + * Overloaded assignment operator + */ + virtual domTargets &operator=( const domTargets &cpy ) { (void)cpy; return *this; } + + public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @return a daeElementRef referencing an instance of this object. + */ + static DLLSPEC daeElementRef create(DAE& dae); + /** + * 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 DLLSPEC daeMetaElement* registerElement(DAE& dae); + }; + + +protected: // Attributes +/** + * The method attribute specifies the which blending technique to use. The + * accepted values are NORMALIZED, and RELATIVE. The default value if not + * specified is NORMALIZED. Optional attribute. + */ + domMorph_method attrMethod; +/** + * The source attribute indicates the base mesh. Required attribute. + */ + xsAnyURI attrSource; + +protected: // Elements +/** + * The morph element must contain at least two source elements. @see domSource + */ + domSource_Array elemSource_array; +/** + * The targets element declares the morph targets, their weights and any user + * defined attributes associated with them. @see domTargets + */ + domTargetsRef elemTargets; +/** + * The extra element may appear any number of times. @see domExtra + */ + domExtra_Array elemExtra_array; + +public: //Accessors and Mutators + /** + * Gets the method attribute. + * @return Returns a domMorph_method of the method attribute. + */ + domMorph_method getMethod() const { return attrMethod; } + /** + * Sets the method attribute. + * @param atMethod The new value for the method attribute. + */ + void setMethod( domMorph_method atMethod ) { attrMethod = atMethod; } + + /** + * 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 = atSource; } + /** + * Sets the source attribute. + * @param atSource The new value for the source attribute. + */ + void setSource( xsString atSource ) { attrSource = atSource; } + + /** + * Gets the source element array. + * @return Returns a reference to the array of source elements. + */ + domSource_Array &getSource_array() { return elemSource_array; } + /** + * Gets the source element array. + * @return Returns a constant reference to the array of source elements. + */ + const domSource_Array &getSource_array() const { return elemSource_array; } + /** + * Gets the targets element. + * @return a daeSmartRef to the targets element. + */ + const domTargetsRef getTargets() const { return elemTargets; } + /** + * 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 + */ + domMorph(DAE& dae) : daeElement(dae), attrMethod(), attrSource(dae, *this), elemSource_array(), elemTargets(), elemExtra_array() {} + /** + * Destructor + */ + virtual ~domMorph() {} + /** + * Overloaded assignment operator + */ + virtual domMorph &operator=( const domMorph &cpy ) { (void)cpy; return *this; } + +public: // STATIC METHODS + /** + * Creates an instance of this class and returns a daeElementRef referencing it. + * @return a daeElementRef referencing an instance of this object. + */ + static DLLSPEC daeElementRef create(DAE& dae); + /** + * 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 DLLSPEC daeMetaElement* registerElement(DAE& dae); +}; + + +} // ColladaDOM150 +#endif |