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