diff options
Diffstat (limited to 'libraries/irrlicht-1.8/include/IAttributes.h')
-rw-r--r-- | libraries/irrlicht-1.8/include/IAttributes.h | 1476 |
1 files changed, 738 insertions, 738 deletions
diff --git a/libraries/irrlicht-1.8/include/IAttributes.h b/libraries/irrlicht-1.8/include/IAttributes.h index f137635..bc77180 100644 --- a/libraries/irrlicht-1.8/include/IAttributes.h +++ b/libraries/irrlicht-1.8/include/IAttributes.h | |||
@@ -1,738 +1,738 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | 1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt |
2 | // This file is part of the "Irrlicht Engine". | 2 | // This file is part of the "Irrlicht Engine". |
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | 3 | // For conditions of distribution and use, see copyright notice in irrlicht.h |
4 | 4 | ||
5 | #ifndef __I_ATTRIBUTES_H_INCLUDED__ | 5 | #ifndef __I_ATTRIBUTES_H_INCLUDED__ |
6 | #define __I_ATTRIBUTES_H_INCLUDED__ | 6 | #define __I_ATTRIBUTES_H_INCLUDED__ |
7 | 7 | ||
8 | #include "IReferenceCounted.h" | 8 | #include "IReferenceCounted.h" |
9 | #include "SColor.h" | 9 | #include "SColor.h" |
10 | #include "vector3d.h" | 10 | #include "vector3d.h" |
11 | #include "vector2d.h" | 11 | #include "vector2d.h" |
12 | #include "line2d.h" | 12 | #include "line2d.h" |
13 | #include "line3d.h" | 13 | #include "line3d.h" |
14 | #include "triangle3d.h" | 14 | #include "triangle3d.h" |
15 | #include "position2d.h" | 15 | #include "position2d.h" |
16 | #include "rect.h" | 16 | #include "rect.h" |
17 | #include "dimension2d.h" | 17 | #include "dimension2d.h" |
18 | #include "matrix4.h" | 18 | #include "matrix4.h" |
19 | #include "quaternion.h" | 19 | #include "quaternion.h" |
20 | #include "plane3d.h" | 20 | #include "plane3d.h" |
21 | #include "triangle3d.h" | 21 | #include "triangle3d.h" |
22 | #include "line2d.h" | 22 | #include "line2d.h" |
23 | #include "line3d.h" | 23 | #include "line3d.h" |
24 | #include "irrString.h" | 24 | #include "irrString.h" |
25 | #include "irrArray.h" | 25 | #include "irrArray.h" |
26 | #include "IXMLReader.h" | 26 | #include "IXMLReader.h" |
27 | #include "EAttributes.h" | 27 | #include "EAttributes.h" |
28 | #include "path.h" | 28 | #include "path.h" |
29 | 29 | ||
30 | namespace irr | 30 | namespace irr |
31 | { | 31 | { |
32 | namespace video | 32 | namespace video |
33 | { | 33 | { |
34 | class ITexture; | 34 | class ITexture; |
35 | } // end namespace video | 35 | } // end namespace video |
36 | namespace io | 36 | namespace io |
37 | { | 37 | { |
38 | class IXMLWriter; | 38 | class IXMLWriter; |
39 | 39 | ||
40 | //! Provides a generic interface for attributes and their values and the possiblity to serialize them | 40 | //! Provides a generic interface for attributes and their values and the possiblity to serialize them |
41 | class IAttributes : public virtual IReferenceCounted | 41 | class IAttributes : public virtual IReferenceCounted |
42 | { | 42 | { |
43 | public: | 43 | public: |
44 | 44 | ||
45 | //! Returns amount of attributes in this collection of attributes. | 45 | //! Returns amount of attributes in this collection of attributes. |
46 | virtual u32 getAttributeCount() const = 0; | 46 | virtual u32 getAttributeCount() const = 0; |
47 | 47 | ||
48 | //! Returns attribute name by index. | 48 | //! Returns attribute name by index. |
49 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 49 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
50 | virtual const c8* getAttributeName(s32 index) = 0; | 50 | virtual const c8* getAttributeName(s32 index) = 0; |
51 | 51 | ||
52 | //! Returns the type of an attribute | 52 | //! Returns the type of an attribute |
53 | //! \param attributeName: Name for the attribute | 53 | //! \param attributeName: Name for the attribute |
54 | virtual E_ATTRIBUTE_TYPE getAttributeType(const c8* attributeName) = 0; | 54 | virtual E_ATTRIBUTE_TYPE getAttributeType(const c8* attributeName) = 0; |
55 | 55 | ||
56 | //! Returns attribute type by index. | 56 | //! Returns attribute type by index. |
57 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 57 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
58 | virtual E_ATTRIBUTE_TYPE getAttributeType(s32 index) = 0; | 58 | virtual E_ATTRIBUTE_TYPE getAttributeType(s32 index) = 0; |
59 | 59 | ||
60 | //! Returns the type string of the attribute | 60 | //! Returns the type string of the attribute |
61 | //! \param attributeName: String for the attribute type | 61 | //! \param attributeName: String for the attribute type |
62 | virtual const wchar_t* getAttributeTypeString(const c8* attributeName) = 0; | 62 | virtual const wchar_t* getAttributeTypeString(const c8* attributeName) = 0; |
63 | 63 | ||
64 | //! Returns the type string of the attribute by index. | 64 | //! Returns the type string of the attribute by index. |
65 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 65 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
66 | virtual const wchar_t* getAttributeTypeString(s32 index) = 0; | 66 | virtual const wchar_t* getAttributeTypeString(s32 index) = 0; |
67 | 67 | ||
68 | //! Returns if an attribute with a name exists | 68 | //! Returns if an attribute with a name exists |
69 | virtual bool existsAttribute(const c8* attributeName) = 0; | 69 | virtual bool existsAttribute(const c8* attributeName) = 0; |
70 | 70 | ||
71 | //! Returns attribute index from name, -1 if not found | 71 | //! Returns attribute index from name, -1 if not found |
72 | virtual s32 findAttribute(const c8* attributeName) const =0; | 72 | virtual s32 findAttribute(const c8* attributeName) const =0; |
73 | 73 | ||
74 | //! Removes all attributes | 74 | //! Removes all attributes |
75 | virtual void clear() = 0; | 75 | virtual void clear() = 0; |
76 | 76 | ||
77 | //! Reads attributes from a xml file. | 77 | //! Reads attributes from a xml file. |
78 | //! \param reader The XML reader to read from | 78 | //! \param reader The XML reader to read from |
79 | //! \param readCurrentElementOnly If set to true, reading only works if current element has the name 'attributes' or | 79 | //! \param readCurrentElementOnly If set to true, reading only works if current element has the name 'attributes' or |
80 | //! the name specified using elementName. | 80 | //! the name specified using elementName. |
81 | //! \param elementName The surrounding element name. If it is null, the default one, "attributes" will be taken. | 81 | //! \param elementName The surrounding element name. If it is null, the default one, "attributes" will be taken. |
82 | //! If set to false, the first appearing list of attributes are read. | 82 | //! If set to false, the first appearing list of attributes are read. |
83 | virtual bool read(io::IXMLReader* reader, bool readCurrentElementOnly=false, const wchar_t* elementName=0) = 0; | 83 | virtual bool read(io::IXMLReader* reader, bool readCurrentElementOnly=false, const wchar_t* elementName=0) = 0; |
84 | 84 | ||
85 | //! Write these attributes into a xml file | 85 | //! Write these attributes into a xml file |
86 | //! \param writer: The XML writer to write to | 86 | //! \param writer: The XML writer to write to |
87 | //! \param writeXMLHeader: Writes a header to the XML file, required if at the beginning of the file | 87 | //! \param writeXMLHeader: Writes a header to the XML file, required if at the beginning of the file |
88 | //! \param elementName: The surrounding element name. If it is null, the default one, "attributes" will be taken. | 88 | //! \param elementName: The surrounding element name. If it is null, the default one, "attributes" will be taken. |
89 | virtual bool write(io::IXMLWriter* writer, bool writeXMLHeader=false, const wchar_t* elementName=0) = 0; | 89 | virtual bool write(io::IXMLWriter* writer, bool writeXMLHeader=false, const wchar_t* elementName=0) = 0; |
90 | 90 | ||
91 | 91 | ||
92 | /* | 92 | /* |
93 | 93 | ||
94 | Integer Attribute | 94 | Integer Attribute |
95 | 95 | ||
96 | */ | 96 | */ |
97 | 97 | ||
98 | //! Adds an attribute as integer | 98 | //! Adds an attribute as integer |
99 | virtual void addInt(const c8* attributeName, s32 value) = 0; | 99 | virtual void addInt(const c8* attributeName, s32 value) = 0; |
100 | 100 | ||
101 | //! Sets an attribute as integer value | 101 | //! Sets an attribute as integer value |
102 | virtual void setAttribute(const c8* attributeName, s32 value) = 0; | 102 | virtual void setAttribute(const c8* attributeName, s32 value) = 0; |
103 | 103 | ||
104 | //! Gets an attribute as integer value | 104 | //! Gets an attribute as integer value |
105 | //! \param attributeName: Name of the attribute to get. | 105 | //! \param attributeName: Name of the attribute to get. |
106 | //! \return Returns value of the attribute previously set by setAttribute() | 106 | //! \return Returns value of the attribute previously set by setAttribute() |
107 | virtual s32 getAttributeAsInt(const c8* attributeName) const =0; | 107 | virtual s32 getAttributeAsInt(const c8* attributeName) const =0; |
108 | 108 | ||
109 | //! Gets an attribute as integer value | 109 | //! Gets an attribute as integer value |
110 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 110 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
111 | virtual s32 getAttributeAsInt(s32 index) const =0; | 111 | virtual s32 getAttributeAsInt(s32 index) const =0; |
112 | 112 | ||
113 | //! Sets an attribute as integer value | 113 | //! Sets an attribute as integer value |
114 | virtual void setAttribute(s32 index, s32 value) = 0; | 114 | virtual void setAttribute(s32 index, s32 value) = 0; |
115 | 115 | ||
116 | /* | 116 | /* |
117 | 117 | ||
118 | Float Attribute | 118 | Float Attribute |
119 | 119 | ||
120 | */ | 120 | */ |
121 | 121 | ||
122 | //! Adds an attribute as float | 122 | //! Adds an attribute as float |
123 | virtual void addFloat(const c8* attributeName, f32 value) = 0; | 123 | virtual void addFloat(const c8* attributeName, f32 value) = 0; |
124 | 124 | ||
125 | //! Sets a attribute as float value | 125 | //! Sets a attribute as float value |
126 | virtual void setAttribute(const c8* attributeName, f32 value) = 0; | 126 | virtual void setAttribute(const c8* attributeName, f32 value) = 0; |
127 | 127 | ||
128 | //! Gets an attribute as float value | 128 | //! Gets an attribute as float value |
129 | //! \param attributeName: Name of the attribute to get. | 129 | //! \param attributeName: Name of the attribute to get. |
130 | //! \return Returns value of the attribute previously set by setAttribute() | 130 | //! \return Returns value of the attribute previously set by setAttribute() |
131 | virtual f32 getAttributeAsFloat(const c8* attributeName) = 0; | 131 | virtual f32 getAttributeAsFloat(const c8* attributeName) = 0; |
132 | 132 | ||
133 | //! Gets an attribute as float value | 133 | //! Gets an attribute as float value |
134 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 134 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
135 | virtual f32 getAttributeAsFloat(s32 index) = 0; | 135 | virtual f32 getAttributeAsFloat(s32 index) = 0; |
136 | 136 | ||
137 | //! Sets an attribute as float value | 137 | //! Sets an attribute as float value |
138 | virtual void setAttribute(s32 index, f32 value) = 0; | 138 | virtual void setAttribute(s32 index, f32 value) = 0; |
139 | 139 | ||
140 | /* | 140 | /* |
141 | 141 | ||
142 | String Attribute | 142 | String Attribute |
143 | 143 | ||
144 | */ | 144 | */ |
145 | 145 | ||
146 | //! Adds an attribute as string | 146 | //! Adds an attribute as string |
147 | virtual void addString(const c8* attributeName, const c8* value) = 0; | 147 | virtual void addString(const c8* attributeName, const c8* value) = 0; |
148 | 148 | ||
149 | //! Sets an attribute value as string. | 149 | //! Sets an attribute value as string. |
150 | //! \param attributeName: Name for the attribute | 150 | //! \param attributeName: Name for the attribute |
151 | //! \param value: Value for the attribute. Set this to 0 to delete the attribute | 151 | //! \param value: Value for the attribute. Set this to 0 to delete the attribute |
152 | virtual void setAttribute(const c8* attributeName, const c8* value) = 0; | 152 | virtual void setAttribute(const c8* attributeName, const c8* value) = 0; |
153 | 153 | ||
154 | //! Gets an attribute as string. | 154 | //! Gets an attribute as string. |
155 | //! \param attributeName: Name of the attribute to get. | 155 | //! \param attributeName: Name of the attribute to get. |
156 | //! \return Returns value of the attribute previously set by setAttribute() | 156 | //! \return Returns value of the attribute previously set by setAttribute() |
157 | //! or 0 if attribute is not set. | 157 | //! or 0 if attribute is not set. |
158 | virtual core::stringc getAttributeAsString(const c8* attributeName) = 0; | 158 | virtual core::stringc getAttributeAsString(const c8* attributeName) = 0; |
159 | 159 | ||
160 | //! Gets an attribute as string. | 160 | //! Gets an attribute as string. |
161 | //! \param attributeName Name of the attribute to get. | 161 | //! \param attributeName Name of the attribute to get. |
162 | //! \param target Buffer where the string is copied to. | 162 | //! \param target Buffer where the string is copied to. |
163 | virtual void getAttributeAsString(const c8* attributeName, c8* target) = 0; | 163 | virtual void getAttributeAsString(const c8* attributeName, c8* target) = 0; |
164 | 164 | ||
165 | //! Returns attribute value as string by index. | 165 | //! Returns attribute value as string by index. |
166 | //! \param index Index value, must be between 0 and getAttributeCount()-1. | 166 | //! \param index Index value, must be between 0 and getAttributeCount()-1. |
167 | virtual core::stringc getAttributeAsString(s32 index) = 0; | 167 | virtual core::stringc getAttributeAsString(s32 index) = 0; |
168 | 168 | ||
169 | //! Sets an attribute value as string. | 169 | //! Sets an attribute value as string. |
170 | //! \param index Index value, must be between 0 and getAttributeCount()-1. | 170 | //! \param index Index value, must be between 0 and getAttributeCount()-1. |
171 | //! \param value String to which the attribute is set. | 171 | //! \param value String to which the attribute is set. |
172 | virtual void setAttribute(s32 index, const c8* value) = 0; | 172 | virtual void setAttribute(s32 index, const c8* value) = 0; |
173 | 173 | ||
174 | // wide strings | 174 | // wide strings |
175 | 175 | ||
176 | //! Adds an attribute as string | 176 | //! Adds an attribute as string |
177 | virtual void addString(const c8* attributeName, const wchar_t* value) = 0; | 177 | virtual void addString(const c8* attributeName, const wchar_t* value) = 0; |
178 | 178 | ||
179 | //! Sets an attribute value as string. | 179 | //! Sets an attribute value as string. |
180 | //! \param attributeName: Name for the attribute | 180 | //! \param attributeName: Name for the attribute |
181 | //! \param value: Value for the attribute. Set this to 0 to delete the attribute | 181 | //! \param value: Value for the attribute. Set this to 0 to delete the attribute |
182 | virtual void setAttribute(const c8* attributeName, const wchar_t* value) = 0; | 182 | virtual void setAttribute(const c8* attributeName, const wchar_t* value) = 0; |
183 | 183 | ||
184 | //! Gets an attribute as string. | 184 | //! Gets an attribute as string. |
185 | //! \param attributeName: Name of the attribute to get. | 185 | //! \param attributeName: Name of the attribute to get. |
186 | //! \return Returns value of the attribute previously set by setAttribute() | 186 | //! \return Returns value of the attribute previously set by setAttribute() |
187 | //! or 0 if attribute is not set. | 187 | //! or 0 if attribute is not set. |
188 | virtual core::stringw getAttributeAsStringW(const c8* attributeName) = 0; | 188 | virtual core::stringw getAttributeAsStringW(const c8* attributeName) = 0; |
189 | 189 | ||
190 | //! Gets an attribute as string. | 190 | //! Gets an attribute as string. |
191 | //! \param attributeName: Name of the attribute to get. | 191 | //! \param attributeName: Name of the attribute to get. |
192 | //! \param target: Buffer where the string is copied to. | 192 | //! \param target: Buffer where the string is copied to. |
193 | virtual void getAttributeAsStringW(const c8* attributeName, wchar_t* target) = 0; | 193 | virtual void getAttributeAsStringW(const c8* attributeName, wchar_t* target) = 0; |
194 | 194 | ||
195 | //! Returns attribute value as string by index. | 195 | //! Returns attribute value as string by index. |
196 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 196 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
197 | virtual core::stringw getAttributeAsStringW(s32 index) = 0; | 197 | virtual core::stringw getAttributeAsStringW(s32 index) = 0; |
198 | 198 | ||
199 | //! Sets an attribute value as string. | 199 | //! Sets an attribute value as string. |
200 | //! \param index Index value, must be between 0 and getAttributeCount()-1. | 200 | //! \param index Index value, must be between 0 and getAttributeCount()-1. |
201 | //! \param value String to which the attribute is set. | 201 | //! \param value String to which the attribute is set. |
202 | virtual void setAttribute(s32 index, const wchar_t* value) = 0; | 202 | virtual void setAttribute(s32 index, const wchar_t* value) = 0; |
203 | 203 | ||
204 | /* | 204 | /* |
205 | 205 | ||
206 | Binary Data Attribute | 206 | Binary Data Attribute |
207 | 207 | ||
208 | */ | 208 | */ |
209 | 209 | ||
210 | //! Adds an attribute as binary data | 210 | //! Adds an attribute as binary data |
211 | virtual void addBinary(const c8* attributeName, void* data, s32 dataSizeInBytes) = 0; | 211 | virtual void addBinary(const c8* attributeName, void* data, s32 dataSizeInBytes) = 0; |
212 | 212 | ||
213 | //! Sets an attribute as binary data | 213 | //! Sets an attribute as binary data |
214 | virtual void setAttribute(const c8* attributeName, void* data, s32 dataSizeInBytes ) = 0; | 214 | virtual void setAttribute(const c8* attributeName, void* data, s32 dataSizeInBytes ) = 0; |
215 | 215 | ||
216 | //! Gets an attribute as binary data | 216 | //! Gets an attribute as binary data |
217 | /** \param attributeName: Name of the attribute to get. | 217 | /** \param attributeName: Name of the attribute to get. |
218 | \param outData Pointer to buffer where data shall be stored. | 218 | \param outData Pointer to buffer where data shall be stored. |
219 | \param maxSizeInBytes Maximum number of bytes to write into outData. | 219 | \param maxSizeInBytes Maximum number of bytes to write into outData. |
220 | */ | 220 | */ |
221 | virtual void getAttributeAsBinaryData(const c8* attributeName, void* outData, s32 maxSizeInBytes) = 0; | 221 | virtual void getAttributeAsBinaryData(const c8* attributeName, void* outData, s32 maxSizeInBytes) = 0; |
222 | 222 | ||
223 | //! Gets an attribute as binary data | 223 | //! Gets an attribute as binary data |
224 | /** \param index: Index value, must be between 0 and getAttributeCount()-1. | 224 | /** \param index: Index value, must be between 0 and getAttributeCount()-1. |
225 | \param outData Pointer to buffer where data shall be stored. | 225 | \param outData Pointer to buffer where data shall be stored. |
226 | \param maxSizeInBytes Maximum number of bytes to write into outData. | 226 | \param maxSizeInBytes Maximum number of bytes to write into outData. |
227 | */ | 227 | */ |
228 | virtual void getAttributeAsBinaryData(s32 index, void* outData, s32 maxSizeInBytes) = 0; | 228 | virtual void getAttributeAsBinaryData(s32 index, void* outData, s32 maxSizeInBytes) = 0; |
229 | 229 | ||
230 | //! Sets an attribute as binary data | 230 | //! Sets an attribute as binary data |
231 | virtual void setAttribute(s32 index, void* data, s32 dataSizeInBytes ) = 0; | 231 | virtual void setAttribute(s32 index, void* data, s32 dataSizeInBytes ) = 0; |
232 | 232 | ||
233 | 233 | ||
234 | /* | 234 | /* |
235 | Array Attribute | 235 | Array Attribute |
236 | */ | 236 | */ |
237 | 237 | ||
238 | //! Adds an attribute as wide string array | 238 | //! Adds an attribute as wide string array |
239 | virtual void addArray(const c8* attributeName, const core::array<core::stringw>& value) = 0; | 239 | virtual void addArray(const c8* attributeName, const core::array<core::stringw>& value) = 0; |
240 | 240 | ||
241 | //! Sets an attribute value as a wide string array. | 241 | //! Sets an attribute value as a wide string array. |
242 | //! \param attributeName: Name for the attribute | 242 | //! \param attributeName: Name for the attribute |
243 | //! \param value: Value for the attribute. Set this to 0 to delete the attribute | 243 | //! \param value: Value for the attribute. Set this to 0 to delete the attribute |
244 | virtual void setAttribute(const c8* attributeName, const core::array<core::stringw>& value) = 0; | 244 | virtual void setAttribute(const c8* attributeName, const core::array<core::stringw>& value) = 0; |
245 | 245 | ||
246 | //! Gets an attribute as an array of wide strings. | 246 | //! Gets an attribute as an array of wide strings. |
247 | //! \param attributeName: Name of the attribute to get. | 247 | //! \param attributeName: Name of the attribute to get. |
248 | //! \return Returns value of the attribute previously set by setAttribute() | 248 | //! \return Returns value of the attribute previously set by setAttribute() |
249 | //! or 0 if attribute is not set. | 249 | //! or 0 if attribute is not set. |
250 | virtual core::array<core::stringw> getAttributeAsArray(const c8* attributeName) = 0; | 250 | virtual core::array<core::stringw> getAttributeAsArray(const c8* attributeName) = 0; |
251 | 251 | ||
252 | //! Returns attribute value as an array of wide strings by index. | 252 | //! Returns attribute value as an array of wide strings by index. |
253 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 253 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
254 | virtual core::array<core::stringw> getAttributeAsArray(s32 index) = 0; | 254 | virtual core::array<core::stringw> getAttributeAsArray(s32 index) = 0; |
255 | 255 | ||
256 | //! Sets an attribute as an array of wide strings | 256 | //! Sets an attribute as an array of wide strings |
257 | virtual void setAttribute(s32 index, const core::array<core::stringw>& value) = 0; | 257 | virtual void setAttribute(s32 index, const core::array<core::stringw>& value) = 0; |
258 | 258 | ||
259 | 259 | ||
260 | /* | 260 | /* |
261 | 261 | ||
262 | Bool Attribute | 262 | Bool Attribute |
263 | 263 | ||
264 | */ | 264 | */ |
265 | 265 | ||
266 | //! Adds an attribute as bool | 266 | //! Adds an attribute as bool |
267 | virtual void addBool(const c8* attributeName, bool value) = 0; | 267 | virtual void addBool(const c8* attributeName, bool value) = 0; |
268 | 268 | ||
269 | //! Sets an attribute as boolean value | 269 | //! Sets an attribute as boolean value |
270 | virtual void setAttribute(const c8* attributeName, bool value) = 0; | 270 | virtual void setAttribute(const c8* attributeName, bool value) = 0; |
271 | 271 | ||
272 | //! Gets an attribute as boolean value | 272 | //! Gets an attribute as boolean value |
273 | //! \param attributeName: Name of the attribute to get. | 273 | //! \param attributeName: Name of the attribute to get. |
274 | //! \return Returns value of the attribute previously set by setAttribute() | 274 | //! \return Returns value of the attribute previously set by setAttribute() |
275 | virtual bool getAttributeAsBool(const c8* attributeName) = 0; | 275 | virtual bool getAttributeAsBool(const c8* attributeName) = 0; |
276 | 276 | ||
277 | //! Gets an attribute as boolean value | 277 | //! Gets an attribute as boolean value |
278 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 278 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
279 | virtual bool getAttributeAsBool(s32 index) = 0; | 279 | virtual bool getAttributeAsBool(s32 index) = 0; |
280 | 280 | ||
281 | //! Sets an attribute as boolean value | 281 | //! Sets an attribute as boolean value |
282 | virtual void setAttribute(s32 index, bool value) = 0; | 282 | virtual void setAttribute(s32 index, bool value) = 0; |
283 | 283 | ||
284 | /* | 284 | /* |
285 | 285 | ||
286 | Enumeration Attribute | 286 | Enumeration Attribute |
287 | 287 | ||
288 | */ | 288 | */ |
289 | 289 | ||
290 | //! Adds an attribute as enum | 290 | //! Adds an attribute as enum |
291 | virtual void addEnum(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0; | 291 | virtual void addEnum(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0; |
292 | 292 | ||
293 | //! Adds an attribute as enum | 293 | //! Adds an attribute as enum |
294 | virtual void addEnum(const c8* attributeName, s32 enumValue, const c8* const* enumerationLiterals) = 0; | 294 | virtual void addEnum(const c8* attributeName, s32 enumValue, const c8* const* enumerationLiterals) = 0; |
295 | 295 | ||
296 | //! Sets an attribute as enumeration | 296 | //! Sets an attribute as enumeration |
297 | virtual void setAttribute(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0; | 297 | virtual void setAttribute(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0; |
298 | 298 | ||
299 | //! Gets an attribute as enumeration | 299 | //! Gets an attribute as enumeration |
300 | //! \param attributeName: Name of the attribute to get. | 300 | //! \param attributeName: Name of the attribute to get. |
301 | //! \return Returns value of the attribute previously set by setAttribute() | 301 | //! \return Returns value of the attribute previously set by setAttribute() |
302 | virtual const c8* getAttributeAsEnumeration(const c8* attributeName) = 0; | 302 | virtual const c8* getAttributeAsEnumeration(const c8* attributeName) = 0; |
303 | 303 | ||
304 | //! Gets an attribute as enumeration | 304 | //! Gets an attribute as enumeration |
305 | /** \param attributeName: Name of the attribute to get. | 305 | /** \param attributeName: Name of the attribute to get. |
306 | \param enumerationLiteralsToUse: Use these enumeration literals to get | 306 | \param enumerationLiteralsToUse: Use these enumeration literals to get |
307 | the index value instead of the set ones. This is useful when the | 307 | the index value instead of the set ones. This is useful when the |
308 | attribute list maybe was read from an xml file, and only contains the | 308 | attribute list maybe was read from an xml file, and only contains the |
309 | enumeration string, but no information about its index. | 309 | enumeration string, but no information about its index. |
310 | \return Returns value of the attribute previously set by setAttribute() | 310 | \return Returns value of the attribute previously set by setAttribute() |
311 | */ | 311 | */ |
312 | virtual s32 getAttributeAsEnumeration(const c8* attributeName, const c8* const* enumerationLiteralsToUse) = 0; | 312 | virtual s32 getAttributeAsEnumeration(const c8* attributeName, const c8* const* enumerationLiteralsToUse) = 0; |
313 | 313 | ||
314 | //! Gets an attribute as enumeration | 314 | //! Gets an attribute as enumeration |
315 | /** \param index: Index value, must be between 0 and getAttributeCount()-1. | 315 | /** \param index: Index value, must be between 0 and getAttributeCount()-1. |
316 | \param enumerationLiteralsToUse: Use these enumeration literals to get | 316 | \param enumerationLiteralsToUse: Use these enumeration literals to get |
317 | the index value instead of the set ones. This is useful when the | 317 | the index value instead of the set ones. This is useful when the |
318 | attribute list maybe was read from an xml file, and only contains the | 318 | attribute list maybe was read from an xml file, and only contains the |
319 | enumeration string, but no information about its index. | 319 | enumeration string, but no information about its index. |
320 | \return Returns value of the attribute previously set by setAttribute() | 320 | \return Returns value of the attribute previously set by setAttribute() |
321 | */ | 321 | */ |
322 | virtual s32 getAttributeAsEnumeration(s32 index, const c8* const* enumerationLiteralsToUse) = 0; | 322 | virtual s32 getAttributeAsEnumeration(s32 index, const c8* const* enumerationLiteralsToUse) = 0; |
323 | 323 | ||
324 | //! Gets an attribute as enumeration | 324 | //! Gets an attribute as enumeration |
325 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 325 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
326 | virtual const c8* getAttributeAsEnumeration(s32 index) = 0; | 326 | virtual const c8* getAttributeAsEnumeration(s32 index) = 0; |
327 | 327 | ||
328 | //! Gets the list of enumeration literals of an enumeration attribute | 328 | //! Gets the list of enumeration literals of an enumeration attribute |
329 | //! \param attributeName Name of the attribute to get. | 329 | //! \param attributeName Name of the attribute to get. |
330 | //! \param outLiterals Set of strings to choose the enum name from. | 330 | //! \param outLiterals Set of strings to choose the enum name from. |
331 | virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8* attributeName, core::array<core::stringc>& outLiterals) = 0; | 331 | virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8* attributeName, core::array<core::stringc>& outLiterals) = 0; |
332 | 332 | ||
333 | //! Gets the list of enumeration literals of an enumeration attribute | 333 | //! Gets the list of enumeration literals of an enumeration attribute |
334 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 334 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
335 | //! \param outLiterals Set of strings to choose the enum name from. | 335 | //! \param outLiterals Set of strings to choose the enum name from. |
336 | virtual void getAttributeEnumerationLiteralsOfEnumeration(s32 index, core::array<core::stringc>& outLiterals) = 0; | 336 | virtual void getAttributeEnumerationLiteralsOfEnumeration(s32 index, core::array<core::stringc>& outLiterals) = 0; |
337 | 337 | ||
338 | //! Sets an attribute as enumeration | 338 | //! Sets an attribute as enumeration |
339 | virtual void setAttribute(s32 index, const c8* enumValue, const c8* const* enumerationLiterals) = 0; | 339 | virtual void setAttribute(s32 index, const c8* enumValue, const c8* const* enumerationLiterals) = 0; |
340 | 340 | ||
341 | 341 | ||
342 | /* | 342 | /* |
343 | 343 | ||
344 | SColor Attribute | 344 | SColor Attribute |
345 | 345 | ||
346 | */ | 346 | */ |
347 | 347 | ||
348 | //! Adds an attribute as color | 348 | //! Adds an attribute as color |
349 | virtual void addColor(const c8* attributeName, video::SColor value) = 0; | 349 | virtual void addColor(const c8* attributeName, video::SColor value) = 0; |
350 | 350 | ||
351 | 351 | ||
352 | //! Sets a attribute as color | 352 | //! Sets a attribute as color |
353 | virtual void setAttribute(const c8* attributeName, video::SColor color) = 0; | 353 | virtual void setAttribute(const c8* attributeName, video::SColor color) = 0; |
354 | 354 | ||
355 | //! Gets an attribute as color | 355 | //! Gets an attribute as color |
356 | //! \param attributeName: Name of the attribute to get. | 356 | //! \param attributeName: Name of the attribute to get. |
357 | //! \return Returns value of the attribute previously set by setAttribute() | 357 | //! \return Returns value of the attribute previously set by setAttribute() |
358 | virtual video::SColor getAttributeAsColor(const c8* attributeName) = 0; | 358 | virtual video::SColor getAttributeAsColor(const c8* attributeName) = 0; |
359 | 359 | ||
360 | //! Gets an attribute as color | 360 | //! Gets an attribute as color |
361 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 361 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
362 | virtual video::SColor getAttributeAsColor(s32 index) = 0; | 362 | virtual video::SColor getAttributeAsColor(s32 index) = 0; |
363 | 363 | ||
364 | //! Sets an attribute as color | 364 | //! Sets an attribute as color |
365 | virtual void setAttribute(s32 index, video::SColor color) = 0; | 365 | virtual void setAttribute(s32 index, video::SColor color) = 0; |
366 | 366 | ||
367 | /* | 367 | /* |
368 | 368 | ||
369 | SColorf Attribute | 369 | SColorf Attribute |
370 | 370 | ||
371 | */ | 371 | */ |
372 | 372 | ||
373 | //! Adds an attribute as floating point color | 373 | //! Adds an attribute as floating point color |
374 | virtual void addColorf(const c8* attributeName, video::SColorf value) = 0; | 374 | virtual void addColorf(const c8* attributeName, video::SColorf value) = 0; |
375 | 375 | ||
376 | //! Sets a attribute as floating point color | 376 | //! Sets a attribute as floating point color |
377 | virtual void setAttribute(const c8* attributeName, video::SColorf color) = 0; | 377 | virtual void setAttribute(const c8* attributeName, video::SColorf color) = 0; |
378 | 378 | ||
379 | //! Gets an attribute as floating point color | 379 | //! Gets an attribute as floating point color |
380 | //! \param attributeName: Name of the attribute to get. | 380 | //! \param attributeName: Name of the attribute to get. |
381 | //! \return Returns value of the attribute previously set by setAttribute() | 381 | //! \return Returns value of the attribute previously set by setAttribute() |
382 | virtual video::SColorf getAttributeAsColorf(const c8* attributeName) = 0; | 382 | virtual video::SColorf getAttributeAsColorf(const c8* attributeName) = 0; |
383 | 383 | ||
384 | //! Gets an attribute as floating point color | 384 | //! Gets an attribute as floating point color |
385 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 385 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
386 | virtual video::SColorf getAttributeAsColorf(s32 index) = 0; | 386 | virtual video::SColorf getAttributeAsColorf(s32 index) = 0; |
387 | 387 | ||
388 | //! Sets an attribute as floating point color | 388 | //! Sets an attribute as floating point color |
389 | virtual void setAttribute(s32 index, video::SColorf color) = 0; | 389 | virtual void setAttribute(s32 index, video::SColorf color) = 0; |
390 | 390 | ||
391 | 391 | ||
392 | /* | 392 | /* |
393 | 393 | ||
394 | Vector3d Attribute | 394 | Vector3d Attribute |
395 | 395 | ||
396 | */ | 396 | */ |
397 | 397 | ||
398 | //! Adds an attribute as 3d vector | 398 | //! Adds an attribute as 3d vector |
399 | virtual void addVector3d(const c8* attributeName, core::vector3df value) = 0; | 399 | virtual void addVector3d(const c8* attributeName, core::vector3df value) = 0; |
400 | 400 | ||
401 | //! Sets a attribute as 3d vector | 401 | //! Sets a attribute as 3d vector |
402 | virtual void setAttribute(const c8* attributeName, core::vector3df v) = 0; | 402 | virtual void setAttribute(const c8* attributeName, core::vector3df v) = 0; |
403 | 403 | ||
404 | //! Gets an attribute as 3d vector | 404 | //! Gets an attribute as 3d vector |
405 | //! \param attributeName: Name of the attribute to get. | 405 | //! \param attributeName: Name of the attribute to get. |
406 | //! \return Returns value of the attribute previously set by setAttribute() | 406 | //! \return Returns value of the attribute previously set by setAttribute() |
407 | virtual core::vector3df getAttributeAsVector3d(const c8* attributeName) = 0; | 407 | virtual core::vector3df getAttributeAsVector3d(const c8* attributeName) = 0; |
408 | 408 | ||
409 | //! Gets an attribute as 3d vector | 409 | //! Gets an attribute as 3d vector |
410 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 410 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
411 | virtual core::vector3df getAttributeAsVector3d(s32 index) = 0; | 411 | virtual core::vector3df getAttributeAsVector3d(s32 index) = 0; |
412 | 412 | ||
413 | //! Sets an attribute as vector | 413 | //! Sets an attribute as vector |
414 | virtual void setAttribute(s32 index, core::vector3df v) = 0; | 414 | virtual void setAttribute(s32 index, core::vector3df v) = 0; |
415 | 415 | ||
416 | /* | 416 | /* |
417 | 417 | ||
418 | Vector2d Attribute | 418 | Vector2d Attribute |
419 | 419 | ||
420 | */ | 420 | */ |
421 | 421 | ||
422 | //! Adds an attribute as 2d vector | 422 | //! Adds an attribute as 2d vector |
423 | virtual void addVector2d(const c8* attributeName, core::vector2df value) = 0; | 423 | virtual void addVector2d(const c8* attributeName, core::vector2df value) = 0; |
424 | 424 | ||
425 | //! Sets a attribute as 2d vector | 425 | //! Sets a attribute as 2d vector |
426 | virtual void setAttribute(const c8* attributeName, core::vector2df v) = 0; | 426 | virtual void setAttribute(const c8* attributeName, core::vector2df v) = 0; |
427 | 427 | ||
428 | //! Gets an attribute as vector | 428 | //! Gets an attribute as vector |
429 | //! \param attributeName: Name of the attribute to get. | 429 | //! \param attributeName: Name of the attribute to get. |
430 | //! \return Returns value of the attribute previously set by setAttribute() | 430 | //! \return Returns value of the attribute previously set by setAttribute() |
431 | virtual core::vector2df getAttributeAsVector2d(const c8* attributeName) = 0; | 431 | virtual core::vector2df getAttributeAsVector2d(const c8* attributeName) = 0; |
432 | 432 | ||
433 | //! Gets an attribute as position | 433 | //! Gets an attribute as position |
434 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 434 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
435 | virtual core::vector2df getAttributeAsVector2d(s32 index) = 0; | 435 | virtual core::vector2df getAttributeAsVector2d(s32 index) = 0; |
436 | 436 | ||
437 | //! Sets an attribute as 2d vector | 437 | //! Sets an attribute as 2d vector |
438 | virtual void setAttribute(s32 index, core::vector2df v) = 0; | 438 | virtual void setAttribute(s32 index, core::vector2df v) = 0; |
439 | 439 | ||
440 | /* | 440 | /* |
441 | 441 | ||
442 | Position2d Attribute | 442 | Position2d Attribute |
443 | 443 | ||
444 | */ | 444 | */ |
445 | 445 | ||
446 | //! Adds an attribute as 2d position | 446 | //! Adds an attribute as 2d position |
447 | virtual void addPosition2d(const c8* attributeName, core::position2di value) = 0; | 447 | virtual void addPosition2d(const c8* attributeName, core::position2di value) = 0; |
448 | 448 | ||
449 | //! Sets a attribute as 2d position | 449 | //! Sets a attribute as 2d position |
450 | virtual void setAttribute(const c8* attributeName, core::position2di v) = 0; | 450 | virtual void setAttribute(const c8* attributeName, core::position2di v) = 0; |
451 | 451 | ||
452 | //! Gets an attribute as position | 452 | //! Gets an attribute as position |
453 | //! \param attributeName: Name of the attribute to get. | 453 | //! \param attributeName: Name of the attribute to get. |
454 | //! \return Returns value of the attribute previously set by setAttribute() | 454 | //! \return Returns value of the attribute previously set by setAttribute() |
455 | virtual core::position2di getAttributeAsPosition2d(const c8* attributeName) = 0; | 455 | virtual core::position2di getAttributeAsPosition2d(const c8* attributeName) = 0; |
456 | 456 | ||
457 | //! Gets an attribute as position | 457 | //! Gets an attribute as position |
458 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 458 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
459 | virtual core::position2di getAttributeAsPosition2d(s32 index) = 0; | 459 | virtual core::position2di getAttributeAsPosition2d(s32 index) = 0; |
460 | 460 | ||
461 | //! Sets an attribute as 2d position | 461 | //! Sets an attribute as 2d position |
462 | virtual void setAttribute(s32 index, core::position2di v) = 0; | 462 | virtual void setAttribute(s32 index, core::position2di v) = 0; |
463 | 463 | ||
464 | /* | 464 | /* |
465 | 465 | ||
466 | Rectangle Attribute | 466 | Rectangle Attribute |
467 | 467 | ||
468 | */ | 468 | */ |
469 | 469 | ||
470 | //! Adds an attribute as rectangle | 470 | //! Adds an attribute as rectangle |
471 | virtual void addRect(const c8* attributeName, core::rect<s32> value) = 0; | 471 | virtual void addRect(const c8* attributeName, core::rect<s32> value) = 0; |
472 | 472 | ||
473 | //! Sets an attribute as rectangle | 473 | //! Sets an attribute as rectangle |
474 | virtual void setAttribute(const c8* attributeName, core::rect<s32> v) = 0; | 474 | virtual void setAttribute(const c8* attributeName, core::rect<s32> v) = 0; |
475 | 475 | ||
476 | //! Gets an attribute as rectangle | 476 | //! Gets an attribute as rectangle |
477 | //! \param attributeName: Name of the attribute to get. | 477 | //! \param attributeName: Name of the attribute to get. |
478 | //! \return Returns value of the attribute previously set by setAttribute() | 478 | //! \return Returns value of the attribute previously set by setAttribute() |
479 | virtual core::rect<s32> getAttributeAsRect(const c8* attributeName) = 0; | 479 | virtual core::rect<s32> getAttributeAsRect(const c8* attributeName) = 0; |
480 | 480 | ||
481 | //! Gets an attribute as rectangle | 481 | //! Gets an attribute as rectangle |
482 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 482 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
483 | virtual core::rect<s32> getAttributeAsRect(s32 index) = 0; | 483 | virtual core::rect<s32> getAttributeAsRect(s32 index) = 0; |
484 | 484 | ||
485 | //! Sets an attribute as rectangle | 485 | //! Sets an attribute as rectangle |
486 | virtual void setAttribute(s32 index, core::rect<s32> v) = 0; | 486 | virtual void setAttribute(s32 index, core::rect<s32> v) = 0; |
487 | 487 | ||
488 | 488 | ||
489 | /* | 489 | /* |
490 | 490 | ||
491 | Dimension2d Attribute | 491 | Dimension2d Attribute |
492 | 492 | ||
493 | */ | 493 | */ |
494 | 494 | ||
495 | //! Adds an attribute as dimension2d | 495 | //! Adds an attribute as dimension2d |
496 | virtual void addDimension2d(const c8* attributeName, core::dimension2d<u32> value) = 0; | 496 | virtual void addDimension2d(const c8* attributeName, core::dimension2d<u32> value) = 0; |
497 | 497 | ||
498 | //! Sets an attribute as dimension2d | 498 | //! Sets an attribute as dimension2d |
499 | virtual void setAttribute(const c8* attributeName, core::dimension2d<u32> v) = 0; | 499 | virtual void setAttribute(const c8* attributeName, core::dimension2d<u32> v) = 0; |
500 | 500 | ||
501 | //! Gets an attribute as dimension2d | 501 | //! Gets an attribute as dimension2d |
502 | //! \param attributeName: Name of the attribute to get. | 502 | //! \param attributeName: Name of the attribute to get. |
503 | //! \return Returns value of the attribute previously set by setAttribute() | 503 | //! \return Returns value of the attribute previously set by setAttribute() |
504 | virtual core::dimension2d<u32> getAttributeAsDimension2d(const c8* attributeName) = 0; | 504 | virtual core::dimension2d<u32> getAttributeAsDimension2d(const c8* attributeName) = 0; |
505 | 505 | ||
506 | //! Gets an attribute as dimension2d | 506 | //! Gets an attribute as dimension2d |
507 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 507 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
508 | virtual core::dimension2d<u32> getAttributeAsDimension2d(s32 index) = 0; | 508 | virtual core::dimension2d<u32> getAttributeAsDimension2d(s32 index) = 0; |
509 | 509 | ||
510 | //! Sets an attribute as dimension2d | 510 | //! Sets an attribute as dimension2d |
511 | virtual void setAttribute(s32 index, core::dimension2d<u32> v) = 0; | 511 | virtual void setAttribute(s32 index, core::dimension2d<u32> v) = 0; |
512 | 512 | ||
513 | 513 | ||
514 | /* | 514 | /* |
515 | matrix attribute | 515 | matrix attribute |
516 | */ | 516 | */ |
517 | 517 | ||
518 | //! Adds an attribute as matrix | 518 | //! Adds an attribute as matrix |
519 | virtual void addMatrix(const c8* attributeName, const core::matrix4& v) = 0; | 519 | virtual void addMatrix(const c8* attributeName, const core::matrix4& v) = 0; |
520 | 520 | ||
521 | //! Sets an attribute as matrix | 521 | //! Sets an attribute as matrix |
522 | virtual void setAttribute(const c8* attributeName, const core::matrix4& v) = 0; | 522 | virtual void setAttribute(const c8* attributeName, const core::matrix4& v) = 0; |
523 | 523 | ||
524 | //! Gets an attribute as a matrix4 | 524 | //! Gets an attribute as a matrix4 |
525 | //! \param attributeName: Name of the attribute to get. | 525 | //! \param attributeName: Name of the attribute to get. |
526 | //! \return Returns value of the attribute previously set by setAttribute() | 526 | //! \return Returns value of the attribute previously set by setAttribute() |
527 | virtual core::matrix4 getAttributeAsMatrix(const c8* attributeName) = 0; | 527 | virtual core::matrix4 getAttributeAsMatrix(const c8* attributeName) = 0; |
528 | 528 | ||
529 | //! Gets an attribute as matrix | 529 | //! Gets an attribute as matrix |
530 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 530 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
531 | virtual core::matrix4 getAttributeAsMatrix(s32 index) = 0; | 531 | virtual core::matrix4 getAttributeAsMatrix(s32 index) = 0; |
532 | 532 | ||
533 | //! Sets an attribute as matrix | 533 | //! Sets an attribute as matrix |
534 | virtual void setAttribute(s32 index, const core::matrix4& v) = 0; | 534 | virtual void setAttribute(s32 index, const core::matrix4& v) = 0; |
535 | 535 | ||
536 | /* | 536 | /* |
537 | quaternion attribute | 537 | quaternion attribute |
538 | 538 | ||
539 | */ | 539 | */ |
540 | 540 | ||
541 | //! Adds an attribute as quaternion | 541 | //! Adds an attribute as quaternion |
542 | virtual void addQuaternion(const c8* attributeName, core::quaternion v) = 0; | 542 | virtual void addQuaternion(const c8* attributeName, core::quaternion v) = 0; |
543 | 543 | ||
544 | //! Sets an attribute as quaternion | 544 | //! Sets an attribute as quaternion |
545 | virtual void setAttribute(const c8* attributeName, core::quaternion v) = 0; | 545 | virtual void setAttribute(const c8* attributeName, core::quaternion v) = 0; |
546 | 546 | ||
547 | //! Gets an attribute as a quaternion | 547 | //! Gets an attribute as a quaternion |
548 | //! \param attributeName: Name of the attribute to get. | 548 | //! \param attributeName: Name of the attribute to get. |
549 | //! \return Returns value of the attribute previously set by setAttribute() | 549 | //! \return Returns value of the attribute previously set by setAttribute() |
550 | virtual core::quaternion getAttributeAsQuaternion(const c8* attributeName) = 0; | 550 | virtual core::quaternion getAttributeAsQuaternion(const c8* attributeName) = 0; |
551 | 551 | ||
552 | //! Gets an attribute as quaternion | 552 | //! Gets an attribute as quaternion |
553 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 553 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
554 | virtual core::quaternion getAttributeAsQuaternion(s32 index) = 0; | 554 | virtual core::quaternion getAttributeAsQuaternion(s32 index) = 0; |
555 | 555 | ||
556 | //! Sets an attribute as quaternion | 556 | //! Sets an attribute as quaternion |
557 | virtual void setAttribute(s32 index, core::quaternion v) = 0; | 557 | virtual void setAttribute(s32 index, core::quaternion v) = 0; |
558 | 558 | ||
559 | /* | 559 | /* |
560 | 560 | ||
561 | 3d bounding box | 561 | 3d bounding box |
562 | 562 | ||
563 | */ | 563 | */ |
564 | 564 | ||
565 | //! Adds an attribute as axis aligned bounding box | 565 | //! Adds an attribute as axis aligned bounding box |
566 | virtual void addBox3d(const c8* attributeName, core::aabbox3df v) = 0; | 566 | virtual void addBox3d(const c8* attributeName, core::aabbox3df v) = 0; |
567 | 567 | ||
568 | //! Sets an attribute as axis aligned bounding box | 568 | //! Sets an attribute as axis aligned bounding box |
569 | virtual void setAttribute(const c8* attributeName, core::aabbox3df v) = 0; | 569 | virtual void setAttribute(const c8* attributeName, core::aabbox3df v) = 0; |
570 | 570 | ||
571 | //! Gets an attribute as a axis aligned bounding box | 571 | //! Gets an attribute as a axis aligned bounding box |
572 | //! \param attributeName: Name of the attribute to get. | 572 | //! \param attributeName: Name of the attribute to get. |
573 | //! \return Returns value of the attribute previously set by setAttribute() | 573 | //! \return Returns value of the attribute previously set by setAttribute() |
574 | virtual core::aabbox3df getAttributeAsBox3d(const c8* attributeName) = 0; | 574 | virtual core::aabbox3df getAttributeAsBox3d(const c8* attributeName) = 0; |
575 | 575 | ||
576 | //! Gets an attribute as axis aligned bounding box | 576 | //! Gets an attribute as axis aligned bounding box |
577 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 577 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
578 | virtual core::aabbox3df getAttributeAsBox3d(s32 index) = 0; | 578 | virtual core::aabbox3df getAttributeAsBox3d(s32 index) = 0; |
579 | 579 | ||
580 | //! Sets an attribute as axis aligned bounding box | 580 | //! Sets an attribute as axis aligned bounding box |
581 | virtual void setAttribute(s32 index, core::aabbox3df v) = 0; | 581 | virtual void setAttribute(s32 index, core::aabbox3df v) = 0; |
582 | 582 | ||
583 | /* | 583 | /* |
584 | 584 | ||
585 | plane | 585 | plane |
586 | 586 | ||
587 | */ | 587 | */ |
588 | 588 | ||
589 | //! Adds an attribute as 3d plane | 589 | //! Adds an attribute as 3d plane |
590 | virtual void addPlane3d(const c8* attributeName, core::plane3df v) = 0; | 590 | virtual void addPlane3d(const c8* attributeName, core::plane3df v) = 0; |
591 | 591 | ||
592 | //! Sets an attribute as 3d plane | 592 | //! Sets an attribute as 3d plane |
593 | virtual void setAttribute(const c8* attributeName, core::plane3df v) = 0; | 593 | virtual void setAttribute(const c8* attributeName, core::plane3df v) = 0; |
594 | 594 | ||
595 | //! Gets an attribute as a 3d plane | 595 | //! Gets an attribute as a 3d plane |
596 | //! \param attributeName: Name of the attribute to get. | 596 | //! \param attributeName: Name of the attribute to get. |
597 | //! \return Returns value of the attribute previously set by setAttribute() | 597 | //! \return Returns value of the attribute previously set by setAttribute() |
598 | virtual core::plane3df getAttributeAsPlane3d(const c8* attributeName) = 0; | 598 | virtual core::plane3df getAttributeAsPlane3d(const c8* attributeName) = 0; |
599 | 599 | ||
600 | //! Gets an attribute as 3d plane | 600 | //! Gets an attribute as 3d plane |
601 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 601 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
602 | virtual core::plane3df getAttributeAsPlane3d(s32 index) = 0; | 602 | virtual core::plane3df getAttributeAsPlane3d(s32 index) = 0; |
603 | 603 | ||
604 | //! Sets an attribute as 3d plane | 604 | //! Sets an attribute as 3d plane |
605 | virtual void setAttribute(s32 index, core::plane3df v) = 0; | 605 | virtual void setAttribute(s32 index, core::plane3df v) = 0; |
606 | 606 | ||
607 | 607 | ||
608 | /* | 608 | /* |
609 | 609 | ||
610 | 3d triangle | 610 | 3d triangle |
611 | 611 | ||
612 | */ | 612 | */ |
613 | 613 | ||
614 | //! Adds an attribute as 3d triangle | 614 | //! Adds an attribute as 3d triangle |
615 | virtual void addTriangle3d(const c8* attributeName, core::triangle3df v) = 0; | 615 | virtual void addTriangle3d(const c8* attributeName, core::triangle3df v) = 0; |
616 | 616 | ||
617 | //! Sets an attribute as 3d trianle | 617 | //! Sets an attribute as 3d trianle |
618 | virtual void setAttribute(const c8* attributeName, core::triangle3df v) = 0; | 618 | virtual void setAttribute(const c8* attributeName, core::triangle3df v) = 0; |
619 | 619 | ||
620 | //! Gets an attribute as a 3d triangle | 620 | //! Gets an attribute as a 3d triangle |
621 | //! \param attributeName: Name of the attribute to get. | 621 | //! \param attributeName: Name of the attribute to get. |
622 | //! \return Returns value of the attribute previously set by setAttribute() | 622 | //! \return Returns value of the attribute previously set by setAttribute() |
623 | virtual core::triangle3df getAttributeAsTriangle3d(const c8* attributeName) = 0; | 623 | virtual core::triangle3df getAttributeAsTriangle3d(const c8* attributeName) = 0; |
624 | 624 | ||
625 | //! Gets an attribute as 3d triangle | 625 | //! Gets an attribute as 3d triangle |
626 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 626 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
627 | virtual core::triangle3df getAttributeAsTriangle3d(s32 index) = 0; | 627 | virtual core::triangle3df getAttributeAsTriangle3d(s32 index) = 0; |
628 | 628 | ||
629 | //! Sets an attribute as 3d triangle | 629 | //! Sets an attribute as 3d triangle |
630 | virtual void setAttribute(s32 index, core::triangle3df v) = 0; | 630 | virtual void setAttribute(s32 index, core::triangle3df v) = 0; |
631 | 631 | ||
632 | 632 | ||
633 | /* | 633 | /* |
634 | 634 | ||
635 | line 2d | 635 | line 2d |
636 | 636 | ||
637 | */ | 637 | */ |
638 | 638 | ||
639 | //! Adds an attribute as a 2d line | 639 | //! Adds an attribute as a 2d line |
640 | virtual void addLine2d(const c8* attributeName, core::line2df v) = 0; | 640 | virtual void addLine2d(const c8* attributeName, core::line2df v) = 0; |
641 | 641 | ||
642 | //! Sets an attribute as a 2d line | 642 | //! Sets an attribute as a 2d line |
643 | virtual void setAttribute(const c8* attributeName, core::line2df v) = 0; | 643 | virtual void setAttribute(const c8* attributeName, core::line2df v) = 0; |
644 | 644 | ||
645 | //! Gets an attribute as a 2d line | 645 | //! Gets an attribute as a 2d line |
646 | //! \param attributeName: Name of the attribute to get. | 646 | //! \param attributeName: Name of the attribute to get. |
647 | //! \return Returns value of the attribute previously set by setAttribute() | 647 | //! \return Returns value of the attribute previously set by setAttribute() |
648 | virtual core::line2df getAttributeAsLine2d(const c8* attributeName) = 0; | 648 | virtual core::line2df getAttributeAsLine2d(const c8* attributeName) = 0; |
649 | 649 | ||
650 | //! Gets an attribute as a 2d line | 650 | //! Gets an attribute as a 2d line |
651 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 651 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
652 | virtual core::line2df getAttributeAsLine2d(s32 index) = 0; | 652 | virtual core::line2df getAttributeAsLine2d(s32 index) = 0; |
653 | 653 | ||
654 | //! Sets an attribute as a 2d line | 654 | //! Sets an attribute as a 2d line |
655 | virtual void setAttribute(s32 index, core::line2df v) = 0; | 655 | virtual void setAttribute(s32 index, core::line2df v) = 0; |
656 | 656 | ||
657 | 657 | ||
658 | /* | 658 | /* |
659 | 659 | ||
660 | line 3d | 660 | line 3d |
661 | 661 | ||
662 | */ | 662 | */ |
663 | 663 | ||
664 | //! Adds an attribute as a 3d line | 664 | //! Adds an attribute as a 3d line |
665 | virtual void addLine3d(const c8* attributeName, core::line3df v) = 0; | 665 | virtual void addLine3d(const c8* attributeName, core::line3df v) = 0; |
666 | 666 | ||
667 | //! Sets an attribute as a 3d line | 667 | //! Sets an attribute as a 3d line |
668 | virtual void setAttribute(const c8* attributeName, core::line3df v) = 0; | 668 | virtual void setAttribute(const c8* attributeName, core::line3df v) = 0; |
669 | 669 | ||
670 | //! Gets an attribute as a 3d line | 670 | //! Gets an attribute as a 3d line |
671 | //! \param attributeName: Name of the attribute to get. | 671 | //! \param attributeName: Name of the attribute to get. |
672 | //! \return Returns value of the attribute previously set by setAttribute() | 672 | //! \return Returns value of the attribute previously set by setAttribute() |
673 | virtual core::line3df getAttributeAsLine3d(const c8* attributeName) = 0; | 673 | virtual core::line3df getAttributeAsLine3d(const c8* attributeName) = 0; |
674 | 674 | ||
675 | //! Gets an attribute as a 3d line | 675 | //! Gets an attribute as a 3d line |
676 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 676 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
677 | virtual core::line3df getAttributeAsLine3d(s32 index) = 0; | 677 | virtual core::line3df getAttributeAsLine3d(s32 index) = 0; |
678 | 678 | ||
679 | //! Sets an attribute as a 3d line | 679 | //! Sets an attribute as a 3d line |
680 | virtual void setAttribute(s32 index, core::line3df v) = 0; | 680 | virtual void setAttribute(s32 index, core::line3df v) = 0; |
681 | 681 | ||
682 | 682 | ||
683 | /* | 683 | /* |
684 | 684 | ||
685 | Texture Attribute | 685 | Texture Attribute |
686 | 686 | ||
687 | */ | 687 | */ |
688 | 688 | ||
689 | //! Adds an attribute as texture reference | 689 | //! Adds an attribute as texture reference |
690 | virtual void addTexture(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0; | 690 | virtual void addTexture(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0; |
691 | 691 | ||
692 | //! Sets an attribute as texture reference | 692 | //! Sets an attribute as texture reference |
693 | virtual void setAttribute(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0; | 693 | virtual void setAttribute(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0; |
694 | 694 | ||
695 | //! Gets an attribute as texture reference | 695 | //! Gets an attribute as texture reference |
696 | //! \param attributeName: Name of the attribute to get. | 696 | //! \param attributeName: Name of the attribute to get. |
697 | virtual video::ITexture* getAttributeAsTexture(const c8* attributeName) = 0; | 697 | virtual video::ITexture* getAttributeAsTexture(const c8* attributeName) = 0; |
698 | 698 | ||
699 | //! Gets an attribute as texture reference | 699 | //! Gets an attribute as texture reference |
700 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 700 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
701 | virtual video::ITexture* getAttributeAsTexture(s32 index) = 0; | 701 | virtual video::ITexture* getAttributeAsTexture(s32 index) = 0; |
702 | 702 | ||
703 | //! Sets an attribute as texture reference | 703 | //! Sets an attribute as texture reference |
704 | virtual void setAttribute(s32 index, video::ITexture* texture, const io::path& filename = "") = 0; | 704 | virtual void setAttribute(s32 index, video::ITexture* texture, const io::path& filename = "") = 0; |
705 | 705 | ||
706 | 706 | ||
707 | /* | 707 | /* |
708 | 708 | ||
709 | User Pointer Attribute | 709 | User Pointer Attribute |
710 | 710 | ||
711 | */ | 711 | */ |
712 | 712 | ||
713 | //! Adds an attribute as user pointner | 713 | //! Adds an attribute as user pointner |
714 | virtual void addUserPointer(const c8* attributeName, void* userPointer) = 0; | 714 | virtual void addUserPointer(const c8* attributeName, void* userPointer) = 0; |
715 | 715 | ||
716 | //! Sets an attribute as user pointer | 716 | //! Sets an attribute as user pointer |
717 | virtual void setAttribute(const c8* attributeName, void* userPointer) = 0; | 717 | virtual void setAttribute(const c8* attributeName, void* userPointer) = 0; |
718 | 718 | ||
719 | //! Gets an attribute as user pointer | 719 | //! Gets an attribute as user pointer |
720 | //! \param attributeName: Name of the attribute to get. | 720 | //! \param attributeName: Name of the attribute to get. |
721 | virtual void* getAttributeAsUserPointer(const c8* attributeName) = 0; | 721 | virtual void* getAttributeAsUserPointer(const c8* attributeName) = 0; |
722 | 722 | ||
723 | //! Gets an attribute as user pointer | 723 | //! Gets an attribute as user pointer |
724 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. | 724 | //! \param index: Index value, must be between 0 and getAttributeCount()-1. |
725 | virtual void* getAttributeAsUserPointer(s32 index) = 0; | 725 | virtual void* getAttributeAsUserPointer(s32 index) = 0; |
726 | 726 | ||
727 | //! Sets an attribute as user pointer | 727 | //! Sets an attribute as user pointer |
728 | virtual void setAttribute(s32 index, void* userPointer) = 0; | 728 | virtual void setAttribute(s32 index, void* userPointer) = 0; |
729 | 729 | ||
730 | }; | 730 | }; |
731 | 731 | ||
732 | } // end namespace io | 732 | } // end namespace io |
733 | } // end namespace irr | 733 | } // end namespace irr |
734 | 734 | ||
735 | #endif | 735 | #endif |
736 | 736 | ||
737 | 737 | ||
738 | 738 | ||