• 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 __domTapered_cylinder_h__
10 #define __domTapered_cylinder_h__
11 
12 #include <dae/daeDocument.h>
13 #include <dom/domTypes.h>
14 #include <dom/domElements.h>
15 
16 #include <dom/domExtra.h>
17 class DAE;
18 
19 /**
20  * A tapered cylinder primitive that is centered on and aligned with the local
21  * Y axis.
22  */
23 class domTapered_cylinder : public daeElement
24 {
25 public:
getElementType()26 	virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TAPERED_CYLINDER; }
ID()27 	static daeInt ID() { return 778; }
typeID()28 	virtual daeInt typeID() const { return ID(); }
29 public:
30 	class domHeight;
31 
32 	typedef daeSmartRef<domHeight> domHeightRef;
33 	typedef daeTArray<domHeightRef> domHeight_Array;
34 
35 /**
36  * A float value that represents the length of the cylinder along the Y axis.
37  */
38 	class domHeight : public daeElement
39 	{
40 	public:
getElementType()41 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEIGHT; }
ID()42 		static daeInt ID() { return 779; }
typeID()43 		virtual daeInt typeID() const { return ID(); }
44 
45 	protected:  // Value
46 		/**
47 		 * The domFloat value of the text data of this element.
48 		 */
49 		domFloat _value;
50 
51 	public:	//Accessors and Mutators
52 		/**
53 		 * Gets the value of this element.
54 		 * @return a domFloat of the value.
55 		 */
getValue()56 		domFloat getValue() const { return _value; }
57 		/**
58 		 * Sets the _value of this element.
59 		 * @param val The new value for this element.
60 		 */
setValue(domFloat val)61 		void setValue( domFloat val ) { _value = val; }
62 
63 	protected:
64 		/**
65 		 * Constructor
66 		 */
domHeight(DAE & dae)67 		domHeight(DAE& dae) : daeElement(dae), _value() {}
68 		/**
69 		 * Destructor
70 		 */
~domHeight()71 		virtual ~domHeight() {}
72 		/**
73 		 * Overloaded assignment operator
74 		 */
75 		virtual domHeight &operator=( const domHeight &cpy ) { (void)cpy; return *this; }
76 
77 	public: // STATIC METHODS
78 		/**
79 		 * Creates an instance of this class and returns a daeElementRef referencing it.
80 		 * @return a daeElementRef referencing an instance of this object.
81 		 */
82 		static DLLSPEC daeElementRef create(DAE& dae);
83 		/**
84 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
85 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
86 		 * @return A daeMetaElement describing this COLLADA element.
87 		 */
88 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
89 	};
90 
91 	class domRadius1;
92 
93 	typedef daeSmartRef<domRadius1> domRadius1Ref;
94 	typedef daeTArray<domRadius1Ref> domRadius1_Array;
95 
96 /**
97  * Two float values that represent the radii of the tapered cylinder at the
98  * positive (height/2)  Y value. Both ends of the tapered cylinder may be
99  * elliptical.
100  */
101 	class domRadius1 : public daeElement
102 	{
103 	public:
getElementType()104 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS1; }
ID()105 		static daeInt ID() { return 780; }
typeID()106 		virtual daeInt typeID() const { return ID(); }
107 
108 	protected:  // Value
109 		/**
110 		 * The domFloat2 value of the text data of this element.
111 		 */
112 		domFloat2 _value;
113 
114 	public:	//Accessors and Mutators
115 		/**
116 		 * Gets the _value array.
117 		 * @return Returns a domFloat2 reference of the _value array.
118 		 */
getValue()119 		domFloat2 &getValue() { return _value; }
120 		/**
121 		 * Gets the _value array.
122 		 * @return Returns a constant domFloat2 reference of the _value array.
123 		 */
getValue()124 		const domFloat2 &getValue() const { return _value; }
125 		/**
126 		 * Sets the _value array.
127 		 * @param val The new value for the _value array.
128 		 */
setValue(const domFloat2 & val)129 		void setValue( const domFloat2 &val ) { _value = val; }
130 
131 	protected:
132 		/**
133 		 * Constructor
134 		 */
domRadius1(DAE & dae)135 		domRadius1(DAE& dae) : daeElement(dae), _value() {}
136 		/**
137 		 * Destructor
138 		 */
~domRadius1()139 		virtual ~domRadius1() {}
140 		/**
141 		 * Overloaded assignment operator
142 		 */
143 		virtual domRadius1 &operator=( const domRadius1 &cpy ) { (void)cpy; return *this; }
144 
145 	public: // STATIC METHODS
146 		/**
147 		 * Creates an instance of this class and returns a daeElementRef referencing it.
148 		 * @return a daeElementRef referencing an instance of this object.
149 		 */
150 		static DLLSPEC daeElementRef create(DAE& dae);
151 		/**
152 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
153 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
154 		 * @return A daeMetaElement describing this COLLADA element.
155 		 */
156 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
157 	};
158 
159 	class domRadius2;
160 
161 	typedef daeSmartRef<domRadius2> domRadius2Ref;
162 	typedef daeTArray<domRadius2Ref> domRadius2_Array;
163 
164 /**
165  * Two float values that represent the radii of the tapered cylinder at the
166  * negative (height/2)  Y value.Both ends of the tapered cylinder may be elliptical.
167  */
168 	class domRadius2 : public daeElement
169 	{
170 	public:
getElementType()171 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS2; }
ID()172 		static daeInt ID() { return 781; }
typeID()173 		virtual daeInt typeID() const { return ID(); }
174 
175 	protected:  // Value
176 		/**
177 		 * The domFloat2 value of the text data of this element.
178 		 */
179 		domFloat2 _value;
180 
181 	public:	//Accessors and Mutators
182 		/**
183 		 * Gets the _value array.
184 		 * @return Returns a domFloat2 reference of the _value array.
185 		 */
getValue()186 		domFloat2 &getValue() { return _value; }
187 		/**
188 		 * Gets the _value array.
189 		 * @return Returns a constant domFloat2 reference of the _value array.
190 		 */
getValue()191 		const domFloat2 &getValue() const { return _value; }
192 		/**
193 		 * Sets the _value array.
194 		 * @param val The new value for the _value array.
195 		 */
setValue(const domFloat2 & val)196 		void setValue( const domFloat2 &val ) { _value = val; }
197 
198 	protected:
199 		/**
200 		 * Constructor
201 		 */
domRadius2(DAE & dae)202 		domRadius2(DAE& dae) : daeElement(dae), _value() {}
203 		/**
204 		 * Destructor
205 		 */
~domRadius2()206 		virtual ~domRadius2() {}
207 		/**
208 		 * Overloaded assignment operator
209 		 */
210 		virtual domRadius2 &operator=( const domRadius2 &cpy ) { (void)cpy; return *this; }
211 
212 	public: // STATIC METHODS
213 		/**
214 		 * Creates an instance of this class and returns a daeElementRef referencing it.
215 		 * @return a daeElementRef referencing an instance of this object.
216 		 */
217 		static DLLSPEC daeElementRef create(DAE& dae);
218 		/**
219 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
220 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
221 		 * @return A daeMetaElement describing this COLLADA element.
222 		 */
223 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
224 	};
225 
226 
227 
228 protected:  // Elements
229 /**
230  * A float value that represents the length of the cylinder along the Y axis.
231  * @see domHeight
232  */
233 	domHeightRef elemHeight;
234 /**
235  * Two float values that represent the radii of the tapered cylinder at the
236  * positive (height/2)  Y value. Both ends of the tapered cylinder may be
237  * elliptical. @see domRadius1
238  */
239 	domRadius1Ref elemRadius1;
240 /**
241  * Two float values that represent the radii of the tapered cylinder at the
242  * negative (height/2)  Y value.Both ends of the tapered cylinder may be elliptical.
243  * @see domRadius2
244  */
245 	domRadius2Ref elemRadius2;
246 /**
247  *  The extra element may appear any number of times.  @see domExtra
248  */
249 	domExtra_Array elemExtra_array;
250 
251 public:	//Accessors and Mutators
252 	/**
253 	 * Gets the height element.
254 	 * @return a daeSmartRef to the height element.
255 	 */
getHeight()256 	const domHeightRef getHeight() const { return elemHeight; }
257 	/**
258 	 * Gets the radius1 element.
259 	 * @return a daeSmartRef to the radius1 element.
260 	 */
getRadius1()261 	const domRadius1Ref getRadius1() const { return elemRadius1; }
262 	/**
263 	 * Gets the radius2 element.
264 	 * @return a daeSmartRef to the radius2 element.
265 	 */
getRadius2()266 	const domRadius2Ref getRadius2() const { return elemRadius2; }
267 	/**
268 	 * Gets the extra element array.
269 	 * @return Returns a reference to the array of extra elements.
270 	 */
getExtra_array()271 	domExtra_Array &getExtra_array() { return elemExtra_array; }
272 	/**
273 	 * Gets the extra element array.
274 	 * @return Returns a constant reference to the array of extra elements.
275 	 */
getExtra_array()276 	const domExtra_Array &getExtra_array() const { return elemExtra_array; }
277 protected:
278 	/**
279 	 * Constructor
280 	 */
domTapered_cylinder(DAE & dae)281 	domTapered_cylinder(DAE& dae) : daeElement(dae), elemHeight(), elemRadius1(), elemRadius2(), elemExtra_array() {}
282 	/**
283 	 * Destructor
284 	 */
~domTapered_cylinder()285 	virtual ~domTapered_cylinder() {}
286 	/**
287 	 * Overloaded assignment operator
288 	 */
289 	virtual domTapered_cylinder &operator=( const domTapered_cylinder &cpy ) { (void)cpy; return *this; }
290 
291 public: // STATIC METHODS
292 	/**
293 	 * Creates an instance of this class and returns a daeElementRef referencing it.
294 	 * @return a daeElementRef referencing an instance of this object.
295 	 */
296 	static DLLSPEC daeElementRef create(DAE& dae);
297 	/**
298 	 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
299 	 * If a daeMetaElement already exists it will return that instead of creating a new one.
300 	 * @return A daeMetaElement describing this COLLADA element.
301 	 */
302 	static DLLSPEC daeMetaElement* registerElement(DAE& dae);
303 };
304 
305 
306 #endif
307