5#ifndef __I_ATTRIBUTES_H_INCLUDED__
6#define __I_ATTRIBUTES_H_INCLUDED__
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;
177 virtual void addString(
const c8* attributeName,
const wchar_t* value) = 0;
211 virtual void addBinary(
const c8* attributeName,
void* data,
s32 dataSizeInBytes) = 0;
267 virtual void addBool(
const c8* attributeName,
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;
Base class of most objects of the Irrlicht Engine.
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
Axis aligned bounding box in 3d dimensional space.
Quaternion class for representing rotations.
Provides a generic interface for attributes and their values and the possiblity to serialize them.
virtual void addEnum(const c8 *attributeName, s32 enumValue, const c8 *const *enumerationLiterals)=0
Adds an attribute as enum.
virtual void setAttribute(s32 index, bool value)=0
Sets an attribute as boolean value.
virtual core::matrix4 getAttributeAsMatrix(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, s32 value)=0
Sets an attribute as integer value.
virtual void addUserPointer(const c8 *attributeName, void *userPointer)=0
Adds an attribute as user pointner.
virtual core::vector2df getAttributeAsVector2d(const c8 *attributeName)=0
virtual void addString(const c8 *attributeName, const c8 *value)=0
Adds an attribute as string.
virtual void setAttribute(s32 index, const c8 *value)=0
virtual void addTriangle3d(const c8 *attributeName, core::triangle3df v)=0
Adds an attribute as 3d triangle.
virtual void setAttribute(const c8 *attributeName, core::line3df v)=0
Sets an attribute as a 3d line.
virtual void setAttribute(s32 index, core::vector2df v)=0
Sets an attribute as 2d vector.
virtual core::position2di getAttributeAsPosition2d(s32 index)=0
virtual core::triangle3df getAttributeAsTriangle3d(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, core::quaternion v)=0
Sets an attribute as quaternion.
virtual video::ITexture * getAttributeAsTexture(const c8 *attributeName)=0
virtual void setAttribute(s32 index, core::position2di v)=0
Sets an attribute as 2d position.
virtual bool getAttributeAsBool(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, core::aabbox3df v)=0
Sets an attribute as axis aligned bounding box.
virtual void setAttribute(const c8 *attributeName, bool value)=0
Sets an attribute as boolean value.
virtual core::plane3df getAttributeAsPlane3d(const c8 *attributeName)=0
virtual core::aabbox3df getAttributeAsBox3d(const c8 *attributeName)=0
virtual void setAttribute(s32 index, void *data, s32 dataSizeInBytes)=0
Sets an attribute as binary data.
virtual void setAttribute(const c8 *attributeName, void *data, s32 dataSizeInBytes)=0
Sets an attribute as binary data.
virtual E_ATTRIBUTE_TYPE getAttributeType(s32 index)=0
virtual void setAttribute(s32 index, core::rect< s32 > v)=0
Sets an attribute as rectangle.
virtual void addColorf(const c8 *attributeName, video::SColorf value)=0
Adds an attribute as floating point color.
virtual void setAttribute(s32 index, video::ITexture *texture, const io::path &filename="")=0
Sets an attribute as texture reference.
virtual void addBool(const c8 *attributeName, bool value)=0
Adds an attribute as bool.
virtual video::SColorf getAttributeAsColorf(s32 index)=0
virtual core::array< core::stringw > getAttributeAsArray(s32 index)=0
virtual void setAttribute(const c8 *attributeName, video::SColorf color)=0
Sets a attribute as floating point color.
virtual video::ITexture * getAttributeAsTexture(s32 index)=0
virtual core::aabbox3df getAttributeAsBox3d(s32 index)=0
virtual void addTexture(const c8 *attributeName, video::ITexture *texture, const io::path &filename="")=0
Adds an attribute as texture reference.
virtual void * getAttributeAsUserPointer(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, const c8 *enumValue, const c8 *const *enumerationLiterals)=0
Sets an attribute as enumeration.
virtual core::dimension2d< u32 > getAttributeAsDimension2d(const c8 *attributeName)=0
virtual void setAttribute(s32 index, core::plane3df v)=0
Sets an attribute as 3d plane.
virtual void addVector2d(const c8 *attributeName, core::vector2df value)=0
Adds an attribute as 2d vector.
virtual void setAttribute(const c8 *attributeName, core::vector2df v)=0
Sets a attribute as 2d vector.
virtual void setAttribute(s32 index, core::aabbox3df v)=0
Sets an attribute as axis aligned bounding box.
virtual core::rect< s32 > getAttributeAsRect(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, void *userPointer)=0
Sets an attribute as user pointer.
virtual void addPlane3d(const c8 *attributeName, core::plane3df v)=0
Adds an attribute as 3d plane.
virtual const wchar_t * getAttributeTypeString(s32 index)=0
virtual core::quaternion getAttributeAsQuaternion(const c8 *attributeName)=0
virtual bool write(io::IXMLWriter *writer, bool writeXMLHeader=false, const wchar_t *elementName=0)=0
virtual core::stringw getAttributeAsStringW(s32 index)=0
virtual core::stringc getAttributeAsString(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, const wchar_t *value)=0
virtual void setAttribute(s32 index, const wchar_t *value)=0
virtual void setAttribute(const c8 *attributeName, core::plane3df v)=0
Sets an attribute as 3d plane.
virtual void addDimension2d(const c8 *attributeName, core::dimension2d< u32 > value)=0
Adds an attribute as dimension2d.
virtual s32 getAttributeAsInt(s32 index) const =0
virtual void addBinary(const c8 *attributeName, void *data, s32 dataSizeInBytes)=0
Adds an attribute as binary data.
virtual void addString(const c8 *attributeName, const wchar_t *value)=0
Adds an attribute as string.
virtual video::SColor getAttributeAsColor(const c8 *attributeName)=0
virtual void setAttribute(s32 index, f32 value)=0
Sets an attribute as float value.
virtual void getAttributeEnumerationLiteralsOfEnumeration(const c8 *attributeName, core::array< core::stringc > &outLiterals)=0
virtual const c8 * getAttributeName(s32 index)=0
virtual core::triangle3df getAttributeAsTriangle3d(s32 index)=0
virtual void addMatrix(const c8 *attributeName, const core::matrix4 &v)=0
Adds an attribute as matrix.
virtual s32 getAttributeAsEnumeration(const c8 *attributeName, const c8 *const *enumerationLiteralsToUse)=0
Gets an attribute as enumeration.
virtual u32 getAttributeCount() const =0
Returns amount of attributes in this collection of attributes.
virtual core::vector3df getAttributeAsVector3d(s32 index)=0
virtual void setAttribute(s32 index, core::line2df v)=0
Sets an attribute as a 2d line.
virtual core::vector2df getAttributeAsVector2d(s32 index)=0
virtual void setAttribute(s32 index, video::SColor color)=0
Sets an attribute as color.
virtual core::stringw getAttributeAsStringW(const c8 *attributeName)=0
virtual core::dimension2d< u32 > getAttributeAsDimension2d(s32 index)=0
virtual void getAttributeAsString(const c8 *attributeName, c8 *target)=0
virtual void setAttribute(const c8 *attributeName, video::ITexture *texture, const io::path &filename="")=0
Sets an attribute as texture reference.
virtual void addFloat(const c8 *attributeName, f32 value)=0
Adds an attribute as float.
virtual bool read(io::IXMLReader *reader, bool readCurrentElementOnly=false, const wchar_t *elementName=0)=0
virtual s32 getAttributeAsEnumeration(s32 index, const c8 *const *enumerationLiteralsToUse)=0
Gets an attribute as enumeration.
virtual void setAttribute(s32 index, const c8 *enumValue, const c8 *const *enumerationLiterals)=0
Sets an attribute as enumeration.
virtual void setAttribute(const c8 *attributeName, const core::array< core::stringw > &value)=0
virtual void getAttributeAsStringW(const c8 *attributeName, wchar_t *target)=0
virtual core::stringc getAttributeAsString(s32 index)=0
virtual f32 getAttributeAsFloat(const c8 *attributeName)=0
virtual f32 getAttributeAsFloat(s32 index)=0
virtual void setAttribute(s32 index, video::SColorf color)=0
Sets an attribute as floating point color.
virtual void setAttribute(const c8 *attributeName, const c8 *value)=0
virtual core::line2df getAttributeAsLine2d(s32 index)=0
virtual void setAttribute(s32 index, const core::array< core::stringw > &value)=0
Sets an attribute as an array of wide strings.
virtual void setAttribute(const c8 *attributeName, core::rect< s32 > v)=0
Sets an attribute as rectangle.
virtual const c8 * getAttributeAsEnumeration(s32 index)=0
virtual void setAttribute(s32 index, s32 value)=0
Sets an attribute as integer value.
virtual core::rect< s32 > getAttributeAsRect(s32 index)=0
virtual void setAttribute(s32 index, void *userPointer)=0
Sets an attribute as user pointer.
virtual core::matrix4 getAttributeAsMatrix(s32 index)=0
virtual void clear()=0
Removes all attributes.
virtual void setAttribute(s32 index, core::triangle3df v)=0
Sets an attribute as 3d triangle.
virtual core::line3df getAttributeAsLine3d(s32 index)=0
virtual core::line3df getAttributeAsLine3d(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, f32 value)=0
Sets a attribute as float value.
virtual void addRect(const c8 *attributeName, core::rect< s32 > value)=0
Adds an attribute as rectangle.
virtual void addArray(const c8 *attributeName, const core::array< core::stringw > &value)=0
Adds an attribute as wide string array.
virtual void addLine3d(const c8 *attributeName, core::line3df v)=0
Adds an attribute as a 3d line.
virtual void setAttribute(const c8 *attributeName, core::position2di v)=0
Sets a attribute as 2d position.
virtual s32 findAttribute(const c8 *attributeName) const =0
Returns attribute index from name, -1 if not found.
virtual core::position2di getAttributeAsPosition2d(const c8 *attributeName)=0
virtual void addLine2d(const c8 *attributeName, core::line2df v)=0
Adds an attribute as a 2d line.
virtual void setAttribute(s32 index, core::vector3df v)=0
Sets an attribute as vector.
virtual video::SColorf getAttributeAsColorf(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, core::vector3df v)=0
Sets a attribute as 3d vector.
virtual void addColor(const c8 *attributeName, video::SColor value)=0
Adds an attribute as color.
virtual video::SColor getAttributeAsColor(s32 index)=0
virtual core::vector3df getAttributeAsVector3d(const c8 *attributeName)=0
virtual s32 getAttributeAsInt(const c8 *attributeName) const =0
virtual void setAttribute(s32 index, core::quaternion v)=0
Sets an attribute as quaternion.
virtual core::array< core::stringw > getAttributeAsArray(const c8 *attributeName)=0
virtual core::line2df getAttributeAsLine2d(const c8 *attributeName)=0
virtual bool getAttributeAsBool(s32 index)=0
virtual void getAttributeAsBinaryData(const c8 *attributeName, void *outData, s32 maxSizeInBytes)=0
Gets an attribute as binary data.
virtual void setAttribute(s32 index, core::dimension2d< u32 > v)=0
Sets an attribute as dimension2d.
virtual void setAttribute(s32 index, core::line3df v)=0
Sets an attribute as a 3d line.
virtual void setAttribute(const c8 *attributeName, const core::matrix4 &v)=0
Sets an attribute as matrix.
virtual void setAttribute(const c8 *attributeName, core::triangle3df v)=0
Sets an attribute as 3d trianle.
virtual const wchar_t * getAttributeTypeString(const c8 *attributeName)=0
virtual void addBox3d(const c8 *attributeName, core::aabbox3df v)=0
Adds an attribute as axis aligned bounding box.
virtual void getAttributeAsBinaryData(s32 index, void *outData, s32 maxSizeInBytes)=0
Gets an attribute as binary data.
virtual core::plane3df getAttributeAsPlane3d(s32 index)=0
virtual void setAttribute(s32 index, const core::matrix4 &v)=0
Sets an attribute as matrix.
virtual bool existsAttribute(const c8 *attributeName)=0
Returns if an attribute with a name exists.
virtual void getAttributeEnumerationLiteralsOfEnumeration(s32 index, core::array< core::stringc > &outLiterals)=0
virtual void addPosition2d(const c8 *attributeName, core::position2di value)=0
Adds an attribute as 2d position.
virtual const c8 * getAttributeAsEnumeration(const c8 *attributeName)=0
virtual void setAttribute(const c8 *attributeName, core::dimension2d< u32 > v)=0
Sets an attribute as dimension2d.
virtual void setAttribute(const c8 *attributeName, core::line2df v)=0
Sets an attribute as a 2d line.
virtual void addVector3d(const c8 *attributeName, core::vector3df value)=0
Adds an attribute as 3d vector.
virtual core::quaternion getAttributeAsQuaternion(s32 index)=0
virtual void addEnum(const c8 *attributeName, const c8 *enumValue, const c8 *const *enumerationLiterals)=0
Adds an attribute as enum.
virtual E_ATTRIBUTE_TYPE getAttributeType(const c8 *attributeName)=0
virtual void addQuaternion(const c8 *attributeName, core::quaternion v)=0
Adds an attribute as quaternion.
virtual void addInt(const c8 *attributeName, s32 value)=0
Adds an attribute as integer.
virtual void * getAttributeAsUserPointer(s32 index)=0
virtual void setAttribute(const c8 *attributeName, video::SColor color)=0
Sets a attribute as color.
Interface providing easy read access to a XML file.
Interface providing methods for making it easier to write XML files.
Interface of a Video Driver dependent Texture.
Class representing a 32 bit ARGB color.
Class representing a color with four floats.
E_ATTRIBUTE_TYPE
Types of attributes available for IAttributes.
Everything in the Irrlicht Engine can be found in this namespace.
float f32
32 bit floating point variable.
unsigned int u32
32 bit unsigned variable.
char c8
8 bit character variable.
signed int s32
32 bit signed variable.