OGRE  1.8
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::PropertySet Class Reference

Defines a complete set of properties for a single object instance. More...

#include <OgreProperty.h>

+ Inheritance diagram for Ogre::PropertySet:
+ Collaboration diagram for Ogre::PropertySet:

Public Types

typedef Ogre::MapIterator
< PropertyMap
PropertyIterator
 
typedef map< String,
PropertyBase * >::type 
PropertyMap
 

Public Member Functions

 PropertySet ()
 
 ~PropertySet ()
 
void addProperty (PropertyBase *prop)
 Adds a property to this set. More...
 
PropertyBasegetProperty (const String &name) const
 Gets the property object for a given property name. More...
 
PropertyIterator getPropertyIterator ()
 Get an iterator over the available properties. More...
 
template<typename T >
void getValue (const String &name, T &value) const
 Get a named property value. More...
 
PropertyValueMap getValueMap () const
 Gets an independently usable collection of property values from the current state. More...
 
bool hasProperty (const String &name) const
 Reports whether this property set contains a named property. More...
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
void removeProperty (const String &name)
 Removes the named property from the property set. More...
 
template<typename T >
void setValue (const String &name, const T *value)
 Set a named property value (via pointer to avoid copy). More...
 
template<typename T >
void setValue (const String &name, T value)
 Set a named property value. More...
 
void setValue (const String &name, const char *pChar)
 Special-case char*, convert to String automatically. More...
 
void setValueMap (const PropertyValueMap &values)
 Sets the current state from a given value map. More...
 

Protected Member Functions

template<typename T >
void getPropertyImpl (const String &name, T &refVal, PropertyType typeCheck) const
 Set a named property value, internal implementation (type match required) More...
 
template<typename T >
void setPropertyImpl (const String &name, const T &val, PropertyType typeCheck)
 Set a named property value, internal implementation (type match required) More...
 

Protected Attributes

PropertyMap mPropertyMap
 

Detailed Description

Defines a complete set of properties for a single object instance.

Definition at line 279 of file OgreProperty.h.

Member Typedef Documentation

Definition at line 306 of file OgreProperty.h.

Constructor & Destructor Documentation

Ogre::PropertySet::PropertySet ( )
Ogre::PropertySet::~PropertySet ( )

Member Function Documentation

void Ogre::PropertySet::addProperty ( PropertyBase prop)

Adds a property to this set.

Remarks
The PropertySet is responsible for deleting this object.
PropertyBase* Ogre::PropertySet::getProperty ( const String name) const

Gets the property object for a given property name.

Remarks
Note that this property will need to be cast to a templated property compatible with the type you will be setting. You might find the overloaded set and get<type> methods quicker if you already know the type.
template<typename T >
void Ogre::PropertySet::getPropertyImpl ( const String name,
T &  refVal,
PropertyType  typeCheck 
) const
inlineprotected

Set a named property value, internal implementation (type match required)

Definition at line 371 of file OgreProperty.h.

References Ogre::Exception::ERR_INVALIDPARAMS, Ogre::PropertyBase::getType(), Ogre::PropertyDef::getTypeName(), and OGRE_EXCEPT.

PropertyIterator Ogre::PropertySet::getPropertyIterator ( )

Get an iterator over the available properties.

template<typename T >
void Ogre::PropertySet::getValue ( const String name,
T &  value 
) const
inline

Get a named property value.

Definition at line 323 of file OgreProperty.h.

References Ogre::PropertyDef::getTypeForValue().

PropertyValueMap Ogre::PropertySet::getValueMap ( ) const

Gets an independently usable collection of property values from the current state.

bool Ogre::PropertySet::hasProperty ( const String name) const

Reports whether this property set contains a named property.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 90 of file OgreMemoryAllocatedObject.h.

void Ogre::PropertySet::removeProperty ( const String name)

Removes the named property from the property set.

template<typename T >
void Ogre::PropertySet::setPropertyImpl ( const String name,
const T &  val,
PropertyType  typeCheck 
)
inlineprotected

Set a named property value, internal implementation (type match required)

Definition at line 356 of file OgreProperty.h.

References Ogre::Exception::ERR_INVALIDPARAMS, Ogre::PropertyBase::getType(), Ogre::PropertyDef::getTypeName(), and OGRE_EXCEPT.

template<typename T >
void Ogre::PropertySet::setValue ( const String name,
const T *  value 
)
inline

Set a named property value (via pointer to avoid copy).

Definition at line 331 of file OgreProperty.h.

References Ogre::PropertyDef::getTypeForValue().

template<typename T >
void Ogre::PropertySet::setValue ( const String name,
value 
)
inline

Set a named property value.

Definition at line 338 of file OgreProperty.h.

References Ogre::PropertyDef::getTypeForValue().

void Ogre::PropertySet::setValue ( const String name,
const char *  pChar 
)
inline

Special-case char*, convert to String automatically.

Definition at line 344 of file OgreProperty.h.

References Ogre::PROP_STRING.

void Ogre::PropertySet::setValueMap ( const PropertyValueMap values)

Sets the current state from a given value map.

Member Data Documentation

PropertyMap Ogre::PropertySet::mPropertyMap
protected

Definition at line 352 of file OgreProperty.h.


The documentation for this class was generated from the following file: