5 #ifndef __I_ATTRIBUTES_H_INCLUDED__ 6 #define __I_ATTRIBUTES_H_INCLUDED__ 46 virtual u32 getAttributeCount()
const = 0;
50 virtual const c8* getAttributeName(
s32 index) = 0;
62 virtual const wchar_t* getAttributeTypeString(
const c8* attributeName) = 0;
66 virtual const wchar_t* getAttributeTypeString(
s32 index) = 0;
69 virtual bool existsAttribute(
const c8* attributeName) = 0;
72 virtual s32 findAttribute(
const c8* attributeName)
const =0;
75 virtual void clear() = 0;
83 virtual bool read(
io::IXMLReader* reader,
bool readCurrentElementOnly=
false,
const wchar_t* elementName=0) = 0;
89 virtual bool write(
io::IXMLWriter* writer,
bool writeXMLHeader=
false,
const wchar_t* elementName=0) = 0;
99 virtual void addInt(
const c8* attributeName,
s32 value) = 0;
102 virtual void setAttribute(
const c8* attributeName,
s32 value) = 0;
107 virtual s32 getAttributeAsInt(
const c8* attributeName)
const =0;
111 virtual s32 getAttributeAsInt(
s32 index)
const =0;
114 virtual void setAttribute(
s32 index,
s32 value) = 0;
123 virtual void addFloat(
const c8* attributeName,
f32 value) = 0;
126 virtual void setAttribute(
const c8* attributeName,
f32 value) = 0;
131 virtual f32 getAttributeAsFloat(
const c8* attributeName) = 0;
135 virtual f32 getAttributeAsFloat(
s32 index) = 0;
138 virtual void setAttribute(
s32 index,
f32 value) = 0;
147 virtual void addString(
const c8* attributeName,
const c8* value) = 0;
152 virtual void setAttribute(
const c8* attributeName,
const c8* value) = 0;
158 virtual core::stringc getAttributeAsString(
const c8* attributeName) = 0;
163 virtual void getAttributeAsString(
const c8* attributeName,
c8* target) = 0;
172 virtual void setAttribute(
s32 index,
const c8* value) = 0;
177 virtual void addString(
const c8* attributeName,
const wchar_t* value) = 0;
182 virtual void setAttribute(
const c8* attributeName,
const wchar_t* value) = 0;
188 virtual core::stringw getAttributeAsStringW(
const c8* attributeName) = 0;
193 virtual void getAttributeAsStringW(
const c8* attributeName,
wchar_t* target) = 0;
202 virtual void setAttribute(
s32 index,
const wchar_t* value) = 0;
211 virtual void addBinary(
const c8* attributeName,
void* data,
s32 dataSizeInBytes) = 0;
214 virtual void setAttribute(
const c8* attributeName,
void* data,
s32 dataSizeInBytes ) = 0;
221 virtual void getAttributeAsBinaryData(
const c8* attributeName,
void* outData,
s32 maxSizeInBytes) = 0;
228 virtual void getAttributeAsBinaryData(
s32 index,
void* outData,
s32 maxSizeInBytes) = 0;
231 virtual void setAttribute(
s32 index,
void* data,
s32 dataSizeInBytes ) = 0;
267 virtual void addBool(
const c8* attributeName,
bool value) = 0;
270 virtual void setAttribute(
const c8* attributeName,
bool value) = 0;
275 virtual bool getAttributeAsBool(
const c8* attributeName) = 0;
279 virtual bool getAttributeAsBool(
s32 index) = 0;
282 virtual void setAttribute(
s32 index,
bool value) = 0;
291 virtual void addEnum(
const c8* attributeName,
const c8* enumValue,
const c8*
const* enumerationLiterals) = 0;
294 virtual void addEnum(
const c8* attributeName,
s32 enumValue,
const c8*
const* enumerationLiterals) = 0;
297 virtual void setAttribute(
const c8* attributeName,
const c8* enumValue,
const c8*
const* enumerationLiterals) = 0;
302 virtual const c8* getAttributeAsEnumeration(
const c8* attributeName) = 0;
312 virtual s32 getAttributeAsEnumeration(
const c8* attributeName,
const c8*
const* enumerationLiteralsToUse) = 0;
322 virtual s32 getAttributeAsEnumeration(
s32 index,
const c8*
const* enumerationLiteralsToUse) = 0;
326 virtual const c8* getAttributeAsEnumeration(
s32 index) = 0;
339 virtual void setAttribute(
s32 index,
const c8* enumValue,
const c8*
const* enumerationLiterals) = 0;
349 virtual void addColor(
const c8* attributeName,
video::SColor value) = 0;
353 virtual void setAttribute(
const c8* attributeName,
video::SColor color) = 0;
358 virtual video::SColor getAttributeAsColor(
const c8* attributeName) = 0;
377 virtual void setAttribute(
const c8* attributeName,
video::SColorf color) = 0;
519 virtual void addMatrix(
const c8* attributeName,
const core::matrix4& v) = 0;
522 virtual void setAttribute(
const c8* attributeName,
const core::matrix4& v) = 0;
527 virtual core::matrix4 getAttributeAsMatrix(
const c8* attributeName) = 0;
643 virtual void setAttribute(
const c8* attributeName,
core::line2df v) = 0;
648 virtual core::line2df getAttributeAsLine2d(
const c8* attributeName) = 0;
668 virtual void setAttribute(
const c8* attributeName,
core::line3df v) = 0;
673 virtual core::line3df getAttributeAsLine3d(
const c8* attributeName) = 0;
714 virtual void addUserPointer(
const c8* attributeName,
void* userPointer) = 0;
717 virtual void setAttribute(
const c8* attributeName,
void* userPointer) = 0;
721 virtual void* getAttributeAsUserPointer(
const c8* attributeName) = 0;
725 virtual void* getAttributeAsUserPointer(
s32 index) = 0;
728 virtual void setAttribute(
s32 index,
void* userPointer) = 0;
Interface providing methods for making it easier to write XML files.
Provides a generic interface for attributes and their values and the possiblity to serialize them...
float f32
32 bit floating point variable.
E_ATTRIBUTE_TYPE
Types of attributes available for IAttributes.
char c8
8 bit character variable.
3d triangle template class for doing collision detection and other things.
Everything in the Irrlicht Engine can be found in this namespace.
3D line between two points with intersection methods.
signed int s32
32 bit signed variable.
unsigned int u32
32 bit unsigned variable.
Interface providing easy read access to a XML file.
Class representing a 32 bit ARGB color.
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
Self reallocating template array (like stl vector) with additional features.
Interface of a Video Driver dependent Texture.
Base class of most objects of the Irrlicht Engine.
Quaternion class for representing rotations.
2D line between two points with intersection methods.
Class representing a color with four floats.