OpenSceneGraph
3.5.1
|
ClassInterface provides a general means of checking for supported properties of classes, and getting/setting thoses properties. More...
Public Types | |
typedef std::map< std::string, osgDB::BaseSerializer::Type > | PropertyMap |
Properties supported for a single class. More... | |
typedef std::map< std::string, PropertyMap > | ObjectPropertyMap |
Properties supported for a range of classes, used for white and black lists. More... | |
Public Member Functions | |
ClassInterface () | |
bool | getPropertyType (const osg::Object *object, const std::string &propertyName, osgDB::BaseSerializer::Type &type) const |
get the Type of the specified property, return true if property is supported, otherwise false. More... | |
bool | areTypesCompatible (osgDB::BaseSerializer::Type lhs, osgDB::BaseSerializer::Type rhs) const |
return type of two types are compatible More... | |
osg::Object * | createObject (const std::string &compoundClassdName) const |
create an object of specified type for provided compound class name in the form libraryName::className. More... | |
template<typename T > | |
bool | getProperty (const osg::Object *object, const std::string &propertyName, T &value) |
template method for getting property data, return true if property available and the type is compatible, otherwise returns false. More... | |
template<typename T > | |
bool | setProperty (osg::Object *object, const std::string &propertyName, const T &value) |
template method for setting property data, return true if property available and the type is compatible, otherwise returns false. More... | |
std::string | getTypeName (osgDB::BaseSerializer::Type type) const |
get the human readable name of type. More... | |
osgDB::BaseSerializer::Type | getType (const std::string &typeName) const |
get the enum value of type given the human readable name. More... | |
bool | getSupportedProperties (const osg::Object *object, PropertyMap &properties, bool searchAssociates=true) const |
Get the list of of properties supported by object. More... | |
bool | isObjectOfType (const osg::Object *object, const std::string &compoundClassName) const |
return true if the object can be cast to the specified class specified by compoundClassName More... | |
bool | run (void *objectPtr, const std::string &compoundClassName, const std::string &methodName, osg::Parameters &inputParameters, osg::Parameters &outputParameters) const |
run method of object More... | |
bool | run (osg::Object *object, const std::string &methodName, osg::Parameters &inputParameters, osg::Parameters &outputParameters) const |
run method of object More... | |
bool | hasMethod (const std::string &compoundClassName, const std::string &methodName) const |
checked for support of specificed method More... | |
bool | hasMethod (const osg::Object *object, const std::string &methodName) const |
checked for support of specificed method More... | |
ObjectPropertyMap & | getWhiteList () |
Get the list of properties that are explicitly defined as supported. More... | |
const ObjectPropertyMap & | getWhiteList () const |
Get the const list of properties that are explicitly defined as supported. More... | |
ObjectPropertyMap & | getBlackList () |
Get the list of properties that are explicitly defined as not supported. More... | |
const ObjectPropertyMap & | getBlackList () const |
Get the const list of properties that are explicitly defined as not supported. More... | |
osgDB::ObjectWrapper * | getObjectWrapper (const osg::Object *object) const |
osgDB::BaseSerializer * | getSerializer (const osg::Object *object, const std::string &propertyName, osgDB::BaseSerializer::Type &type) const |
template<> | |
bool | getProperty (const osg::Object *object, const std::string &propertyName, ObjectPtr &value) |
template<> | |
bool | setProperty (osg::Object *object, const std::string &propertyName, const ObjectPtr &value) |
Protected Types | |
typedef std::map< std::string, osgDB::BaseSerializer::Type > | TypeNameToTypeMap |
typedef std::map< osgDB::BaseSerializer::Type, std::string > | TypeToTypeNameMap |
Protected Member Functions | |
bool | copyPropertyDataFromObject (const osg::Object *object, const std::string &propertyName, void *valuePtr, unsigned int valueSize, osgDB::BaseSerializer::Type valueType) |
bool | copyPropertyDataToObject (osg::Object *object, const std::string &propertyName, const void *valuePtr, unsigned int valueSize, osgDB::BaseSerializer::Type valueType) |
bool | copyPropertyObjectFromObject (const osg::Object *object, const std::string &propertyName, void *valuePtr, unsigned int valueSize, osgDB::BaseSerializer::Type valueType) |
bool | copyPropertyObjectToObject (osg::Object *object, const std::string &propertyName, const void *valuePtr, unsigned int valueSize, osgDB::BaseSerializer::Type valueType) |
Protected Attributes | |
osgDB::OutputStream | _outputStream |
PropertyOutputIterator * | _poi |
osgDB::InputStream | _inputStream |
PropertyInputIterator * | _pii |
TypeNameToTypeMap | _typeNameToTypeMap |
TypeToTypeNameMap | _typeToTypeNameMap |
ObjectPropertyMap | _whiteList |
ObjectPropertyMap | _blackList |
ClassInterface provides a general means of checking for supported properties of classes, and getting/setting thoses properties.
Uses the osgDB serializers to do the actual object query/get/set.
typedef std::map<std::string, PropertyMap> osgDB::ClassInterface::ObjectPropertyMap |
Properties supported for a range of classes, used for white and black lists.
typedef std::map<std::string, osgDB::BaseSerializer::Type> osgDB::ClassInterface::PropertyMap |
Properties supported for a single class.
|
protected |
|
protected |
osgDB::ClassInterface::ClassInterface | ( | ) |
bool osgDB::ClassInterface::areTypesCompatible | ( | osgDB::BaseSerializer::Type | lhs, |
osgDB::BaseSerializer::Type | rhs | ||
) | const |
return type of two types are compatible
|
protected |
|
protected |
|
protected |
|
protected |
osg::Object* osgDB::ClassInterface::createObject | ( | const std::string & | compoundClassdName | ) | const |
create an object of specified type for provided compound class name in the form libraryName::className.
|
inline |
Get the list of properties that are explicitly defined as not supported.
|
inline |
Get the const list of properties that are explicitly defined as not supported.
osgDB::ObjectWrapper* osgDB::ClassInterface::getObjectWrapper | ( | const osg::Object * | object | ) | const |
bool osgDB::ClassInterface::getProperty | ( | const osg::Object * | object, |
const std::string & | propertyName, | ||
T & | value | ||
) |
template method for getting property data, return true if property available and the type is compatible, otherwise returns false.
|
inline |
bool osgDB::ClassInterface::getPropertyType | ( | const osg::Object * | object, |
const std::string & | propertyName, | ||
osgDB::BaseSerializer::Type & | type | ||
) | const |
get the Type of the specified property, return true if property is supported, otherwise false.
osgDB::BaseSerializer* osgDB::ClassInterface::getSerializer | ( | const osg::Object * | object, |
const std::string & | propertyName, | ||
osgDB::BaseSerializer::Type & | type | ||
) | const |
bool osgDB::ClassInterface::getSupportedProperties | ( | const osg::Object * | object, |
PropertyMap & | properties, | ||
bool | searchAssociates = true |
||
) | const |
Get the list of of properties supported by object.
osgDB::BaseSerializer::Type osgDB::ClassInterface::getType | ( | const std::string & | typeName | ) | const |
get the enum value of type given the human readable name.
std::string osgDB::ClassInterface::getTypeName | ( | osgDB::BaseSerializer::Type | type | ) | const |
get the human readable name of type.
|
inline |
Get the list of properties that are explicitly defined as supported.
|
inline |
Get the const list of properties that are explicitly defined as supported.
bool osgDB::ClassInterface::hasMethod | ( | const std::string & | compoundClassName, |
const std::string & | methodName | ||
) | const |
checked for support of specificed method
bool osgDB::ClassInterface::hasMethod | ( | const osg::Object * | object, |
const std::string & | methodName | ||
) | const |
checked for support of specificed method
bool osgDB::ClassInterface::isObjectOfType | ( | const osg::Object * | object, |
const std::string & | compoundClassName | ||
) | const |
return true if the object can be cast to the specified class specified by compoundClassName
bool osgDB::ClassInterface::run | ( | void * | objectPtr, |
const std::string & | compoundClassName, | ||
const std::string & | methodName, | ||
osg::Parameters & | inputParameters, | ||
osg::Parameters & | outputParameters | ||
) | const |
run method of object
bool osgDB::ClassInterface::run | ( | osg::Object * | object, |
const std::string & | methodName, | ||
osg::Parameters & | inputParameters, | ||
osg::Parameters & | outputParameters | ||
) | const |
run method of object
bool osgDB::ClassInterface::setProperty | ( | osg::Object * | object, |
const std::string & | propertyName, | ||
const T & | value | ||
) |
template method for setting property data, return true if property available and the type is compatible, otherwise returns false.
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at Wed Nov 11 2015 22:14:52 for the OpenSceneGraph by doxygen 1.8.10. |