arsa  2.7
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 "IXMLWriter.h"
28 #include "EAttributes.h"
29 #include "path.h"
30 
31 namespace irr
32 {
33 namespace video
34 {
35  class ITexture;
36 } // end namespace video
37 namespace io
38 {
39 
41 class IAttributes : public virtual IReferenceCounted
42 {
43 public:
44 
46  virtual u32 getAttributeCount() const = 0;
47 
50  virtual const c8* getAttributeName(s32 index) const = 0;
51 
54  virtual E_ATTRIBUTE_TYPE getAttributeType(const c8* attributeName) const = 0;
55 
58  virtual E_ATTRIBUTE_TYPE getAttributeType(s32 index) const = 0;
59 
63  virtual const wchar_t* getAttributeTypeString(const c8* attributeName, const wchar_t* defaultNotFound = L"unknown") const = 0;
64 
68  virtual const wchar_t* getAttributeTypeString(s32 index, const wchar_t* defaultNotFound = L"unknown") const = 0;
69 
71  virtual bool existsAttribute(const c8* attributeName) const = 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 
104  virtual void setAttribute(const c8* attributeName, s32 value) = 0;
105 
110  virtual s32 getAttributeAsInt(const c8* attributeName, irr::s32 defaultNotFound=0) const = 0;
111 
114  virtual s32 getAttributeAsInt(s32 index) const = 0;
115 
117  virtual void setAttribute(s32 index, s32 value) = 0;
118 
119  /*
120 
121  Float Attribute
122 
123  */
124 
126  virtual void addFloat(const c8* attributeName, f32 value) = 0;
127 
129  virtual void setAttribute(const c8* attributeName, f32 value) = 0;
130 
135  virtual f32 getAttributeAsFloat(const c8* attributeName, irr::f32 defaultNotFound=0.f) const = 0;
136 
139  virtual f32 getAttributeAsFloat(s32 index) const = 0;
140 
142  virtual void setAttribute(s32 index, f32 value) = 0;
143 
144  /*
145 
146  String Attribute
147 
148  */
149 
151  virtual void addString(const c8* attributeName, const c8* value) = 0;
152 
156  virtual void setAttribute(const c8* attributeName, const c8* value) = 0;
157 
163  virtual core::stringc getAttributeAsString(const c8* attributeName, const core::stringc& defaultNotFound=core::stringc()) const = 0;
164 
168  virtual void getAttributeAsString(const c8* attributeName, c8* target) const = 0;
169 
172  virtual core::stringc getAttributeAsString(s32 index) const = 0;
173 
177  virtual void setAttribute(s32 index, const c8* value) = 0;
178 
179  // wide strings
180 
182  virtual void addString(const c8* attributeName, const wchar_t* value) = 0;
183 
187  virtual void setAttribute(const c8* attributeName, const wchar_t* value) = 0;
188 
194  virtual core::stringw getAttributeAsStringW(const c8* attributeName, const core::stringw& defaultNotFound = core::stringw()) const = 0;
195 
199  virtual void getAttributeAsStringW(const c8* attributeName, wchar_t* target) const = 0;
200 
203  virtual core::stringw getAttributeAsStringW(s32 index) const = 0;
204 
208  virtual void setAttribute(s32 index, const wchar_t* value) = 0;
209 
210  /*
211 
212  Binary Data Attribute
213 
214  */
215 
217  virtual void addBinary(const c8* attributeName, void* data, s32 dataSizeInBytes) = 0;
218 
220  virtual void setAttribute(const c8* attributeName, void* data, s32 dataSizeInBytes ) = 0;
221 
223 
227  virtual void getAttributeAsBinaryData(const c8* attributeName, void* outData, s32 maxSizeInBytes) const = 0;
228 
230 
234  virtual void getAttributeAsBinaryData(s32 index, void* outData, s32 maxSizeInBytes) const = 0;
235 
237  virtual void setAttribute(s32 index, void* data, s32 dataSizeInBytes ) = 0;
238 
239 
240  /*
241  Array Attribute
242  */
243 
245  virtual void addArray(const c8* attributeName, const core::array<core::stringw>& value) = 0;
246 
250  virtual void setAttribute(const c8* attributeName, const core::array<core::stringw>& value) = 0;
251 
257  virtual core::array<core::stringw> getAttributeAsArray(const c8* attributeName, const core::array<core::stringw>& defaultNotFound = core::array<core::stringw>()) const = 0;
258 
262 
264  virtual void setAttribute(s32 index, const core::array<core::stringw>& value) = 0;
265 
266 
267  /*
268 
269  Bool Attribute
270 
271  */
272 
274  virtual void addBool(const c8* attributeName, bool value) = 0;
275 
277  virtual void setAttribute(const c8* attributeName, bool value) = 0;
278 
283  virtual bool getAttributeAsBool(const c8* attributeName, bool defaultNotFound=false) const = 0;
284 
287  virtual bool getAttributeAsBool(s32 index) const = 0;
288 
290  virtual void setAttribute(s32 index, bool value) = 0;
291 
292  /*
293 
294  Enumeration Attribute
295 
296  */
297 
299  virtual void addEnum(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
300 
302  virtual void addEnum(const c8* attributeName, s32 enumValue, const c8* const* enumerationLiterals) = 0;
303 
305  virtual void setAttribute(const c8* attributeName, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
306 
311  virtual const c8* getAttributeAsEnumeration(const c8* attributeName, const c8* defaultNotFound = 0) const = 0;
312 
314 
321  virtual s32 getAttributeAsEnumeration(const c8* attributeName, const c8* const* enumerationLiteralsToUse, s32 defaultNotFound = -1) const = 0;
322 
324 
332  virtual s32 getAttributeAsEnumeration(s32 index, const c8* const* enumerationLiteralsToUse, s32 defaultNotFound = -1) const = 0;
333 
336  virtual const c8* getAttributeAsEnumeration(s32 index) const = 0;
337 
341  virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8* attributeName, core::array<core::stringc>& outLiterals) const = 0;
342 
347 
349  virtual void setAttribute(s32 index, const c8* enumValue, const c8* const* enumerationLiterals) = 0;
350 
351 
352  /*
353 
354  SColor Attribute
355 
356  */
357 
359  virtual void addColor(const c8* attributeName, video::SColor value) = 0;
360 
361 
363  virtual void setAttribute(const c8* attributeName, video::SColor color) = 0;
364 
369  virtual video::SColor getAttributeAsColor(const c8* attributeName, const video::SColor& defaultNotFound = video::SColor(0)) const = 0;
370 
373  virtual video::SColor getAttributeAsColor(s32 index) const = 0;
374 
376  virtual void setAttribute(s32 index, video::SColor color) = 0;
377 
378  /*
379 
380  SColorf Attribute
381 
382  */
383 
385  virtual void addColorf(const c8* attributeName, video::SColorf value) = 0;
386 
388  virtual void setAttribute(const c8* attributeName, video::SColorf color) = 0;
389 
394  virtual video::SColorf getAttributeAsColorf(const c8* attributeName, const video::SColorf& defaultNotFound = video::SColorf(0)) const = 0;
395 
398  virtual video::SColorf getAttributeAsColorf(s32 index) const = 0;
399 
401  virtual void setAttribute(s32 index, video::SColorf color) = 0;
402 
403 
404  /*
405 
406  Vector3d Attribute
407 
408  */
409 
411  virtual void addVector3d(const c8* attributeName, const core::vector3df& value) = 0;
412 
414  virtual void setAttribute(const c8* attributeName, const core::vector3df& v) = 0;
415 
420  virtual core::vector3df getAttributeAsVector3d(const c8* attributeName, const core::vector3df& defaultNotFound=core::vector3df(0,0,0)) const = 0;
421 
424  virtual core::vector3df getAttributeAsVector3d(s32 index) const = 0;
425 
427  virtual void setAttribute(s32 index, const core::vector3df& v) = 0;
428 
429  /*
430 
431  Vector2d Attribute
432 
433  */
434 
436  virtual void addVector2d(const c8* attributeName, const core::vector2df& value) = 0;
437 
439  virtual void setAttribute(const c8* attributeName, const core::vector2df& v) = 0;
440 
445  virtual core::vector2df getAttributeAsVector2d(const c8* attributeName, const core::vector2df& defaultNotFound=core::vector2df(0,0)) const = 0;
446 
449  virtual core::vector2df getAttributeAsVector2d(s32 index) const = 0;
450 
452  virtual void setAttribute(s32 index, const core::vector2df& v) = 0;
453 
454  /*
455 
456  Position2d Attribute
457 
458  */
459 
461  virtual void addPosition2d(const c8* attributeName, const core::position2di& value) = 0;
462 
464  virtual void setAttribute(const c8* attributeName, const core::position2di& v) = 0;
465 
470  virtual core::position2di getAttributeAsPosition2d(const c8* attributeName, const core::position2di& defaultNotFound=core::position2di(0,0)) const = 0;
471 
475 
477  virtual void setAttribute(s32 index, const core::position2di& v) = 0;
478 
479  /*
480 
481  Rectangle Attribute
482 
483  */
484 
486  virtual void addRect(const c8* attributeName, const core::rect<s32>& value) = 0;
487 
489  virtual void setAttribute(const c8* attributeName, const core::rect<s32>& v) = 0;
490 
495  virtual core::rect<s32> getAttributeAsRect(const c8* attributeName, const core::rect<s32>& defaultNotFound = core::rect<s32>()) const = 0;
496 
499  virtual core::rect<s32> getAttributeAsRect(s32 index) const = 0;
500 
502  virtual void setAttribute(s32 index, const core::rect<s32>& v) = 0;
503 
504 
505  /*
506 
507  Dimension2d Attribute
508 
509  */
510 
512  virtual void addDimension2d(const c8* attributeName, const core::dimension2d<u32>& value) = 0;
513 
515  virtual void setAttribute(const c8* attributeName, const core::dimension2d<u32>& v) = 0;
516 
521  virtual core::dimension2d<u32> getAttributeAsDimension2d(const c8* attributeName, const core::dimension2d<u32>& defaultNotFound = core::dimension2d<u32>()) const = 0;
522 
526 
528  virtual void setAttribute(s32 index, const core::dimension2d<u32>& v) = 0;
529 
530 
531  /*
532  matrix attribute
533  */
534 
536  virtual void addMatrix(const c8* attributeName, const core::matrix4& v) = 0;
537 
539  virtual void setAttribute(const c8* attributeName, const core::matrix4& v) = 0;
540 
545  virtual core::matrix4 getAttributeAsMatrix(const c8* attributeName, const core::matrix4& defaultNotFound=core::matrix4()) const = 0;
546 
549  virtual core::matrix4 getAttributeAsMatrix(s32 index) const = 0;
550 
552  virtual void setAttribute(s32 index, const core::matrix4& v) = 0;
553 
554  /*
555  quaternion attribute
556 
557  */
558 
560  virtual void addQuaternion(const c8* attributeName, const core::quaternion& v) = 0;
561 
563  virtual void setAttribute(const c8* attributeName, const core::quaternion& v) = 0;
564 
569  virtual core::quaternion getAttributeAsQuaternion(const c8* attributeName, const core::quaternion& defaultNotFound=core::quaternion(0,1,0, 0)) const = 0;
570 
574 
576  virtual void setAttribute(s32 index, const core::quaternion& v) = 0;
577 
578  /*
579 
580  3d bounding box
581 
582  */
583 
585  virtual void addBox3d(const c8* attributeName, const core::aabbox3df& v) = 0;
586 
588  virtual void setAttribute(const c8* attributeName, const core::aabbox3df& v) = 0;
589 
594  virtual core::aabbox3df getAttributeAsBox3d(const c8* attributeName, const core::aabbox3df& defaultNotFound=core::aabbox3df(0,0,0, 0,0,0)) const = 0;
595 
598  virtual core::aabbox3df getAttributeAsBox3d(s32 index) const = 0;
599 
601  virtual void setAttribute(s32 index, const core::aabbox3df& v) = 0;
602 
603  /*
604 
605  plane
606 
607  */
608 
610  virtual void addPlane3d(const c8* attributeName, const core::plane3df& v) = 0;
611 
613  virtual void setAttribute(const c8* attributeName, const core::plane3df& v) = 0;
614 
619  virtual core::plane3df getAttributeAsPlane3d(const c8* attributeName, const core::plane3df& defaultNotFound=core::plane3df(0,0,0, 0,1,0)) const = 0;
620 
623  virtual core::plane3df getAttributeAsPlane3d(s32 index) const = 0;
624 
626  virtual void setAttribute(s32 index, const core::plane3df& v) = 0;
627 
628 
629  /*
630 
631  3d triangle
632 
633  */
634 
636  virtual void addTriangle3d(const c8* attributeName, const core::triangle3df& v) = 0;
637 
639  virtual void setAttribute(const c8* attributeName, const core::triangle3df& v) = 0;
640 
645  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))) const = 0;
646 
650 
652  virtual void setAttribute(s32 index, const core::triangle3df& v) = 0;
653 
654 
655  /*
656 
657  line 2d
658 
659  */
660 
662  virtual void addLine2d(const c8* attributeName, const core::line2df& v) = 0;
663 
665  virtual void setAttribute(const c8* attributeName, const core::line2df& v) = 0;
666 
671  virtual core::line2df getAttributeAsLine2d(const c8* attributeName, const core::line2df& defaultNotFound = core::line2df(0,0, 0,0)) const = 0;
672 
675  virtual core::line2df getAttributeAsLine2d(s32 index) const = 0;
676 
678  virtual void setAttribute(s32 index, const core::line2df& v) = 0;
679 
680 
681  /*
682 
683  line 3d
684 
685  */
686 
688  virtual void addLine3d(const c8* attributeName, const core::line3df& v) = 0;
689 
691  virtual void setAttribute(const c8* attributeName, const core::line3df& v) = 0;
692 
697  virtual core::line3df getAttributeAsLine3d(const c8* attributeName, const core::line3df& defaultNotFound=core::line3df(0,0,0, 0,0,0)) const = 0;
698 
701  virtual core::line3df getAttributeAsLine3d(s32 index) const = 0;
702 
704  virtual void setAttribute(s32 index, const core::line3df& v) = 0;
705 
706 
707  /*
708 
709  Texture Attribute
710 
711  */
712 
714  virtual void addTexture(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0;
715 
717  virtual void setAttribute(const c8* attributeName, video::ITexture* texture, const io::path& filename = "") = 0;
718 
722  virtual video::ITexture* getAttributeAsTexture(const c8* attributeName, video::ITexture* defaultNotFound=0) const = 0;
723 
726  virtual video::ITexture* getAttributeAsTexture(s32 index) const = 0;
727 
729  virtual void setAttribute(s32 index, video::ITexture* texture, const io::path& filename = "") = 0;
730 
731 
732  /*
733 
734  User Pointer Attribute
735 
736  */
737 
739  virtual void addUserPointer(const c8* attributeName, void* userPointer) = 0;
740 
742  virtual void setAttribute(const c8* attributeName, void* userPointer) = 0;
743 
747  virtual void* getAttributeAsUserPointer(const c8* attributeName, void* defaultNotFound = 0) const = 0;
748 
751  virtual void* getAttributeAsUserPointer(s32 index) const = 0;
752 
754  virtual void setAttribute(s32 index, void* userPointer) = 0;
755 
756 };
757 
758 } // end namespace io
759 } // end namespace irr
760 
761 #endif
762 
763 
764 
virtual void addVector2d(const c8 *attributeName, const core::vector2df &value)=0
Adds an attribute as 2d vector.
virtual void addTexture(const c8 *attributeName, video::ITexture *texture, const io::path &filename="")=0
Adds an attribute as texture reference.
Provides a generic interface for attributes and their values and the possibility to serialize them.
Definition: IAttributes.h:41
virtual void addInt(const c8 *attributeName, s32 value)=0
Adds an attribute as integer.
virtual core::matrix4 getAttributeAsMatrix(const c8 *attributeName, const core::matrix4 &defaultNotFound=core::matrix4()) const =0
virtual core::vector2df getAttributeAsVector2d(const c8 *attributeName, const core::vector2df &defaultNotFound=core::vector2df(0, 0)) const =0
virtual core::stringc getAttributeAsString(const c8 *attributeName, const core::stringc &defaultNotFound=core::stringc()) const =0
virtual bool getAttributeAsBool(const c8 *attributeName, bool defaultNotFound=false) const =0
float f32
32 bit floating point variable.
Definition: irrTypes.h:108
virtual void addLine2d(const c8 *attributeName, const core::line2df &v)=0
Adds an attribute as a 2d line.
virtual core::rect< s32 > getAttributeAsRect(const c8 *attributeName, const core::rect< s32 > &defaultNotFound=core::rect< s32 >()) const =0
virtual void addBinary(const c8 *attributeName, void *data, s32 dataSizeInBytes)=0
Adds an attribute as binary data.
E_ATTRIBUTE_TYPE
Types of attributes available for IAttributes.
Definition: EAttributes.h:14
GLenum GLenum GLuint texture
char c8
8 bit character variable.
Definition: irrTypes.h:35
virtual void addMatrix(const c8 *attributeName, const core::matrix4 &v)=0
Adds an attribute as matrix.
virtual void addArray(const c8 *attributeName, const core::array< core::stringw > &value)=0
Adds an attribute as wide string array.
virtual void clear()=0
Removes all attributes.
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
3d triangle template class for doing collision detection and other things.
Definition: triangle3d.h:20
virtual E_ATTRIBUTE_TYPE getAttributeType(const c8 *attributeName) const =0
virtual video::ITexture * getAttributeAsTexture(const c8 *attributeName, video::ITexture *defaultNotFound=0) const =0
virtual core::position2di getAttributeAsPosition2d(const c8 *attributeName, const core::position2di &defaultNotFound=core::position2di(0, 0)) const =0
virtual core::plane3df getAttributeAsPlane3d(const c8 *attributeName, const core::plane3df &defaultNotFound=core::plane3df(0, 0, 0, 0, 1, 0)) const =0
virtual void addRect(const c8 *attributeName, const core::rect< s32 > &value)=0
Adds an attribute as rectangle.
virtual void * getAttributeAsUserPointer(const c8 *attributeName, void *defaultNotFound=0) const =0
virtual void addBool(const c8 *attributeName, bool value)=0
Adds an attribute as bool.
Everything in the Irrlicht Engine can be found in this namespace.
Definition: CARSADPad.h:6
virtual void addFloat(const c8 *attributeName, f32 value)=0
Adds an attribute as float.
3D line between two points with intersection methods.
Definition: line3d.h:18
virtual core::quaternion getAttributeAsQuaternion(const c8 *attributeName, const core::quaternion &defaultNotFound=core::quaternion(0, 1, 0, 0)) const =0
virtual void addVector3d(const c8 *attributeName, const core::vector3df &value)=0
Adds an attribute as 3d vector.
Very simple string class with some useful features.
Definition: irrString.h:37
virtual void addEnum(const c8 *attributeName, const c8 *enumValue, const c8 *const *enumerationLiterals)=0
Adds an attribute as enum.
virtual void addQuaternion(const c8 *attributeName, const core::quaternion &v)=0
Adds an attribute as quaternion.
virtual s32 getAttributeAsInt(const c8 *attributeName, irr::s32 defaultNotFound=0) const =0
const GLdouble * v
Definition: SDL_opengl.h:2064
virtual void addBox3d(const c8 *attributeName, const core::aabbox3df &v)=0
Adds an attribute as axis aligned bounding box.
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))) const =0
virtual core::line3df getAttributeAsLine3d(const c8 *attributeName, const core::line3df &defaultNotFound=core::line3df(0, 0, 0, 0, 0, 0)) const =0
signed int s32
32 bit signed variable.
Definition: irrTypes.h:70
virtual core::line2df getAttributeAsLine2d(const c8 *attributeName, const core::line2df &defaultNotFound=core::line2df(0, 0, 0, 0)) const =0
GLsizei const GLfloat * value
virtual void getAttributeAsBinaryData(const c8 *attributeName, void *outData, s32 maxSizeInBytes) const =0
Gets an attribute as binary data.
virtual u32 getAttributeCount() const =0
Returns amount of attributes in this collection of attributes.
GLfloat f
unsigned int u32
32 bit unsigned variable.
Definition: irrTypes.h:62
Interface providing easy read access to a XML file.
Definition: irrXML.h:277
virtual core::stringw getAttributeAsStringW(const c8 *attributeName, const core::stringw &defaultNotFound=core::stringw()) const =0
virtual void addPosition2d(const c8 *attributeName, const core::position2di &value)=0
Adds an attribute as 2d position.
virtual void addDimension2d(const c8 *attributeName, const core::dimension2d< u32 > &value)=0
Adds an attribute as dimension2d.
virtual void addString(const c8 *attributeName, const c8 *value)=0
Adds an attribute as string.
GLuint index
virtual core::dimension2d< u32 > getAttributeAsDimension2d(const c8 *attributeName, const core::dimension2d< u32 > &defaultNotFound=core::dimension2d< u32 >()) const =0
virtual s32 findAttribute(const c8 *attributeName) const =0
Returns attribute index from name, -1 if not found.
Class representing a 32 bit ARGB color.
Definition: SColor.h:316
GLenum target
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
Definition: matrix4.h:45
virtual const wchar_t * getAttributeTypeString(const c8 *attributeName, const wchar_t *defaultNotFound=L"unknown") const =0
virtual core::vector3df getAttributeAsVector3d(const c8 *attributeName, const core::vector3df &defaultNotFound=core::vector3df(0, 0, 0)) const =0
Interface providing methods for making it easier to write XML files.
Definition: irrXML.h:377
Self reallocating template array (like stl vector) with additional features.
Definition: irrArray.h:22
virtual void addUserPointer(const c8 *attributeName, void *userPointer)=0
Adds an attribute as user pointer.
virtual void addTriangle3d(const c8 *attributeName, const core::triangle3df &v)=0
Adds an attribute as 3d triangle.
virtual void setAttribute(const c8 *attributeName, s32 value)=0
Sets an attribute as integer value.
GLuint color
Interface of a Video Driver dependent Texture.
Definition: ITexture.h:177
Base class of most objects of the Irrlicht Engine.
Quaternion class for representing rotations.
Definition: quaternion.h:31
virtual void addColor(const c8 *attributeName, video::SColor value)=0
Adds an attribute as color.
2D line between two points with intersection methods.
Definition: line2d.h:18
virtual core::array< core::stringw > getAttributeAsArray(const c8 *attributeName, const core::array< core::stringw > &defaultNotFound=core::array< core::stringw >()) const =0
virtual f32 getAttributeAsFloat(const c8 *attributeName, irr::f32 defaultNotFound=0.f) const =0
virtual void addColorf(const c8 *attributeName, video::SColorf value)=0
Adds an attribute as floating point color.
virtual const c8 * getAttributeName(s32 index) const =0
virtual void addLine3d(const c8 *attributeName, const core::line3df &v)=0
Adds an attribute as a 3d line.
virtual void addPlane3d(const c8 *attributeName, const core::plane3df &v)=0
Adds an attribute as 3d plane.
Class representing a color with four floats.
Definition: SColor.h:573
virtual bool existsAttribute(const c8 *attributeName) const =0
Returns if an attribute with a name exists.
virtual video::SColor getAttributeAsColor(const c8 *attributeName, const video::SColor &defaultNotFound=video::SColor(0)) const =0
virtual const c8 * getAttributeAsEnumeration(const c8 *attributeName, const c8 *defaultNotFound=0) const =0
virtual core::aabbox3df getAttributeAsBox3d(const c8 *attributeName, const core::aabbox3df &defaultNotFound=core::aabbox3df(0, 0, 0, 0, 0, 0)) const =0
virtual bool read(io::IXMLReader *reader, bool readCurrentElementOnly=false, const wchar_t *elementName=0)=0
virtual bool write(io::IXMLWriter *writer, bool writeXMLHeader=false, const wchar_t *elementName=0)=0
virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8 *attributeName, core::array< core::stringc > &outLiterals) const =0
virtual video::SColorf getAttributeAsColorf(const c8 *attributeName, const video::SColorf &defaultNotFound=video::SColorf(0)) const =0