23#define OSG_HAS_VALUEMAP
45 return (_keyValueMap[key] =
object).get();
52 KeyValueMap::iterator itr = _keyValueMap.find(key);
53 if (itr!=_keyValueMap.end())
56 if (
typeid(*(obj))==
typeid(UserValueObject))
58 UserValueObject* uvo =
static_cast<UserValueObject*
>(itr->second.get());
64 return (_keyValueMap[key] =
new UserValueObject(value)).
get();
70 KeyValueMap::iterator itr = _keyValueMap.find(key);
71 return (itr!=_keyValueMap.end()) ? itr->second.get() : 0;
76 KeyValueMap::const_iterator itr = _keyValueMap.find(key);
77 return (itr!=_keyValueMap.end()) ? itr->second.get() : 0;
84 Object*
object = getValue(key);
85 return (
object &&
typeid(*
object)==
typeid(T)) ?
static_cast<T*
>(object) : 0;
92 const Object*
object = getValue(key);
93 return (
object &&
typeid(*
object)==
typeid(T)) ?
static_cast<const T*
>(object) : 0;
101 UserValueObject* uvo = getValueOfType<UserValueObject>(key);
104 value = uvo->getValue();
117 const UserValueObject* uvo = getValueOfType<UserValueObject>(key);
120 value = uvo->getValue();
@ SHALLOW_COPY
Definition CopyOp:47
Definition ValueObject:283
ValueMap(const ValueMap &vm, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
void setKeyValueMap(KeyValueMap &properties)
Definition ValueMap:37
KeyValueMap & getKeyValueMap()
Definition ValueMap:39
bool getValue(const osg::Referenced *key, T &value)
Definition ValueMap:98
META_Object(osg, ValueMap)
T * getValueOfType(const osg::Referenced *key)
Definition ValueMap:82
const KeyValueMap & getKeyValueMap() const
Definition ValueMap:41
KeyValueMap _keyValueMap
Definition ValueMap:134
std::map< osg::ref_ptr< const osg::Referenced >, osg::ref_ptr< osg::Object > > KeyValueMap
Definition ValueMap:35
osg::Object * getValue(const osg::Referenced *key)
Definition ValueMap:68
osg::Object * setValue(const osg::Referenced *key, osg::Object *object)
Definition ValueMap:43
bool getValue(const osg::Referenced *key, T &value) const
Definition ValueMap:114
const osg::Object * getValue(const osg::Referenced *key) const
Definition ValueMap:74
const T * getValueOfType(const osg::Referenced *key) const
Definition ValueMap:90
osg::Object * setValue(const osg::Referenced *key, const T &value)
Definition ValueMap:49
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
T * get(unsigned int contextID)
Definition ContextData:152
#define OSG_EXPORT
Definition osg/Export:39