Irrlicht 3D Engine
 
Loading...
Searching...
No Matches
IAttributes.h
Go to the documentation of this file.
1// Copyright (C) 2002-2012 Nikolaus Gebhardt
2// This file is part of the "Irrlicht Engine".
3// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5#ifndef __I_ATTRIBUTES_H_INCLUDED__
6#define __I_ATTRIBUTES_H_INCLUDED__
7
8#include "IReferenceCounted.h"
9#include "SColor.h"
10#include "vector3d.h"
11#include "vector2d.h"
12#include "line2d.h"
13#include "line3d.h"
14#include "triangle3d.h"
15#include "position2d.h"
16#include "rect.h"
17#include "dimension2d.h"
18#include "matrix4.h"
19#include "quaternion.h"
20#include "plane3d.h"
21#include "triangle3d.h"
22#include "line2d.h"
23#include "line3d.h"
24#include "irrString.h"
25#include "irrArray.h"
26#include "IXMLReader.h"
27#include "EAttributes.h"
28#include "path.h"
29
30namespace irr
31{
32namespace video
33{
34 class ITexture;
35} // end namespace video
36namespace io
37{
38 class IXMLWriter;
39
41class IAttributes : public virtual IReferenceCounted
42{
43public:
44
46 virtual u32 getAttributeCount() const = 0;
47
50 virtual const c8* getAttributeName(s32 index) = 0;
51
54 virtual E_ATTRIBUTE_TYPE getAttributeType(const c8* attributeName) = 0;
55
59
62 virtual const wchar_t* getAttributeTypeString(const c8* attributeName) = 0;
63
66 virtual const wchar_t* getAttributeTypeString(s32 index) = 0;
67
69 virtual bool existsAttribute(const c8* attributeName) = 0;
70
72 virtual s32 findAttribute(const c8* attributeName) const =0;
73
75 virtual void clear() = 0;
76
83 virtual bool read(io::IXMLReader* reader, bool readCurrentElementOnly=false, const wchar_t* elementName=0) = 0;
84
89 virtual bool write(io::IXMLWriter* writer, bool writeXMLHeader=false, const wchar_t* elementName=0) = 0;
90
91
92 /*
93
94 Integer Attribute
95
96 */
97
99 virtual void addInt(const c8* attributeName, s32 value) = 0;
100
102 virtual void setAttribute(const c8* attributeName, s32 value) = 0;
103
107 virtual s32 getAttributeAsInt(const c8* attributeName) const =0;
108
111 virtual s32 getAttributeAsInt(s32 index) const =0;
112
114 virtual void setAttribute(s32 index, s32 value) = 0;
115
116 /*
117
118 Float Attribute
119
120 */
121
123 virtual void addFloat(const c8* attributeName, f32 value) = 0;
124
126 virtual void setAttribute(const c8* attributeName, f32 value) = 0;
127
131 virtual f32 getAttributeAsFloat(const c8* attributeName) = 0;
132
135 virtual f32 getAttributeAsFloat(s32 index) = 0;
136
138 virtual void setAttribute(s32 index, f32 value) = 0;
139
140 /*
141
142 String Attribute
143
144 */
145
147 virtual void addString(const c8* attributeName, const c8* value) = 0;
148
152 virtual void setAttribute(const c8* attributeName, const c8* value) = 0;
153
158 virtual core::stringc getAttributeAsString(const c8* attributeName) = 0;
159
163 virtual void getAttributeAsString(const c8* attributeName, c8* target) = 0;
164
168
172 virtual void setAttribute(s32 index, const c8* value) = 0;
173
174 // wide strings
175
177 virtual void addString(const c8* attributeName, const wchar_t* value) = 0;
178
182 virtual void setAttribute(const c8* attributeName, const wchar_t* value) = 0;
183
188 virtual core::stringw getAttributeAsStringW(const c8* attributeName) = 0;
189
193 virtual void getAttributeAsStringW(const c8* attributeName, wchar_t* target) = 0;
194
198
202 virtual void setAttribute(s32 index, const wchar_t* value) = 0;
203
204 /*
205
206 Binary Data Attribute
207
208 */
209
211 virtual void addBinary(const c8* attributeName, void* data, s32 dataSizeInBytes) = 0;
212
214 virtual void setAttribute(const c8* attributeName, void* data, s32 dataSizeInBytes ) = 0;
215
217
221 virtual void getAttributeAsBinaryData(const c8* attributeName, void* outData, s32 maxSizeInBytes) = 0;
222
224
228 virtual void getAttributeAsBinaryData(s32 index, void* outData, s32 maxSizeInBytes) = 0;
229
231 virtual void setAttribute(s32 index, void* data, s32 dataSizeInBytes ) = 0;
232
233
234 /*
235 Array Attribute
236 */
237
239 virtual void addArray(const c8* attributeName, const core::array<core::stringw>& value) = 0;
240
244 virtual void setAttribute(const c8* attributeName, const core::array<core::stringw>& value) = 0;
245
250 virtual core::array<core::stringw> getAttributeAsArray(const c8* attributeName) = 0;
251
255
257 virtual void setAttribute(s32 index, const core::array<core::stringw>& value) = 0;
258
259
260 /*
261
262 Bool Attribute
263
264 */
265
267 virtual void addBool(const c8* attributeName, bool value) = 0;
268
270 virtual void setAttribute(const c8* attributeName, bool value) = 0;
271
275 virtual bool getAttributeAsBool(const c8* attributeName) = 0;
276
279 virtual bool getAttributeAsBool(s32 index) = 0;
280
282 virtual void setAttribute(s32 index, bool value) = 0;
283
284 /*
285
286 Enumeration Attribute
287
288 */
289
291 virtual void addEnum(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
292
294 virtual void addEnum(const c8* attributeName, s32 enumValue, const c8* const* enumerationLiterals) = 0;
295
297 virtual void setAttribute(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
298
302 virtual const c8* getAttributeAsEnumeration(const c8* attributeName) = 0;
303
305
312 virtual s32 getAttributeAsEnumeration(const c8* attributeName, const c8* const* enumerationLiteralsToUse) = 0;
313
315
322 virtual s32 getAttributeAsEnumeration(s32 index, const c8* const* enumerationLiteralsToUse) = 0;
323
326 virtual const c8* getAttributeAsEnumeration(s32 index) = 0;
327
331 virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8* attributeName, core::array<core::stringc>& outLiterals) = 0;
332
337
339 virtual void setAttribute(s32 index, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
340
341
342 /*
343
344 SColor Attribute
345
346 */
347
349 virtual void addColor(const c8* attributeName, video::SColor value) = 0;
350
351
353 virtual void setAttribute(const c8* attributeName, video::SColor color) = 0;
354
358 virtual video::SColor getAttributeAsColor(const c8* attributeName) = 0;
359
363
365 virtual void setAttribute(s32 index, video::SColor color) = 0;
366
367 /*
368
369 SColorf Attribute
370
371 */
372
374 virtual void addColorf(const c8* attributeName, video::SColorf value) = 0;
375
377 virtual void setAttribute(const c8* attributeName, video::SColorf color) = 0;
378
382 virtual video::SColorf getAttributeAsColorf(const c8* attributeName) = 0;
383
387
389 virtual void setAttribute(s32 index, video::SColorf color) = 0;
390
391
392 /*
393
394 Vector3d Attribute
395
396 */
397
399 virtual void addVector3d(const c8* attributeName, core::vector3df value) = 0;
400
402 virtual void setAttribute(const c8* attributeName, core::vector3df v) = 0;
403
407 virtual core::vector3df getAttributeAsVector3d(const c8* attributeName) = 0;
408
412
414 virtual void setAttribute(s32 index, core::vector3df v) = 0;
415
416 /*
417
418 Vector2d Attribute
419
420 */
421
423 virtual void addVector2d(const c8* attributeName, core::vector2df value) = 0;
424
426 virtual void setAttribute(const c8* attributeName, core::vector2df v) = 0;
427
431 virtual core::vector2df getAttributeAsVector2d(const c8* attributeName) = 0;
432
436
438 virtual void setAttribute(s32 index, core::vector2df v) = 0;
439
440 /*
441
442 Position2d Attribute
443
444 */
445
447 virtual void addPosition2d(const c8* attributeName, core::position2di value) = 0;
448
450 virtual void setAttribute(const c8* attributeName, core::position2di v) = 0;
451
455 virtual core::position2di getAttributeAsPosition2d(const c8* attributeName) = 0;
456
460
462 virtual void setAttribute(s32 index, core::position2di v) = 0;
463
464 /*
465
466 Rectangle Attribute
467
468 */
469
471 virtual void addRect(const c8* attributeName, core::rect<s32> value) = 0;
472
474 virtual void setAttribute(const c8* attributeName, core::rect<s32> v) = 0;
475
479 virtual core::rect<s32> getAttributeAsRect(const c8* attributeName) = 0;
480
484
486 virtual void setAttribute(s32 index, core::rect<s32> v) = 0;
487
488
489 /*
490
491 Dimension2d Attribute
492
493 */
494
496 virtual void addDimension2d(const c8* attributeName, core::dimension2d<u32> value) = 0;
497
499 virtual void setAttribute(const c8* attributeName, core::dimension2d<u32> v) = 0;
500
504 virtual core::dimension2d<u32> getAttributeAsDimension2d(const c8* attributeName) = 0;
505
509
511 virtual void setAttribute(s32 index, core::dimension2d<u32> v) = 0;
512
513
514 /*
515 matrix attribute
516 */
517
519 virtual void addMatrix(const c8* attributeName, const core::matrix4& v) = 0;
520
522 virtual void setAttribute(const c8* attributeName, const core::matrix4& v) = 0;
523
527 virtual core::matrix4 getAttributeAsMatrix(const c8* attributeName) = 0;
528
532
534 virtual void setAttribute(s32 index, const core::matrix4& v) = 0;
535
536 /*
537 quaternion attribute
538
539 */
540
542 virtual void addQuaternion(const c8* attributeName, core::quaternion v) = 0;
543
545 virtual void setAttribute(const c8* attributeName, core::quaternion v) = 0;
546
550 virtual core::quaternion getAttributeAsQuaternion(const c8* attributeName) = 0;
551
555
557 virtual void setAttribute(s32 index, core::quaternion v) = 0;
558
559 /*
560
561 3d bounding box
562
563 */
564
566 virtual void addBox3d(const c8* attributeName, core::aabbox3df v) = 0;
567
569 virtual void setAttribute(const c8* attributeName, core::aabbox3df v) = 0;
570
574 virtual core::aabbox3df getAttributeAsBox3d(const c8* attributeName) = 0;
575
579
581 virtual void setAttribute(s32 index, core::aabbox3df v) = 0;
582
583 /*
584
585 plane
586
587 */
588
590 virtual void addPlane3d(const c8* attributeName, core::plane3df v) = 0;
591
593 virtual void setAttribute(const c8* attributeName, core::plane3df v) = 0;
594
598 virtual core::plane3df getAttributeAsPlane3d(const c8* attributeName) = 0;
599
603
605 virtual void setAttribute(s32 index, core::plane3df v) = 0;
606
607
608 /*
609
610 3d triangle
611
612 */
613
615 virtual void addTriangle3d(const c8* attributeName, core::triangle3df v) = 0;
616
618 virtual void setAttribute(const c8* attributeName, core::triangle3df v) = 0;
619
623 virtual core::triangle3df getAttributeAsTriangle3d(const c8* attributeName) = 0;
624
628
630 virtual void setAttribute(s32 index, core::triangle3df v) = 0;
631
632
633 /*
634
635 line 2d
636
637 */
638
640 virtual void addLine2d(const c8* attributeName, core::line2df v) = 0;
641
643 virtual void setAttribute(const c8* attributeName, core::line2df v) = 0;
644
648 virtual core::line2df getAttributeAsLine2d(const c8* attributeName) = 0;
649
653
655 virtual void setAttribute(s32 index, core::line2df v) = 0;
656
657
658 /*
659
660 line 3d
661
662 */
663
665 virtual void addLine3d(const c8* attributeName, core::line3df v) = 0;
666
668 virtual void setAttribute(const c8* attributeName, core::line3df v) = 0;
669
673 virtual core::line3df getAttributeAsLine3d(const c8* attributeName) = 0;
674
678
680 virtual void setAttribute(s32 index, core::line3df v) = 0;
681
682
683 /*
684
685 Texture Attribute
686
687 */
688
690 virtual void addTexture(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0;
691
693 virtual void setAttribute(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0;
694
697 virtual video::ITexture* getAttributeAsTexture(const c8* attributeName) = 0;
698
702
704 virtual void setAttribute(s32 index, video::ITexture* texture, const io::path& filename = "") = 0;
705
706
707 /*
708
709 User Pointer Attribute
710
711 */
712
714 virtual void addUserPointer(const c8* attributeName, void* userPointer) = 0;
715
717 virtual void setAttribute(const c8* attributeName, void* userPointer) = 0;
718
721 virtual void* getAttributeAsUserPointer(const c8* attributeName) = 0;
722
725 virtual void* getAttributeAsUserPointer(s32 index) = 0;
726
728 virtual void setAttribute(s32 index, void* userPointer) = 0;
729
730};
731
732} // end namespace io
733} // end namespace irr
734
735#endif
736
737
738
Base class of most objects of the Irrlicht Engine.
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
Definition matrix4.h:46
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.h:22
Quaternion class for representing rotations.
Definition quaternion.h:27
Provides a generic interface for attributes and their values and the possiblity to serialize them.
Definition IAttributes.h:42
virtual void addEnum(const c8 *attributeName, s32 enumValue, const c8 *const *enumerationLiterals)=0
Adds an attribute as enum.
virtual void setAttribute(s32 index, bool value)=0
Sets an attribute as boolean value.
virtual core::matrix4 getAttributeAsMatrix(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, s32 value)=0
Sets an attribute as integer value.
virtual void addUserPointer(const c8 *attributeName, void *userPointer)=0
Adds an attribute as user pointner.
virtual core::vector2df getAttributeAsVector2d(const c8 *attributeName)=0
virtual void addString(const c8 *attributeName, const c8 *value)=0
Adds an attribute as string.
virtual void setAttribute(s32 index, const c8 *value)=0
virtual void addTriangle3d(const c8 *attributeName, core::triangle3df v)=0
Adds an attribute as 3d triangle.
virtual void setAttribute(const c8 *attributeName, core::line3df v)=0
Sets an attribute as a 3d line.
virtual void setAttribute(s32 index, core::vector2df v)=0
Sets an attribute as 2d vector.
virtual core::position2di getAttributeAsPosition2d(s32 index)=0
virtual core::triangle3df getAttributeAsTriangle3d(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, core::quaternion v)=0
Sets an attribute as quaternion.
virtual video::ITexture * getAttributeAsTexture(const c8 *attributeName)=0
virtual void setAttribute(s32 index, core::position2di v)=0
Sets an attribute as 2d position.
virtual bool getAttributeAsBool(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, core::aabbox3df v)=0
Sets an attribute as axis aligned bounding box.
virtual void setAttribute(const c8 *attributeName, bool value)=0
Sets an attribute as boolean value.
virtual core::plane3df getAttributeAsPlane3d(const c8 *attributeName)=0
virtual core::aabbox3df getAttributeAsBox3d(const c8 *attributeName)=0
virtual void setAttribute(s32 index, void *data, s32 dataSizeInBytes)=0
Sets an attribute as binary data.
virtual void setAttribute(const c8 *attributeName, void *data, s32 dataSizeInBytes)=0
Sets an attribute as binary data.
virtual E_ATTRIBUTE_TYPE getAttributeType(s32 index)=0
virtual void setAttribute(s32 index, core::rect< s32 > v)=0
Sets an attribute as rectangle.
virtual void addColorf(const c8 *attributeName, video::SColorf value)=0
Adds an attribute as floating point color.
virtual void setAttribute(s32 index, video::ITexture *texture, const io::path &filename="")=0
Sets an attribute as texture reference.
virtual void addBool(const c8 *attributeName, bool value)=0
Adds an attribute as bool.
virtual video::SColorf getAttributeAsColorf(s32 index)=0
virtual core::array< core::stringw > getAttributeAsArray(s32 index)=0
virtual void setAttribute(const c8 *attributeName, video::SColorf color)=0
Sets a attribute as floating point color.
virtual video::ITexture * getAttributeAsTexture(s32 index)=0
virtual core::aabbox3df getAttributeAsBox3d(s32 index)=0
virtual void addTexture(const c8 *attributeName, video::ITexture *texture, const io::path &filename="")=0
Adds an attribute as texture reference.
virtual void * getAttributeAsUserPointer(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, const c8 *enumValue, const c8 *const *enumerationLiterals)=0
Sets an attribute as enumeration.
virtual core::dimension2d< u32 > getAttributeAsDimension2d(const c8 *attributeName)=0
virtual void setAttribute(s32 index, core::plane3df v)=0
Sets an attribute as 3d plane.
virtual void addVector2d(const c8 *attributeName, core::vector2df value)=0
Adds an attribute as 2d vector.
virtual void setAttribute(const c8 *attributeName, core::vector2df v)=0
Sets a attribute as 2d vector.
virtual void setAttribute(s32 index, core::aabbox3df v)=0
Sets an attribute as axis aligned bounding box.
virtual core::rect< s32 > getAttributeAsRect(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, void *userPointer)=0
Sets an attribute as user pointer.
virtual void addPlane3d(const c8 *attributeName, core::plane3df v)=0
Adds an attribute as 3d plane.
virtual const wchar_t * getAttributeTypeString(s32 index)=0
virtual core::quaternion getAttributeAsQuaternion(const c8 *attributeName)=0
virtual bool write(io::IXMLWriter *writer, bool writeXMLHeader=false, const wchar_t *elementName=0)=0
virtual core::stringw getAttributeAsStringW(s32 index)=0
virtual core::stringc getAttributeAsString(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, const wchar_t *value)=0
virtual void setAttribute(s32 index, const wchar_t *value)=0
virtual void setAttribute(const c8 *attributeName, core::plane3df v)=0
Sets an attribute as 3d plane.
virtual void addDimension2d(const c8 *attributeName, core::dimension2d< u32 > value)=0
Adds an attribute as dimension2d.
virtual s32 getAttributeAsInt(s32 index) const =0
virtual void addBinary(const c8 *attributeName, void *data, s32 dataSizeInBytes)=0
Adds an attribute as binary data.
virtual void addString(const c8 *attributeName, const wchar_t *value)=0
Adds an attribute as string.
virtual video::SColor getAttributeAsColor(const c8 *attributeName)=0
virtual void setAttribute(s32 index, f32 value)=0
Sets an attribute as float value.
virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8 *attributeName, core::array< core::stringc > &outLiterals)=0
virtual const c8 * getAttributeName(s32 index)=0
virtual core::triangle3df getAttributeAsTriangle3d(s32 index)=0
virtual void addMatrix(const c8 *attributeName, const core::matrix4 &v)=0
Adds an attribute as matrix.
virtual s32 getAttributeAsEnumeration(const c8 *attributeName, const c8 *const *enumerationLiteralsToUse)=0
Gets an attribute as enumeration.
virtual u32 getAttributeCount() const =0
Returns amount of attributes in this collection of attributes.
virtual core::vector3df getAttributeAsVector3d(s32 index)=0
virtual void setAttribute(s32 index, core::line2df v)=0
Sets an attribute as a 2d line.
virtual core::vector2df getAttributeAsVector2d(s32 index)=0
virtual void setAttribute(s32 index, video::SColor color)=0
Sets an attribute as color.
virtual core::stringw getAttributeAsStringW(const c8 *attributeName)=0
virtual core::dimension2d< u32 > getAttributeAsDimension2d(s32 index)=0
virtual void getAttributeAsString(const c8 *attributeName, c8 *target)=0
virtual void setAttribute(const c8 *attributeName, video::ITexture *texture, const io::path &filename="")=0
Sets an attribute as texture reference.
virtual void addFloat(const c8 *attributeName, f32 value)=0
Adds an attribute as float.
virtual bool read(io::IXMLReader *reader, bool readCurrentElementOnly=false, const wchar_t *elementName=0)=0
virtual s32 getAttributeAsEnumeration(s32 index, const c8 *const *enumerationLiteralsToUse)=0
Gets an attribute as enumeration.
virtual void setAttribute(s32 index, const c8 *enumValue, const c8 *const *enumerationLiterals)=0
Sets an attribute as enumeration.
virtual void setAttribute(const c8 *attributeName, const core::array< core::stringw > &value)=0
virtual void getAttributeAsStringW(const c8 *attributeName, wchar_t *target)=0
virtual core::stringc getAttributeAsString(s32 index)=0
virtual f32 getAttributeAsFloat(const c8 *attributeName)=0
virtual f32 getAttributeAsFloat(s32 index)=0
virtual void setAttribute(s32 index, video::SColorf color)=0
Sets an attribute as floating point color.
virtual void setAttribute(const c8 *attributeName, const c8 *value)=0
virtual core::line2df getAttributeAsLine2d(s32 index)=0
virtual void setAttribute(s32 index, const core::array< core::stringw > &value)=0
Sets an attribute as an array of wide strings.
virtual void setAttribute(const c8 *attributeName, core::rect< s32 > v)=0
Sets an attribute as rectangle.
virtual const c8 * getAttributeAsEnumeration(s32 index)=0
virtual void setAttribute(s32 index, s32 value)=0
Sets an attribute as integer value.
virtual core::rect< s32 > getAttributeAsRect(s32 index)=0
virtual void setAttribute(s32 index, void *userPointer)=0
Sets an attribute as user pointer.
virtual core::matrix4 getAttributeAsMatrix(s32 index)=0
virtual void clear()=0
Removes all attributes.
virtual void setAttribute(s32 index, core::triangle3df v)=0
Sets an attribute as 3d triangle.
virtual core::line3df getAttributeAsLine3d(s32 index)=0
virtual core::line3df getAttributeAsLine3d(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, f32 value)=0
Sets a attribute as float value.
virtual void addRect(const c8 *attributeName, core::rect< s32 > value)=0
Adds an attribute as rectangle.
virtual void addArray(const c8 *attributeName, const core::array< core::stringw > &value)=0
Adds an attribute as wide string array.
virtual void addLine3d(const c8 *attributeName, core::line3df v)=0
Adds an attribute as a 3d line.
virtual void setAttribute(const c8 *attributeName, core::position2di v)=0
Sets a attribute as 2d position.
virtual s32 findAttribute(const c8 *attributeName) const =0
Returns attribute index from name, -1 if not found.
virtual core::position2di getAttributeAsPosition2d(const c8 *attributeName)=0
virtual void addLine2d(const c8 *attributeName, core::line2df v)=0
Adds an attribute as a 2d line.
virtual void setAttribute(s32 index, core::vector3df v)=0
Sets an attribute as vector.
virtual video::SColorf getAttributeAsColorf(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, core::vector3df v)=0
Sets a attribute as 3d vector.
virtual void addColor(const c8 *attributeName, video::SColor value)=0
Adds an attribute as color.
virtual video::SColor getAttributeAsColor(s32 index)=0
virtual core::vector3df getAttributeAsVector3d(const c8 *attributeName)=0
virtual s32 getAttributeAsInt(const c8 *attributeName) const =0
virtual void setAttribute(s32 index, core::quaternion v)=0
Sets an attribute as quaternion.
virtual core::array< core::stringw > getAttributeAsArray(const c8 *attributeName)=0
virtual core::line2df getAttributeAsLine2d(const c8 *attributeName)=0
virtual bool getAttributeAsBool(s32 index)=0
virtual void getAttributeAsBinaryData(const c8 *attributeName, void *outData, s32 maxSizeInBytes)=0
Gets an attribute as binary data.
virtual void setAttribute(s32 index, core::dimension2d< u32 > v)=0
Sets an attribute as dimension2d.
virtual void setAttribute(s32 index, core::line3df v)=0
Sets an attribute as a 3d line.
virtual void setAttribute(const c8 *attributeName, const core::matrix4 &v)=0
Sets an attribute as matrix.
virtual void setAttribute(const c8 *attributeName, core::triangle3df v)=0
Sets an attribute as 3d trianle.
virtual const wchar_t * getAttributeTypeString(const c8 *attributeName)=0
virtual void addBox3d(const c8 *attributeName, core::aabbox3df v)=0
Adds an attribute as axis aligned bounding box.
virtual void getAttributeAsBinaryData(s32 index, void *outData, s32 maxSizeInBytes)=0
Gets an attribute as binary data.
virtual core::plane3df getAttributeAsPlane3d(s32 index)=0
virtual void setAttribute(s32 index, const core::matrix4 &v)=0
Sets an attribute as matrix.
virtual bool existsAttribute(const c8 *attributeName)=0
Returns if an attribute with a name exists.
virtual void getAttributeEnumerationLiteralsOfEnumeration(s32 index, core::array< core::stringc > &outLiterals)=0
virtual void addPosition2d(const c8 *attributeName, core::position2di value)=0
Adds an attribute as 2d position.
virtual const c8 * getAttributeAsEnumeration(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, core::dimension2d< u32 > v)=0
Sets an attribute as dimension2d.
virtual void setAttribute(const c8 *attributeName, core::line2df v)=0
Sets an attribute as a 2d line.
virtual void addVector3d(const c8 *attributeName, core::vector3df value)=0
Adds an attribute as 3d vector.
virtual core::quaternion getAttributeAsQuaternion(s32 index)=0
virtual void addEnum(const c8 *attributeName, const c8 *enumValue, const c8 *const *enumerationLiterals)=0
Adds an attribute as enum.
virtual E_ATTRIBUTE_TYPE getAttributeType(const c8 *attributeName)=0
virtual void addQuaternion(const c8 *attributeName, core::quaternion v)=0
Adds an attribute as quaternion.
virtual void addInt(const c8 *attributeName, s32 value)=0
Adds an attribute as integer.
virtual void * getAttributeAsUserPointer(s32 index)=0
virtual void setAttribute(const c8 *attributeName, video::SColor color)=0
Sets a attribute as color.
Interface providing easy read access to a XML file.
Definition irrXML.h:276
Interface providing methods for making it easier to write XML files.
Definition IXMLWriter.h:21
Interface of a Video Driver dependent Texture.
Definition ITexture.h:99
Class representing a 32 bit ARGB color.
Definition SColor.h:202
Class representing a color with four floats.
Definition SColor.h:459
E_ATTRIBUTE_TYPE
Types of attributes available for IAttributes.
Definition EAttributes.h:15
Everything in the Irrlicht Engine can be found in this namespace.
Definition aabbox3d.h:13
float f32
32 bit floating point variable.
Definition irrTypes.h:104
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
char c8
8 bit character variable.
Definition irrTypes.h:31
signed int s32
32 bit signed variable.
Definition irrTypes.h:66