• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 __domGlsl_setparam_simple_h__
10 #define __domGlsl_setparam_simple_h__
11 
12 #include <dae/daeDocument.h>
13 #include <dom/domTypes.h>
14 #include <dom/domElements.h>
15 
16 #include <dom/domGlsl_param_type.h>
17 #include <dom/domFx_annotate_common.h>
18 class DAE;
19 
20 class domGlsl_setparam_simple_complexType
21 {
22 protected:  // Attribute
23 	domGlsl_identifier attrRef;
24 
25 protected:  // Elements
26 	domFx_annotate_common_Array elemAnnotate_array;
27 	domGlsl_param_typeRef elemGlsl_param_type;
28 
29 public:	//Accessors and Mutators
30 	/**
31 	 * Gets the ref attribute.
32 	 * @return Returns a domGlsl_identifier of the ref attribute.
33 	 */
getRef()34 	domGlsl_identifier getRef() const { return attrRef; }
35 	/**
36 	 * Sets the ref attribute.
37 	 * @param atRef The new value for the ref attribute.
38 	 */
setRef(domGlsl_identifier atRef)39 	void setRef( domGlsl_identifier atRef ) { attrRef = atRef; }
40 
41 	/**
42 	 * Gets the annotate element array.
43 	 * @return Returns a reference to the array of annotate elements.
44 	 */
getAnnotate_array()45 	domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
46 	/**
47 	 * Gets the annotate element array.
48 	 * @return Returns a constant reference to the array of annotate elements.
49 	 */
getAnnotate_array()50 	const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
51 	/**
52 	 * Gets the glsl_param_type element.
53 	 * @return a daeSmartRef to the glsl_param_type element.
54 	 */
getGlsl_param_type()55 	const domGlsl_param_typeRef getGlsl_param_type() const { return elemGlsl_param_type; }
56 protected:
57 	/**
58 	 * Constructor
59 	 */
domGlsl_setparam_simple_complexType(DAE & dae,daeElement * elt)60 	domGlsl_setparam_simple_complexType(DAE& dae, daeElement* elt) : attrRef(), elemAnnotate_array(), elemGlsl_param_type() {}
61 	/**
62 	 * Destructor
63 	 */
~domGlsl_setparam_simple_complexType()64 	virtual ~domGlsl_setparam_simple_complexType() {}
65 	/**
66 	 * Overloaded assignment operator
67 	 */
68 	virtual domGlsl_setparam_simple_complexType &operator=( const domGlsl_setparam_simple_complexType &cpy ) { (void)cpy; return *this; }
69 };
70 
71 /**
72  * An element of type domGlsl_setparam_simple_complexType.
73  */
74 class domGlsl_setparam_simple : public daeElement, public domGlsl_setparam_simple_complexType
75 {
76 public:
getElementType()77 	virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_SETPARAM_SIMPLE; }
ID()78 	static daeInt ID() { return 111; }
typeID()79 	virtual daeInt typeID() const { return ID(); }
80 
81 public:	//Accessors and Mutators
82 	/**
83 	 * Gets the ref attribute.
84 	 * @return Returns a domGlsl_identifier of the ref attribute.
85 	 */
getRef()86 	domGlsl_identifier getRef() const { return attrRef; }
87 	/**
88 	 * Sets the ref attribute.
89 	 * @param atRef The new value for the ref attribute.
90 	 */
setRef(domGlsl_identifier atRef)91 	void setRef( domGlsl_identifier atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
92 
93 protected:
94 	/**
95 	 * Constructor
96 	 */
domGlsl_setparam_simple(DAE & dae)97 	domGlsl_setparam_simple(DAE& dae) : daeElement(dae), domGlsl_setparam_simple_complexType(dae, this) {}
98 	/**
99 	 * Destructor
100 	 */
~domGlsl_setparam_simple()101 	virtual ~domGlsl_setparam_simple() {}
102 	/**
103 	 * Overloaded assignment operator
104 	 */
105 	virtual domGlsl_setparam_simple &operator=( const domGlsl_setparam_simple &cpy ) { (void)cpy; return *this; }
106 
107 public: // STATIC METHODS
108 	/**
109 	 * Creates an instance of this class and returns a daeElementRef referencing it.
110 	 * @return a daeElementRef referencing an instance of this object.
111 	 */
112 	static DLLSPEC daeElementRef create(DAE& dae);
113 	/**
114 	 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
115 	 * If a daeMetaElement already exists it will return that instead of creating a new one.
116 	 * @return A daeMetaElement describing this COLLADA element.
117 	 */
118 	static DLLSPEC daeMetaElement* registerElement(DAE& dae);
119 };
120 
121 
122 #endif
123