Home | History | Annotate | Download | only in dom
      1 /*
      2 * Copyright 2006 Sony Computer Entertainment Inc.
      3 *
      4 * Licensed under the MIT Open Source License, for details please see license.txt or the website
      5 * http://www.opensource.org/licenses/mit-license.php
      6 *
      7 */
      8 
      9 #ifndef __domFx_annotate_common_h__
     10 #define __domFx_annotate_common_h__
     11 
     12 #include <dae/daeDocument.h>
     13 #include <dom/domTypes.h>
     14 #include <dom/domElements.h>
     15 
     16 #include <dom/domFx_annotate_type_common.h>
     17 class DAE;
     18 
     19 class domFx_annotate_common_complexType
     20 {
     21 protected:  // Attribute
     22 	xsNCName attrName;
     23 
     24 protected:  // Element
     25 	domFx_annotate_type_commonRef elemFx_annotate_type_common;
     26 
     27 public:	//Accessors and Mutators
     28 	/**
     29 	 * Gets the name attribute.
     30 	 * @return Returns a xsNCName of the name attribute.
     31 	 */
     32 	xsNCName getName() const { return attrName; }
     33 	/**
     34 	 * Sets the name attribute.
     35 	 * @param atName The new value for the name attribute.
     36 	 */
     37 	void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName;}
     38 
     39 	/**
     40 	 * Gets the fx_annotate_type_common element.
     41 	 * @return a daeSmartRef to the fx_annotate_type_common element.
     42 	 */
     43 	const domFx_annotate_type_commonRef getFx_annotate_type_common() const { return elemFx_annotate_type_common; }
     44 protected:
     45 	/**
     46 	 * Constructor
     47 	 */
     48 	domFx_annotate_common_complexType(DAE& dae, daeElement* elt) : attrName(), elemFx_annotate_type_common() {}
     49 	/**
     50 	 * Destructor
     51 	 */
     52 	virtual ~domFx_annotate_common_complexType() {}
     53 	/**
     54 	 * Overloaded assignment operator
     55 	 */
     56 	virtual domFx_annotate_common_complexType &operator=( const domFx_annotate_common_complexType &cpy ) { (void)cpy; return *this; }
     57 };
     58 
     59 /**
     60  * An element of type domFx_annotate_common_complexType.
     61  */
     62 class domFx_annotate_common : public daeElement, public domFx_annotate_common_complexType
     63 {
     64 public:
     65 	virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_ANNOTATE_COMMON; }
     66 	static daeInt ID() { return 91; }
     67 	virtual daeInt typeID() const { return ID(); }
     68 
     69 public:	//Accessors and Mutators
     70 	/**
     71 	 * Gets the name attribute.
     72 	 * @return Returns a xsNCName of the name attribute.
     73 	 */
     74 	xsNCName getName() const { return attrName; }
     75 	/**
     76 	 * Sets the name attribute.
     77 	 * @param atName The new value for the name attribute.
     78 	 */
     79 	void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
     80 
     81 protected:
     82 	/**
     83 	 * Constructor
     84 	 */
     85 	domFx_annotate_common(DAE& dae) : daeElement(dae), domFx_annotate_common_complexType(dae, this) {}
     86 	/**
     87 	 * Destructor
     88 	 */
     89 	virtual ~domFx_annotate_common() {}
     90 	/**
     91 	 * Overloaded assignment operator
     92 	 */
     93 	virtual domFx_annotate_common &operator=( const domFx_annotate_common &cpy ) { (void)cpy; return *this; }
     94 
     95 public: // STATIC METHODS
     96 	/**
     97 	 * Creates an instance of this class and returns a daeElementRef referencing it.
     98 	 * @return a daeElementRef referencing an instance of this object.
     99 	 */
    100 	static DLLSPEC daeElementRef create(DAE& dae);
    101 	/**
    102 	 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    103 	 * If a daeMetaElement already exists it will return that instead of creating a new one.
    104 	 * @return A daeMetaElement describing this COLLADA element.
    105 	 */
    106 	static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    107 };
    108 
    109 
    110 #endif
    111