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
IReferenceCounted()
Constructor.
Self reallocating template array (like stl vector) with additional features.
Definition irrArray.h:23
Specifies a 2 dimensional size.
Definition dimension2d.h:21
Quaternion class for representing rotations.
Definition quaternion.h:27
Rectangle template.
Definition rect.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 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
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
Definition vector3d.h:445
triangle3d< f32 > triangle3df
Typedef for a f32 3d triangle.
Definition triangle3d.h:270
line2d< f32 > line2df
Typedef for an f32 line.
Definition line2d.h:267
vector2d< f32 > vector2df
Typedef for f32 2d vector.
Definition vector2d.h:323
vector2d< s32 > position2di
Definition position2d.h:24
line3d< f32 > line3df
Typedef for an f32 line.
Definition line3d.h:136
CMatrix4< f32 > matrix4
Typedef for f32 matrix.
Definition matrix4.h:2235
string< c8 > stringc
Typedef for character strings.
Definition irrString.h:1358
aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.
Definition aabbox3d.h:324
plane3d< f32 > plane3df
Typedef for a f32 3d plane.
Definition plane3d.h:236
string< wchar_t > stringw
Typedef for wide character strings.
Definition irrString.h:1361
This namespace provides interfaces for input/output: Reading and writing files, accessing zip archive...
Definition EAttributes.h:11
E_ATTRIBUTE_TYPE
Types of attributes available for IAttributes.
Definition EAttributes.h:15
IIrrXMLReader< wchar_t, IReferenceCounted > IXMLReader
An xml reader for wide characters, derived from IReferenceCounted.
Definition IXMLReader.h:19
core::string< fschar_t > path
Type used for all file system related strings.
Definition path.h:17
The video namespace contains classes for accessing the video driver. All 2d and 3d rendering is done ...
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