Skylicht Engine
Loading...
Searching...
No Matches
IAttributes.h
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
63 virtual const wchar_t* getAttributeTypeString(const c8* attributeName, const wchar_t* defaultNotFound = L"unknown") = 0;
64
68 virtual const wchar_t* getAttributeTypeString(s32 index, const wchar_t* defaultNotFound = L"unknown") = 0;
69
71 virtual bool existsAttribute(const c8* attributeName) = 0;
72
74 virtual s32 findAttribute(const c8* attributeName) const =0;
75
77 virtual void clear() = 0;
78
85 virtual bool read(io::IXMLReader* reader, bool readCurrentElementOnly=false, const wchar_t* elementName=0) = 0;
86
91 virtual bool write(io::IXMLWriter* writer, bool writeXMLHeader=false, const wchar_t* elementName=0) = 0;
92
93
94 /*
95
96 Integer Attribute
97
98 */
99
101 virtual void addInt(const c8* attributeName, s32 value) = 0;
102 virtual void addUInt(const c8* attributeName, u32 value) = 0;
103
105 virtual void setAttribute(const c8* attributeName, s32 value) = 0;
106 virtual void setAttribute(const c8* attributeName, u32 value) = 0;
107
112 virtual s32 getAttributeAsInt(const c8* attributeName, irr::s32 defaultNotFound=0) const =0;
113 virtual u32 getAttributeAsUInt(const c8* attributeName, irr::u32 defaultNotFound = 0) const = 0;
114
117 virtual s32 getAttributeAsInt(s32 index) const =0;
118 virtual u32 getAttributeAsUInt(s32 index) const = 0;
119
121 virtual void setAttribute(s32 index, s32 value) = 0;
122
123 /*
124
125 Float Attribute
126
127 */
128
130 virtual void addFloat(const c8* attributeName, f32 value) = 0;
131
133 virtual void setAttribute(const c8* attributeName, f32 value) = 0;
134
139 virtual f32 getAttributeAsFloat(const c8* attributeName, irr::f32 defaultNotFound=0.f) = 0;
140
143 virtual f32 getAttributeAsFloat(s32 index) = 0;
144
146 virtual void setAttribute(s32 index, f32 value) = 0;
147
148 /*
149
150 Double Attribute
151
152 */
153
155 virtual void addDouble(const c8* attributeName, f64 value) = 0;
156
158 virtual void setAttribute(const c8* attributeName, f64 value) = 0;
159
164 virtual f64 getAttributeAsDouble(const c8* attributeName, irr::f64 defaultNotFound = 0.0) = 0;
165
168 virtual f64 getAttributeAsDouble(s32 index) = 0;
169
171 virtual void setAttribute(s32 index, f64 value) = 0;
172
173 /*
174
175 String Attribute
176
177 */
178
180 virtual void addString(const c8* attributeName, const c8* value) = 0;
181
185 virtual void setAttribute(const c8* attributeName, const c8* value) = 0;
186
192 virtual core::stringc getAttributeAsString(const c8* attributeName, const core::stringc& defaultNotFound=core::stringc()) = 0;
193
197 virtual void getAttributeAsString(const c8* attributeName, c8* target) = 0;
198
202
206 virtual void setAttribute(s32 index, const c8* value) = 0;
207
208 // wide strings
209
211 virtual void addString(const c8* attributeName, const wchar_t* value) = 0;
212
216 virtual void setAttribute(const c8* attributeName, const wchar_t* value) = 0;
217
223 virtual core::stringw getAttributeAsStringW(const c8* attributeName, const core::stringw& defaultNotFound = core::stringw()) = 0;
224
228 virtual void getAttributeAsStringW(const c8* attributeName, wchar_t* target) = 0;
229
233
237 virtual void setAttribute(s32 index, const wchar_t* value) = 0;
238
239 /*
240
241 Binary Data Attribute
242
243 */
244
246 virtual void addBinary(const c8* attributeName, void* data, s32 dataSizeInBytes) = 0;
247
249 virtual void setAttribute(const c8* attributeName, void* data, s32 dataSizeInBytes ) = 0;
250
252
256 virtual void getAttributeAsBinaryData(const c8* attributeName, void* outData, s32 maxSizeInBytes) = 0;
257
259
263 virtual void getAttributeAsBinaryData(s32 index, void* outData, s32 maxSizeInBytes) = 0;
264
266 virtual void setAttribute(s32 index, void* data, s32 dataSizeInBytes ) = 0;
267
268
269 /*
270 Array Attribute
271 */
272
274 virtual void addArray(const c8* attributeName, const core::array<core::stringw>& value) = 0;
275
279 virtual void setAttribute(const c8* attributeName, const core::array<core::stringw>& value) = 0;
280
287
291
293 virtual void setAttribute(s32 index, const core::array<core::stringw>& value) = 0;
294
295
296 /*
297
298 Bool Attribute
299
300 */
301
303 virtual void addBool(const c8* attributeName, bool value) = 0;
304
306 virtual void setAttribute(const c8* attributeName, bool value) = 0;
307
312 virtual bool getAttributeAsBool(const c8* attributeName, bool defaultNotFound=false) = 0;
313
316 virtual bool getAttributeAsBool(s32 index) = 0;
317
319 virtual void setAttribute(s32 index, bool value) = 0;
320
321 /*
322
323 Enumeration Attribute
324
325 */
326
328 virtual void addEnum(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
329
331 virtual void addEnum(const c8* attributeName, s32 enumValue, const c8* const* enumerationLiterals) = 0;
332
334 virtual void setAttribute(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
335
340 virtual const c8* getAttributeAsEnumeration(const c8* attributeName, const c8* defaultNotFound = 0) = 0;
341
343
350 virtual s32 getAttributeAsEnumeration(const c8* attributeName, const c8* const* enumerationLiteralsToUse) = 0;
351
353
360 virtual s32 getAttributeAsEnumeration(s32 index, const c8* const* enumerationLiteralsToUse) = 0;
361
364 virtual const c8* getAttributeAsEnumeration(s32 index) = 0;
365
369 virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8* attributeName, core::array<core::stringc>& outLiterals) = 0;
370
375
377 virtual void setAttribute(s32 index, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
378
379
380 /*
381
382 SColor Attribute
383
384 */
385
387 virtual void addColor(const c8* attributeName, video::SColor value) = 0;
388
389
391 virtual void setAttribute(const c8* attributeName, video::SColor color) = 0;
392
397 virtual video::SColor getAttributeAsColor(const c8* attributeName, const video::SColor& defaultNotFound = video::SColor(0)) = 0;
398
402
404 virtual void setAttribute(s32 index, video::SColor color) = 0;
405
406 /*
407
408 SColorf Attribute
409
410 */
411
413 virtual void addColorf(const c8* attributeName, video::SColorf value) = 0;
414
416 virtual void setAttribute(const c8* attributeName, video::SColorf color) = 0;
417
422 virtual video::SColorf getAttributeAsColorf(const c8* attributeName, const video::SColorf& defaultNotFound = video::SColorf(0)) = 0;
423
427
429 virtual void setAttribute(s32 index, video::SColorf color) = 0;
430
431
432 /*
433
434 Vector3d Attribute
435
436 */
437
439 virtual void addVector3d(const c8* attributeName, const core::vector3df& value) = 0;
440
442 virtual void setAttribute(const c8* attributeName, const core::vector3df& v) = 0;
443
448 virtual core::vector3df getAttributeAsVector3d(const c8* attributeName, const core::vector3df& defaultNotFound=core::vector3df(0,0,0)) = 0;
449
453
455 virtual void setAttribute(s32 index, const core::vector3df& v) = 0;
456
457 /*
458
459 Vector2d Attribute
460
461 */
462
464 virtual void addVector2d(const c8* attributeName, const core::vector2df& value) = 0;
465
467 virtual void setAttribute(const c8* attributeName, const core::vector2df& v) = 0;
468
473 virtual core::vector2df getAttributeAsVector2d(const c8* attributeName, const core::vector2df& defaultNotFound=core::vector2df(0,0)) = 0;
474
478
480 virtual void setAttribute(s32 index, const core::vector2df& v) = 0;
481
482 /*
483
484 Position2d Attribute
485
486 */
487
489 virtual void addPosition2d(const c8* attributeName, const core::position2di& value) = 0;
490
492 virtual void setAttribute(const c8* attributeName, const core::position2di& v) = 0;
493
498 virtual core::position2di getAttributeAsPosition2d(const c8* attributeName, const core::position2di& defaultNotFound=core::position2di(0,0)) = 0;
499
503
505 virtual void setAttribute(s32 index, const core::position2di& v) = 0;
506
507 /*
508
509 Rectangle Attribute
510
511 */
512
514 virtual void addRect(const c8* attributeName, const core::rect<s32>& value) = 0;
515
517 virtual void setAttribute(const c8* attributeName, const core::rect<s32>& v) = 0;
518
523 virtual core::rect<s32> getAttributeAsRect(const c8* attributeName, const core::rect<s32>& defaultNotFound = core::rect<s32>()) = 0;
524
528
530 virtual void setAttribute(s32 index, const core::rect<s32>& v) = 0;
531
532
533 /*
534
535 Dimension2d Attribute
536
537 */
538
540 virtual void addDimension2d(const c8* attributeName, const core::dimension2d<u32>& value) = 0;
541
543 virtual void setAttribute(const c8* attributeName, const core::dimension2d<u32>& v) = 0;
544
549 virtual core::dimension2d<u32> getAttributeAsDimension2d(const c8* attributeName, const core::dimension2d<u32>& defaultNotFound = core::dimension2d<u32>()) = 0;
550
554
556 virtual void setAttribute(s32 index, const core::dimension2d<u32>& v) = 0;
557
558
559 /*
560 matrix attribute
561 */
562
564 virtual void addMatrix(const c8* attributeName, const core::matrix4& v) = 0;
565
567 virtual void setAttribute(const c8* attributeName, const core::matrix4& v) = 0;
568
573 virtual core::matrix4 getAttributeAsMatrix(const c8* attributeName, const core::matrix4& defaultNotFound=core::matrix4()) = 0;
574
578
580 virtual void setAttribute(s32 index, const core::matrix4& v) = 0;
581
582 /*
583 quaternion attribute
584
585 */
586
588 virtual void addQuaternion(const c8* attributeName, const core::quaternion& v) = 0;
589
591 virtual void setAttribute(const c8* attributeName, const core::quaternion& v) = 0;
592
597 virtual core::quaternion getAttributeAsQuaternion(const c8* attributeName, const core::quaternion& defaultNotFound=core::quaternion(0,1,0, 0)) = 0;
598
602
604 virtual void setAttribute(s32 index, const core::quaternion& v) = 0;
605
606 /*
607
608 3d bounding box
609
610 */
611
613 virtual void addBox3d(const c8* attributeName, const core::aabbox3df& v) = 0;
614
616 virtual void setAttribute(const c8* attributeName, const core::aabbox3df& v) = 0;
617
622 virtual core::aabbox3df getAttributeAsBox3d(const c8* attributeName, const core::aabbox3df& defaultNotFound=core::aabbox3df(0,0,0, 0,0,0)) = 0;
623
627
629 virtual void setAttribute(s32 index, const core::aabbox3df& v) = 0;
630
631 /*
632
633 plane
634
635 */
636
638 virtual void addPlane3d(const c8* attributeName, const core::plane3df& v) = 0;
639
641 virtual void setAttribute(const c8* attributeName, const core::plane3df& v) = 0;
642
647 virtual core::plane3df getAttributeAsPlane3d(const c8* attributeName, const core::plane3df& defaultNotFound=core::plane3df(0,0,0, 0,1,0)) = 0;
648
652
654 virtual void setAttribute(s32 index, const core::plane3df& v) = 0;
655
656
657 /*
658
659 3d triangle
660
661 */
662
664 virtual void addTriangle3d(const c8* attributeName, const core::triangle3df& v) = 0;
665
667 virtual void setAttribute(const c8* attributeName, const core::triangle3df& v) = 0;
668
673 virtual core::triangle3df getAttributeAsTriangle3d(const c8* attributeName, const core::triangle3df& defaultNotFound = core::triangle3df(core::vector3df(0,0,0), core::vector3df(0,0,0), core::vector3df(0,0,0))) = 0;
674
678
680 virtual void setAttribute(s32 index, const core::triangle3df& v) = 0;
681
682
683 /*
684
685 line 2d
686
687 */
688
690 virtual void addLine2d(const c8* attributeName, const core::line2df& v) = 0;
691
693 virtual void setAttribute(const c8* attributeName, const core::line2df& v) = 0;
694
699 virtual core::line2df getAttributeAsLine2d(const c8* attributeName, const core::line2df& defaultNotFound = core::line2df(0,0, 0,0)) = 0;
700
704
706 virtual void setAttribute(s32 index, const core::line2df& v) = 0;
707
708
709 /*
710
711 line 3d
712
713 */
714
716 virtual void addLine3d(const c8* attributeName, const core::line3df& v) = 0;
717
719 virtual void setAttribute(const c8* attributeName, const core::line3df& v) = 0;
720
725 virtual core::line3df getAttributeAsLine3d(const c8* attributeName, const core::line3df& defaultNotFound=core::line3df(0,0,0, 0,0,0)) = 0;
726
730
732 virtual void setAttribute(s32 index, const core::line3df& v) = 0;
733
734
735 /*
736
737 Texture Attribute
738
739 */
740
742 virtual void addTexture(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0;
743
745 virtual void setAttribute(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0;
746
750 virtual video::ITexture* getAttributeAsTexture(const c8* attributeName, video::ITexture* defaultNotFound=0) = 0;
751
755
757 virtual void setAttribute(s32 index, video::ITexture* texture, const io::path& filename = "") = 0;
758
759
760 /*
761
762 User Pointer Attribute
763
764 */
765
767 virtual void addUserPointer(const c8* attributeName, void* userPointer) = 0;
768
770 virtual void setAttribute(const c8* attributeName, void* userPointer) = 0;
771
775 virtual void* getAttributeAsUserPointer(const c8* attributeName, void* defaultNotFound = 0) = 0;
776
779 virtual void* getAttributeAsUserPointer(s32 index) = 0;
780
782 virtual void setAttribute(s32 index, void* userPointer) = 0;
783
784};
785
786} // end namespace io
787} // end namespace irr
788
789#endif
790
791
792
IReferenceCounted()
Constructor.
Definition IReferenceCounted.h:50
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::vector2df getAttributeAsVector2d(const c8 *attributeName, const core::vector2df &defaultNotFound=core::vector2df(0, 0))=0
virtual void setAttribute(const c8 *attributeName, s32 value)=0
Sets an attribute as integer value.
virtual void setAttribute(const c8 *attributeName, const core::plane3df &v)=0
Sets an attribute as 3d plane.
virtual void addUserPointer(const c8 *attributeName, void *userPointer)=0
Adds an attribute as user pointner.
virtual void setAttribute(const c8 *attributeName, const core::line2df &v)=0
Sets an attribute as a 2d line.
virtual void addString(const c8 *attributeName, const c8 *value)=0
Adds an attribute as string.
virtual s32 getAttributeAsInt(const c8 *attributeName, irr::s32 defaultNotFound=0) const =0
virtual void setAttribute(s32 index, const core::aabbox3df &v)=0
Sets an attribute as axis aligned bounding box.
virtual void setAttribute(s32 index, const c8 *value)=0
virtual void addRect(const c8 *attributeName, const core::rect< s32 > &value)=0
Adds an attribute as rectangle.
virtual core::position2di getAttributeAsPosition2d(s32 index)=0
virtual void setAttribute(s32 index, const core::vector2df &v)=0
Sets an attribute as 2d vector.
virtual void setAttribute(const c8 *attributeName, bool value)=0
Sets an attribute as boolean value.
virtual void setAttribute(const c8 *attributeName, const core::aabbox3df &v)=0
Sets an attribute as axis aligned bounding box.
virtual void addLine2d(const c8 *attributeName, const core::line2df &v)=0
Adds an attribute as a 2d line.
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 core::vector3df getAttributeAsVector3d(const c8 *attributeName, const core::vector3df &defaultNotFound=core::vector3df(0, 0, 0))=0
virtual E_ATTRIBUTE_TYPE getAttributeType(s32 index)=0
virtual core::line3df getAttributeAsLine3d(const c8 *attributeName, const core::line3df &defaultNotFound=core::line3df(0, 0, 0, 0, 0, 0))=0
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 void setAttribute(s32 index, const core::quaternion &v)=0
Sets an attribute as quaternion.
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 void setAttribute(s32 index, const core::position2di &v)=0
Sets an attribute as 2d position.
virtual video::ITexture * getAttributeAsTexture(s32 index)=0
virtual void setAttribute(const c8 *attributeName, const core::vector3df &v)=0
Sets a attribute as 3d vector.
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 addPlane3d(const c8 *attributeName, const core::plane3df &v)=0
Adds an attribute as 3d plane.
virtual void setAttribute(s32 index, const core::plane3df &v)=0
Sets an attribute as 3d plane.
virtual void setAttribute(const c8 *attributeName, const core::vector2df &v)=0
Sets a attribute as 2d vector.
virtual void setAttribute(s32 index, const core::dimension2d< u32 > &v)=0
Sets an attribute as dimension2d.
virtual core::quaternion getAttributeAsQuaternion(const c8 *attributeName, const core::quaternion &defaultNotFound=core::quaternion(0, 1, 0, 0))=0
virtual void addLine3d(const c8 *attributeName, const core::line3df &v)=0
Adds an attribute as a 3d line.
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, const core::dimension2d< u32 > &defaultNotFound=core::dimension2d< u32 >())=0
virtual void setAttribute(s32 index, const core::vector3df &v)=0
Sets an attribute as vector.
virtual const wchar_t * getAttributeTypeString(s32 index, const wchar_t *defaultNotFound=L"unknown")=0
virtual void addBox3d(const c8 *attributeName, const core::aabbox3df &v)=0
Adds an attribute as axis aligned bounding box.
virtual void setAttribute(const c8 *attributeName, const core::quaternion &v)=0
Sets an attribute as quaternion.
virtual void addDouble(const c8 *attributeName, f64 value)=0
Adds an attribute as double.
virtual void setAttribute(const c8 *attributeName, void *userPointer)=0
Sets an attribute as user pointer.
virtual bool write(io::IXMLWriter *writer, bool writeXMLHeader=false, const wchar_t *elementName=0)=0
virtual void addVector3d(const c8 *attributeName, const core::vector3df &value)=0
Adds an attribute as 3d vector.
virtual void setAttribute(s32 index, const core::line3df &v)=0
Sets an attribute as a 3d line.
virtual core::stringw getAttributeAsStringW(s32 index)=0
virtual core::stringc getAttributeAsString(const c8 *attributeName, const core::stringc &defaultNotFound=core::stringc())=0
virtual void setAttribute(const c8 *attributeName, const wchar_t *value)=0
virtual void setAttribute(s32 index, const core::triangle3df &v)=0
Sets an attribute as 3d triangle.
virtual void setAttribute(s32 index, const wchar_t *value)=0
virtual void setAttribute(s32 index, const core::rect< s32 > &v)=0
Sets an attribute as rectangle.
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 void addPosition2d(const c8 *attributeName, const core::position2di &value)=0
Adds an attribute as 2d position.
virtual void setAttribute(s32 index, f32 value)=0
Sets an attribute as float value.
virtual void addTriangle3d(const c8 *attributeName, const core::triangle3df &v)=0
Adds an attribute as 3d triangle.
virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8 *attributeName, core::array< core::stringc > &outLiterals)=0
virtual const c8 * getAttributeName(s32 index)=0
virtual void addQuaternion(const c8 *attributeName, const core::quaternion &v)=0
Adds an attribute as quaternion.
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::position2di getAttributeAsPosition2d(const c8 *attributeName, const core::position2di &defaultNotFound=core::position2di(0, 0))=0
virtual core::vector3df getAttributeAsVector3d(s32 index)=0
virtual core::vector2df getAttributeAsVector2d(s32 index)=0
virtual void setAttribute(s32 index, video::SColor color)=0
Sets an attribute as color.
virtual f64 getAttributeAsDouble(s32 index)=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 f64 getAttributeAsDouble(const c8 *attributeName, irr::f64 defaultNotFound=0.0)=0
virtual core::rect< s32 > getAttributeAsRect(const c8 *attributeName, const core::rect< s32 > &defaultNotFound=core::rect< s32 >())=0
virtual void setAttribute(const c8 *attributeName, const core::array< core::stringw > &value)=0
virtual void setAttribute(const c8 *attributeName, const core::triangle3df &v)=0
Sets an attribute as 3d trianle.
virtual void getAttributeAsStringW(const c8 *attributeName, wchar_t *target)=0
virtual core::stringc getAttributeAsString(s32 index)=0
virtual core::line2df getAttributeAsLine2d(const c8 *attributeName, const core::line2df &defaultNotFound=core::line2df(0, 0, 0, 0))=0
virtual void setAttribute(s32 index, f64 value)=0
Sets an attribute as float value.
virtual video::SColor getAttributeAsColor(const c8 *attributeName, const video::SColor &defaultNotFound=video::SColor(0))=0
virtual f32 getAttributeAsFloat(s32 index)=0
virtual void setAttribute(s32 index, video::SColorf color)=0
Sets an attribute as floating point color.
virtual video::ITexture * getAttributeAsTexture(const c8 *attributeName, video::ITexture *defaultNotFound=0)=0
virtual void setAttribute(const c8 *attributeName, const c8 *value)=0
virtual core::line2df getAttributeAsLine2d(s32 index)=0
virtual void setAttribute(const c8 *attributeName, f64 value)=0
Sets a attribute as double value.
virtual void setAttribute(s32 index, const core::array< core::stringw > &value)=0
Sets an attribute as an array of wide strings.
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 core::plane3df getAttributeAsPlane3d(const c8 *attributeName, const core::plane3df &defaultNotFound=core::plane3df(0, 0, 0, 0, 1, 0))=0
virtual void clear()=0
Removes all attributes.
virtual core::line3df getAttributeAsLine3d(s32 index)=0
virtual void setAttribute(const c8 *attributeName, f32 value)=0
Sets a attribute as float value.
virtual void setAttribute(const c8 *attributeName, const core::position2di &v)=0
Sets a attribute as 2d position.
virtual core::array< core::stringw > getAttributeAsArray(const c8 *attributeName, const core::array< core::stringw > &defaultNotFound=core::array< core::stringw >())=0
virtual core::stringw getAttributeAsStringW(const c8 *attributeName, const core::stringw &defaultNotFound=core::stringw())=0
virtual void addDimension2d(const c8 *attributeName, const core::dimension2d< u32 > &value)=0
Adds an attribute as dimension2d.
virtual void addArray(const c8 *attributeName, const core::array< core::stringw > &value)=0
Adds an attribute as wide string array.
virtual s32 findAttribute(const c8 *attributeName) const =0
Returns attribute index from name, -1 if not found.
virtual core::aabbox3df getAttributeAsBox3d(const c8 *attributeName, const core::aabbox3df &defaultNotFound=core::aabbox3df(0, 0, 0, 0, 0, 0))=0
virtual void setAttribute(s32 index, const core::line2df &v)=0
Sets an attribute as a 2d line.
virtual void addColor(const c8 *attributeName, video::SColor value)=0
Adds an attribute as color.
virtual video::SColorf getAttributeAsColorf(const c8 *attributeName, const video::SColorf &defaultNotFound=video::SColorf(0))=0
virtual video::SColor getAttributeAsColor(s32 index)=0
virtual bool getAttributeAsBool(s32 index)=0
virtual bool getAttributeAsBool(const c8 *attributeName, bool defaultNotFound=false)=0
virtual void getAttributeAsBinaryData(const c8 *attributeName, void *outData, s32 maxSizeInBytes)=0
Gets an attribute as binary data.
virtual core::triangle3df getAttributeAsTriangle3d(const c8 *attributeName, const core::triangle3df &defaultNotFound=core::triangle3df(core::vector3df(0, 0, 0), core::vector3df(0, 0, 0), core::vector3df(0, 0, 0)))=0
virtual void setAttribute(const c8 *attributeName, const core::dimension2d< u32 > &v)=0
Sets an attribute as dimension2d.
virtual void setAttribute(const c8 *attributeName, const core::matrix4 &v)=0
Sets an attribute as matrix.
virtual const c8 * getAttributeAsEnumeration(const c8 *attributeName, const c8 *defaultNotFound=0)=0
virtual void getAttributeAsBinaryData(s32 index, void *outData, s32 maxSizeInBytes)=0
Gets an attribute as binary data.
virtual core::plane3df getAttributeAsPlane3d(s32 index)=0
virtual f32 getAttributeAsFloat(const c8 *attributeName, irr::f32 defaultNotFound=0.f)=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 setAttribute(const c8 *attributeName, const core::rect< s32 > &v)=0
Sets an attribute as rectangle.
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 setAttribute(const c8 *attributeName, const core::line3df &v)=0
Sets an attribute as a 3d line.
virtual const wchar_t * getAttributeTypeString(const c8 *attributeName, const wchar_t *defaultNotFound=L"unknown")=0
virtual void addVector2d(const c8 *attributeName, const core::vector2df &value)=0
Adds an attribute as 2d vector.
virtual void * getAttributeAsUserPointer(const c8 *attributeName, void *defaultNotFound=0)=0
virtual core::matrix4 getAttributeAsMatrix(const c8 *attributeName, const core::matrix4 &defaultNotFound=core::matrix4())=0
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:119
Class representing a 32 bit ARGB color.
Definition SColor.h:285
Class representing a color with four floats.
Definition SColor.h:542
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:335
line2d< f32 > line2df
Typedef for an f32 line.
Definition line2d.h:266
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:2241
string< c8 > stringc
Typedef for character strings.
Definition irrString.h:1373
aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.
Definition aabbox3d.h:351
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:1376
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 ...
Definition EDriverFeatures.h:11
Everything in the Irrlicht Engine can be found in this namespace.
Definition Skylicht.h:33
float f32
32 bit floating point variable.
Definition irrTypes.h:104
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.h:58
double f64
64 bit floating point variable.
Definition irrTypes.h:108
char c8
8 bit character variable.
Definition irrTypes.h:31
signed int s32
32 bit signed variable.
Definition irrTypes.h:66