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

Duckcpp    @cppfx.xyz