osgIntrospection is ideal for providing non native language binding to the OpenSceneGraph, convenient means for editing properties in a generic way, such as required in scene graph editors, and also facilitates the automatic serealization of objects.
osgIntrospection can be used to provide introspection support to 3rd Party libraries without the need to modify them to add this support, the wrappers providing the actual binding can be automatically generated by parsing header files via gen_wrapper utility. All the core OpenSceneGraph libraries have pre built wrappers available for you use.
typedef std::vector<const Converter* > osgIntrospection::ConverterList |
typedef std::vector<const CustomAttribute* > osgIntrospection::CustomAttributeList |
typedef std::vector<const CustomAttributeProvider *> osgIntrospection::CustomAttributeProviderList |
typedef std::vector<const Converter* > osgIntrospection::ConverterList |
typedef std::map<const std::type_info* , Type* , TypeInfoCmp> osgIntrospection::TypeMap |
A map of types, indexed by their associated type_info structure.
typedef std::vector<const MethodInfo* > osgIntrospection::MethodInfoList |
typedef std::vector<const PropertyInfo* > osgIntrospection::PropertyInfoList |
typedef std::vector<const ParameterInfo* > osgIntrospection::ParameterInfoList |
typedef std::vector<const ConstructorInfo* > osgIntrospection::ConstructorInfoList |
typedef std::map<const Type*, PropertyInfoList > osgIntrospection::PropertyInfoMap |
typedef std::map<const Type*, MethodInfoList > osgIntrospection::MethodInfoMap |
typedef std::map<int, std::string> osgIntrospection::EnumLabelMap |
typedef std::vector<const Type* > osgIntrospection::TypeList |
typedef std::vector<Value> osgIntrospection::ValueList |
A vector of values.
bool osgIntrospection::operator== | ( | const Type & | t1, | |
const Type & | t2 | |||
) | [inline] |
Equality test operator. Returns true if the two instances of Type describe the same type, false otherwise.
bool osgIntrospection::operator!= | ( | const Type & | t1, | |
const Type & | t2 | |||
) | [inline] |
Inequality test operator. Returns false if the two instances of Type describe the same type, true otherwise.
bool osgIntrospection::operator< | ( | const Type & | t1, | |
const Type & | t2 | |||
) | [inline] |
Less than operator. Returns true if the first type comes before the second one. The actual ordering is implementation-dependent.
bool osgIntrospection::operator>= | ( | const Type & | t1, | |
const Type & | t2 | |||
) | [inline] |
Greater than or equal to operator. Returns !operator<().
bool OSGINTROSPECTION_EXPORT osgIntrospection::areParametersCompatible | ( | const ParameterInfoList & | pl1, | |
const ParameterInfoList & | pl2 | |||
) |
bool OSGINTROSPECTION_EXPORT osgIntrospection::areArgumentsCompatible | ( | const ValueList & | vl, | |
const ParameterInfoList & | pl, | |||
float & | match | |||
) |
void osgIntrospection::convertArgument | ( | ValueList & | src, | |
ValueList & | dest, | |||
const ParameterInfoList & | pl, | |||
int | index | |||
) |
const T& osgIntrospection::getInstance | ( | const Value & | instance | ) |
T& osgIntrospection::getInstance | ( | Value & | instance | ) |
T osgIntrospection::variant_cast | ( | const Value & | v | ) |
Tries to convert an instance of Value to an object of type T. If T is a plain type or a pointer type (either const or non-const), and it matches the type of the value contained in v, then the actual value of type T is returned. If T is a [const] reference type, and its base (non reference) type matches the internal value's type, then a [const] reference to the internal value is returned. If none of the above conditions are met, a conversion is attempted as described in Value::convert() and then variant_cast is called again with the converted value as parameter. If the conversion can't be completed, an exception is thrown. Conversions that attempt to make a const pointer non-const will fail.
bool osgIntrospection::requires_conversion | ( | const Value & | v | ) |
Returns true if the Value passed as parameter can't be casted to the specified type without a (potentially slow) conversion. Returns false otherwise.
T* osgIntrospection::extract_raw_data | ( | Value & | v | ) |
Returns a typed pointer to the data contained in a Value instance. If the value's type is not identical to type T, a null pointer is returned.
const T* osgIntrospection::extract_raw_data | ( | const Value & | v | ) |
Returns a typed pointer to the data contained in a const Value instance. If the value's type is not identical to type T, a null pointer is returned.