/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2005 Robert Osfield * * This library is open source and may be redistributed and/or modified under * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or * (at your option) any later version. The full license is in LICENSE file * included with this distribution, and on the openscenegraph.org website. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * OpenSceneGraph Public License for more details. */ //osgIntrospection - Copyright (C) 2005 Marco Jez #ifndef OSGINTROSPECTION_REFLECTIONMACROS_ #define OSGINTROSPECTION_REFLECTIONMACROS_ #include #include #include #include #include namespace osgIntrospection { /** Compile-time polymorphism detector. The enumeration constant "value" evaluates to true only if T is a polymorphic class, false otherwise. T must be a subclassable type. */ template struct is_polymorphic { struct dummy1: T { dummy1(); ~dummy1(); }; struct dummy2: T { dummy2(); virtual ~dummy2(); }; enum { value = sizeof(dummy1) == sizeof(dummy2) }; }; } // -------------------------------------------------------------------------- // "private" macros, not to be used outside this file // -------------------------------------------------------------------------- #define COMMA , #define OSG_RM_CONCATENATE_MACRO(x, y) x##y #define OSG_RM_LINEID1(x, y) OSG_RM_CONCATENATE_MACRO(x, y) #define OSG_RM_LINEID(x) OSG_RM_LINEID1(x, __LINE__) // -------------------------------------------------------------------------- // TYPE NAME ALIASES // -------------------------------------------------------------------------- #define TYPE_NAME_ALIAS(t, n) \ namespace { osgIntrospection::TypeNameAliasProxy OSG_RM_LINEID(tnalias) (#n); } // -------------------------------------------------------------------------- // TYPE CONVERTERS // -------------------------------------------------------------------------- #define I_Converter(s, d, c) \ namespace { osgIntrospection::ConverterProxy OSG_RM_LINEID(cvt) (s, d, new c); } #define I_StaticConverter(s, d) \ I_Converter(s, d, osgIntrospection::StaticConverter); #define I_DynamicConverter(s, d) \ I_Converter(s, d, osgIntrospection::DynamicConverter); #define I_ReinterpretConverter(s, d) \ I_Converter(s, d, osgIntrospection::ReinterpretConverter); // -------------------------------------------------------------------------- // ONE-LINE REFLECTORS // -------------------------------------------------------------------------- #define ABSTRACT_OBJECT_REFLECTOR(t) \ namespace { osgIntrospection::AbstractObjectReflector OSG_RM_LINEID(reflector) (#t); } #define ATOMIC_VALUE_REFLECTOR(t) \ namespace { osgIntrospection::AtomicValueReflector OSG_RM_LINEID(reflector) (#t); } #define STD_PAIR_REFLECTOR(t) \ namespace { osgIntrospection::StdPairReflector OSG_RM_LINEID(reflector) (#t); } #define STD_PAIR_REFLECTOR_WITH_TYPES(t, pt1, pt2) \ namespace { osgIntrospection::StdPairReflector OSG_RM_LINEID(reflector) (#t); } #define STD_VECTOR_REFLECTOR(t) \ namespace { osgIntrospection::StdVectorReflector OSG_RM_LINEID(reflector) (#t); } #define STD_VECTOR_REFLECTOR_WITH_TYPES(t, vt) \ namespace { osgIntrospection::StdVectorReflector OSG_RM_LINEID(reflector) (#t); } #define STD_LIST_REFLECTOR(t) \ namespace { osgIntrospection::StdListReflector OSG_RM_LINEID(reflector) (#t); } #define STD_LIST_REFLECTOR_WITH_TYPES(t, vt) \ namespace { osgIntrospection::StdListReflector OSG_RM_LINEID(reflector) (#t); } #define STD_SET_REFLECTOR(t) \ namespace { osgIntrospection::StdSetReflector OSG_RM_LINEID(reflector) (#t); } #define STD_SET_REFLECTOR_WITH_TYPES(t, vt) \ namespace { osgIntrospection::StdSetReflector OSG_RM_LINEID(reflector) (#t); } #define STD_MAP_REFLECTOR(t) \ namespace { osgIntrospection::StdMapReflector OSG_RM_LINEID(reflector) (#t); } #define STD_MAP_REFLECTOR_WITH_TYPES(t, it, vt) \ namespace { osgIntrospection::StdMapReflector OSG_RM_LINEID(reflector) (#t); } // -------------------------------------------------------------------------- // DETAILED REFLECTORS // -------------------------------------------------------------------------- // this dummy function is used to prevent GCC from // emitting an "unused variable" warning on reflector // fields that are automatically created by following // macros, and possibly left unused by the implementor. // NOTE: the unnamed namespace declaration is commented // out because it seems to confuse the MSVC++ compiler. // Anyway, static should be ok. //namespace //{ static inline void sink(const osgIntrospection::CustomAttributeProvider *) { } //} #define BEGIN_ENUM_REFLECTOR(c) \ namespace { \ struct OSG_RM_LINEID(reflector): osgIntrospection::EnumReflector { OSG_RM_LINEID(reflector)(): inherited(#c) { osgIntrospection::ParameterInfoList params; osgIntrospection::CustomAttributeProvider *cap = getType(); sink(cap); #define BEGIN_VALUE_REFLECTOR(c) \ namespace { \ struct OSG_RM_LINEID(reflector): osgIntrospection::ValueReflector { OSG_RM_LINEID(reflector)(): inherited(#c) { osgIntrospection::ParameterInfoList params; osgIntrospection::CustomAttributeProvider *cap = getType(); sink(cap); #define BEGIN_OBJECT_REFLECTOR(c) \ namespace { \ struct OSG_RM_LINEID(reflector): osgIntrospection::ObjectReflector { OSG_RM_LINEID(reflector)(): inherited(#c) { osgIntrospection::ParameterInfoList params; osgIntrospection::CustomAttributeProvider *cap = getType(); sink(cap); #define BEGIN_ABSTRACT_OBJECT_REFLECTOR(c) \ namespace { \ struct OSG_RM_LINEID(reflector): osgIntrospection::AbstractObjectReflector { OSG_RM_LINEID(reflector)(): inherited(#c) { osgIntrospection::ParameterInfoList params; osgIntrospection::CustomAttributeProvider *cap = getType(); sink(cap); #define END_REFLECTOR \ } } OSG_RM_LINEID(reflector_instance); } // -------------------------------------------------------------------------- // BASIC CONFIGURATION // -------------------------------------------------------------------------- #define I_Attribute(c) cap->addAttribute(new c); #define I_ReaderWriter(x) setReaderWriter(new x); #define I_Comparator(x) setComparator(new x); template struct BaseTypeConverters { BaseTypeConverters() { const osgIntrospection::Type& st = typeof(reflected_type*); \ const osgIntrospection::Type& cst = typeof(const reflected_type*); \ const osgIntrospection::Type& dt = typeof(x*); \ const osgIntrospection::Type& cdt = typeof(const x*); \ osgIntrospection::ConverterProxy cp1(st, dt, new osgIntrospection::StaticConverter); \ osgIntrospection::ConverterProxy cp2(cst, cdt, new osgIntrospection::StaticConverter); \ osgIntrospection::ConverterProxy cp1c(st, cdt, new osgIntrospection::StaticConverter); \ } }; template struct BaseTypeConverters { BaseTypeConverters() { const osgIntrospection::Type& st = typeof(reflected_type*); \ const osgIntrospection::Type& cst = typeof(const reflected_type*); \ const osgIntrospection::Type& dt = typeof(x*); \ const osgIntrospection::Type& cdt = typeof(const x*); \ osgIntrospection::ConverterProxy cp1(st, dt, new osgIntrospection::StaticConverter); \ osgIntrospection::ConverterProxy cp2(cst, cdt, new osgIntrospection::StaticConverter); \ osgIntrospection::ConverterProxy cp1c(st, cdt, new osgIntrospection::StaticConverter); \ osgIntrospection::ConverterProxy cp3(dt, st, new osgIntrospection::DynamicConverter); \ osgIntrospection::ConverterProxy cp4(cdt, cst, new osgIntrospection::DynamicConverter); \ osgIntrospection::ConverterProxy cp3c(dt, cst, new osgIntrospection::DynamicConverter); \ } }; #define I_BaseType(x) \ { \ addBaseType(typeof(x )); \ BaseTypeConverters::value> btc; \ } #define I_VirtualBaseType(x) \ { \ addBaseType(typeof(x )); \ BaseTypeConverters btc; \ } #define I_EnumLabel(x) addEnumLabel(x, #x, true); // -------------------------------------------------------------------------- // SIMPLE PROPERTIES // -------------------------------------------------------------------------- #define I_Property(t, n) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method0(t, get##n), \ I_Method1(void, set##n, IN, t, value))) #define I_ReadOnlyProperty(t, n) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method0(t, get##n), \ 0)) #define I_WriteOnlyProperty(t, n) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ 0, \ I_Method1(void, set##n, IN, t, value))) #define I_PropertyWithReturnType(t, n, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method0(t, get##n), \ I_Method1(r, set##n, IN, t, value))) #define I_WriteOnlyPropertyWithReturnType(t, n, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ 0, \ I_Method1(r, set##n, IN, t, value))) #define I_PropertyWithCustomAccessors(t, n) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ 0, \ 0)) // -------------------------------------------------------------------------- // ARRAY PROPERTIES // -------------------------------------------------------------------------- #define I_ArrayProperty_Custom(t, n, np, idxt, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #np, \ 0, \ 0, \ 0, \ 0, \ 0)) #define I_ArrayProperty_Full(t, n, np, idxt, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #np, \ I_Method1(t, get##n, IN, idxt, index), \ I_Method2(r, set##n, IN, idxt, index, IN, t, value), \ I_Method0(idxt, getNum##np), \ I_Method1(r, add##n, IN, t, value), \ I_Method1(r, remove##n, IN, idxt, index))) #define I_ArrayProperty_GSA(t, n, np, idxt, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #np, \ I_Method1(t, get##n, IN, idxt, index), \ I_Method2(r, set##n, IN, idxt, index, IN, t, value), \ I_Method0(idxt, getNum##np), \ I_Method1(r, add##n, IN, t, value), \ 0)) #define I_ArrayProperty_G(t, n, np, idxt, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #np, \ I_Method1(t, get##n, IN, idxt, index), \ 0, \ I_Method0(idxt, getNum##np), \ 0, \ 0)) #define I_ArrayProperty_GA(t, n, np, idxt, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #np, \ I_Method1(t, get##n, IN, idxt, index), \ 0, \ I_Method0(idxt, getNum##np), \ I_Method1(r, add##n, IN, t, value), \ 0)) #define I_ArrayProperty_GAR(t, n, np, idxt, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #np, \ I_Method1(t, get##n, IN, idxt, index), \ 0, \ I_Method0(idxt, getNum##np), \ I_Method1(r, add##n, IN, t, value), \ I_Method1(r, remove##n, IN, idxt, index))) #define I_ArrayProperty(t, n, np) I_ArrayProperty_Full(t, n, np, unsigned int, void) #define I_ArrayProperty_int(t, n, np) I_ArrayProperty_Full(t, n, np, int, void) #define I_CustomArrayProperty(t, n, np) I_ArrayProperty_Custom(t, n, np, unsigned int, void) #define I_CustomArrayProperty_int(t, n, np) I_ArrayProperty_Custom(t, n, np, int, void) // -------------------------------------------------------------------------- // INDEXED PROPERTIES // -------------------------------------------------------------------------- #define I_IndexedProperty I_IndexedProperty1 #define I_IndexedProperty1(t, n, i0, n0) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method1(t, get##n, IN, i0, n0), \ I_Method2(void, set##n, IN, i0, n0, IN, t, value))) #define I_IndexedProperty2(t, n, i0, n0, i1, n1) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method2(t, get##n, IN, i0, n0, IN, i1, n1), \ I_Method3(void, set##n, IN, i0, n0, IN, i1, n1, IN, t, value))) #define I_IndexedProperty3(t, n, i0, n0, i1, n1, i2, n2) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method3(t, get##n, IN, i0, n0, IN, i1, n1, IN, i2, n2), \ I_Method4(void, set##n, IN, i0, n0, IN, i1, n1, IN, i2, n2, IN, t, value))) #define I_IndexedProperty4(t, n, i0, n0, i1, n1, i2, n2, i3, n3) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method4(t, get##n, IN, i0, n0, IN, i1, n1, IN, i2, n2, IN, i3, n3), \ I_Method5(void, set##n, IN, i0, n0, IN, i1, n1, IN, i2, n2, IN, i3, n3, IN, t, value))) #define I_IndexedPropertyWithReturnType1(t, n, i0, n0, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method1(t, get##n, IN, i0, n0), \ I_Method2(r, set##n, IN, i0, n0, IN, t, value))) #define I_IndexedPropertyWithReturnType2(t, n, i0, n0, i1, n1, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method2(t, get##n, IN, i0, n0, IN, i1, n1), \ I_Method3(r, set##n, IN, i0, n0, IN, i1, n1, IN, t, value))) #define I_IndexedPropertyWithReturnType3(t, n, i0, n0, i1, n1, i2, n2, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method3(t, get##n, IN, i0, n0, IN, i1, n1, IN, i2, n2), \ I_Method4(r, set##n, IN, i0, n0, IN, i1, n1, IN, i2, n2, IN, t, value))) #define I_IndexedPropertyWithReturnType4(t, n, i0, n0, i1, n1, i2, n2, i3, n3, r) \ cap=addProperty(new osgIntrospection::PropertyInfo(osgIntrospection::Reflection::getType(typeid(reflected_type)), osgIntrospection::Reflection::getType(typeid(t)), #n, \ I_Method4(t, get##n, IN, i0, n0, IN, i1, n1, IN, i2, n2, IN, i3, n3), \ I_Method5(r, set##n, IN, i0, n0, IN, i1, n1, IN, i2, n2, IN, i3, n3, IN, t, value))) // -------------------------------------------------------------------------- // CONSTRUCTORS // -------------------------------------------------------------------------- #define I_Constructor I_Constructor0 #define I_ConstructorWithDefaults I_ConstructorWithDefaults0 #define I_Constructor0() (\ params.clear(), \ addConstructor(new osgIntrospection::TypedConstructorInfo0(params))) #define I_Constructor1(A0, P0, N0) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ addConstructor(new osgIntrospection::TypedConstructorInfo1(params))) #define I_Constructor2(A0, P0, N0, A1, P1, N1) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ addConstructor(new osgIntrospection::TypedConstructorInfo2(params))) #define I_Constructor3(A0, P0, N0, A1, P1, N1, A2, P2, N2) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ addConstructor(new osgIntrospection::TypedConstructorInfo3(params))) #define I_Constructor4(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ addConstructor(new osgIntrospection::TypedConstructorInfo4(params))) #define I_Constructor5(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ addConstructor(new osgIntrospection::TypedConstructorInfo5(params))) #define I_Constructor6(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ addConstructor(new osgIntrospection::TypedConstructorInfo6(params))) #define I_Constructor7(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ addConstructor(new osgIntrospection::TypedConstructorInfo7(params))) #define I_Constructor8(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ addConstructor(new osgIntrospection::TypedConstructorInfo8(params))) #define I_Constructor9(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ addConstructor(new osgIntrospection::TypedConstructorInfo9(params))) #define I_Constructor10(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ addConstructor(new osgIntrospection::TypedConstructorInfo10(params))) #define I_Constructor11(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ addConstructor(new osgIntrospection::TypedConstructorInfo11(params))) #define I_Constructor12(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ addConstructor(new osgIntrospection::TypedConstructorInfo12(params))) #define I_Constructor13(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ addConstructor(new osgIntrospection::TypedConstructorInfo13(params))) #define I_Constructor14(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ addConstructor(new osgIntrospection::TypedConstructorInfo14(params))) #define I_Constructor15(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13, A14, P14, N14) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14)), \ addConstructor(new osgIntrospection::TypedConstructorInfo15(params))) #define I_Constructor16(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13, A14, P14, N14, A15, P15, N15) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14)), \ params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(typeid(P15)), osgIntrospection::ParameterInfo::A15)), \ addConstructor(new osgIntrospection::TypedConstructorInfo16(params))) #define I_ConstructorWithDefaults0() (\ params.clear(), \ addConstructor(new osgIntrospection::TypedConstructorInfo0(params))) #define I_ConstructorWithDefaults1(A0, P0, N0, D0) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ addConstructor(new osgIntrospection::TypedConstructorInfo1(params))) #define I_ConstructorWithDefaults2(A0, P0, N0, D0, A1, P1, N1, D1) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ addConstructor(new osgIntrospection::TypedConstructorInfo2(params))) #define I_ConstructorWithDefaults3(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ addConstructor(new osgIntrospection::TypedConstructorInfo3(params))) #define I_ConstructorWithDefaults4(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ addConstructor(new osgIntrospection::TypedConstructorInfo4(params))) #define I_ConstructorWithDefaults5(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ addConstructor(new osgIntrospection::TypedConstructorInfo5(params))) #define I_ConstructorWithDefaults6(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ addConstructor(new osgIntrospection::TypedConstructorInfo6(params))) #define I_ConstructorWithDefaults7(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ addConstructor(new osgIntrospection::TypedConstructorInfo7(params))) #define I_ConstructorWithDefaults8(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ addConstructor(new osgIntrospection::TypedConstructorInfo8(params))) #define I_ConstructorWithDefaults9(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ addConstructor(new osgIntrospection::TypedConstructorInfo9(params))) #define I_ConstructorWithDefaults10(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ addConstructor(new osgIntrospection::TypedConstructorInfo10(params))) #define I_ConstructorWithDefaults11(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ addConstructor(new osgIntrospection::TypedConstructorInfo11(params))) #define I_ConstructorWithDefaults12(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ addConstructor(new osgIntrospection::TypedConstructorInfo12(params))) #define I_ConstructorWithDefaults13(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ addConstructor(new osgIntrospection::TypedConstructorInfo13(params))) #define I_ConstructorWithDefaults14(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ addConstructor(new osgIntrospection::TypedConstructorInfo14(params))) #define I_ConstructorWithDefaults15(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13, A14, P14, N14, D14) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))), \ addConstructor(new osgIntrospection::TypedConstructorInfo15(params))) #define I_ConstructorWithDefaults16(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13, A14, P14, N14, D14, A15, P15, N15, D15) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))), \ params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(typeid(P15)), osgIntrospection::ParameterInfo::A15, osgIntrospection::Value(D15))), \ addConstructor(new osgIntrospection::TypedConstructorInfo16(params))) // -------------------------------------------------------------------------- // METHODS // -------------------------------------------------------------------------- #define I_Method I_Method0 #define I_StaticMethod I_StaticMethod0 #define I_MethodWithDefaults I_MethodWithDefaults0 #define I_StaticMethodWithDefaults I_StaticMethodWithDefaults0 #define I_Method0(ret, fn) (\ params.clear(), \ addMethod(new osgIntrospection::TypedMethodInfo0(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method1(ret, fn, A0, P0, N0) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ addMethod(new osgIntrospection::TypedMethodInfo1(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method2(ret, fn, A0, P0, N0, A1, P1, N1) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ addMethod(new osgIntrospection::TypedMethodInfo2(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method3(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ addMethod(new osgIntrospection::TypedMethodInfo3(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method4(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ addMethod(new osgIntrospection::TypedMethodInfo4(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method5(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ addMethod(new osgIntrospection::TypedMethodInfo5(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method6(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ addMethod(new osgIntrospection::TypedMethodInfo6(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method7(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ addMethod(new osgIntrospection::TypedMethodInfo7(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method8(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ addMethod(new osgIntrospection::TypedMethodInfo8(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method9(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ addMethod(new osgIntrospection::TypedMethodInfo9(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method10(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ addMethod(new osgIntrospection::TypedMethodInfo10(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method11(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ addMethod(new osgIntrospection::TypedMethodInfo11(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method12(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ addMethod(new osgIntrospection::TypedMethodInfo12(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method13(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ addMethod(new osgIntrospection::TypedMethodInfo13(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method14(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ addMethod(new osgIntrospection::TypedMethodInfo14(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method15(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13, A14, P14, N14) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14)), \ addMethod(new osgIntrospection::TypedMethodInfo15(qualifyName(#fn), &reflected_type::fn, params))) #define I_Method16(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13, A14, P14, N14, A15, P15, N15) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14)), \ params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(typeid(P15)), osgIntrospection::ParameterInfo::A15)), \ addMethod(new osgIntrospection::TypedMethodInfo16(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults0(ret, fn) (\ params.clear(), \ addMethod(new osgIntrospection::TypedMethodInfo0(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults1(ret, fn, A0, P0, N0, D0) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ addMethod(new osgIntrospection::TypedMethodInfo1(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults2(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ addMethod(new osgIntrospection::TypedMethodInfo2(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults3(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ addMethod(new osgIntrospection::TypedMethodInfo3(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults4(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ addMethod(new osgIntrospection::TypedMethodInfo4(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults5(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ addMethod(new osgIntrospection::TypedMethodInfo5(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults6(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ addMethod(new osgIntrospection::TypedMethodInfo6(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults7(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ addMethod(new osgIntrospection::TypedMethodInfo7(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults8(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ addMethod(new osgIntrospection::TypedMethodInfo8(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults9(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ addMethod(new osgIntrospection::TypedMethodInfo9(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults10(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ addMethod(new osgIntrospection::TypedMethodInfo10(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults11(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ addMethod(new osgIntrospection::TypedMethodInfo11(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults12(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ addMethod(new osgIntrospection::TypedMethodInfo12(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults13(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ addMethod(new osgIntrospection::TypedMethodInfo13(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults14(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ addMethod(new osgIntrospection::TypedMethodInfo14(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults15(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13, A14, P14, N14, D14) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))), \ addMethod(new osgIntrospection::TypedMethodInfo15(qualifyName(#fn), &reflected_type::fn, params))) #define I_MethodWithDefaults16(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13, A14, P14, N14, D14, A15, P15, N15, D15) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))), \ params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(typeid(P15)), osgIntrospection::ParameterInfo::A15, osgIntrospection::Value(D15))), \ addMethod(new osgIntrospection::TypedMethodInfo16(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod0(ret, fn) (\ params.clear(), \ addMethod(new osgIntrospection::StaticMethodInfo0(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod1(ret, fn, A0, P0, N0) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ addMethod(new osgIntrospection::StaticMethodInfo1(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod2(ret, fn, A0, P0, N0, A1, P1, N1) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ addMethod(new osgIntrospection::StaticMethodInfo2(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod3(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ addMethod(new osgIntrospection::StaticMethodInfo3(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod4(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ addMethod(new osgIntrospection::StaticMethodInfo4(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod5(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ addMethod(new osgIntrospection::StaticMethodInfo5(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod6(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ addMethod(new osgIntrospection::StaticMethodInfo6(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod7(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ addMethod(new osgIntrospection::StaticMethodInfo7(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod8(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ addMethod(new osgIntrospection::StaticMethodInfo8(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod9(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ addMethod(new osgIntrospection::StaticMethodInfo9(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod10(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ addMethod(new osgIntrospection::StaticMethodInfo10(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod11(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ addMethod(new osgIntrospection::StaticMethodInfo11(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod12(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ addMethod(new osgIntrospection::StaticMethodInfo12(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod13(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ addMethod(new osgIntrospection::StaticMethodInfo13(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod14(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ addMethod(new osgIntrospection::StaticMethodInfo14(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod15(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13, A14, P14, N14) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14)), \ addMethod(new osgIntrospection::StaticMethodInfo15(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethod16(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, A8, P8, N8, A9, P9, N9, A10, P10, N10, A11, P11, N11, A12, P12, N12, A13, P13, N13, A14, P14, N14, A15, P15, N15) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0)), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1)), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2)), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3)), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4)), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5)), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6)), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7)), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8)), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9)), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10)), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11)), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12)), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13)), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14)), \ params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(typeid(P15)), osgIntrospection::ParameterInfo::A15)), \ addMethod(new osgIntrospection::StaticMethodInfo16(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults0(ret, fn) (\ params.clear(), \ addMethod(new osgIntrospection::StaticMethodInfo0(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults1(ret, fn, A0, P0, N0, D0) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ addMethod(new osgIntrospection::StaticMethodInfo1(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults2(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ addMethod(new osgIntrospection::StaticMethodInfo2(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults3(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ addMethod(new osgIntrospection::StaticMethodInfo3(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults4(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ addMethod(new osgIntrospection::StaticMethodInfo4(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults5(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ addMethod(new osgIntrospection::StaticMethodInfo5(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults6(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ addMethod(new osgIntrospection::StaticMethodInfo6(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults7(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ addMethod(new osgIntrospection::StaticMethodInfo7(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults8(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ addMethod(new osgIntrospection::StaticMethodInfo8(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults9(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ addMethod(new osgIntrospection::StaticMethodInfo9(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults10(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ addMethod(new osgIntrospection::StaticMethodInfo10(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults11(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ addMethod(new osgIntrospection::StaticMethodInfo11(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults12(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ addMethod(new osgIntrospection::StaticMethodInfo12(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults13(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ addMethod(new osgIntrospection::StaticMethodInfo13(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults14(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ addMethod(new osgIntrospection::StaticMethodInfo14(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults15(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13, A14, P14, N14, D14) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))), \ addMethod(new osgIntrospection::StaticMethodInfo15(qualifyName(#fn), &reflected_type::fn, params))) #define I_StaticMethodWithDefaults16(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, A6, P6, N6, D6, A7, P7, N7, D7, A8, P8, N8, D8, A9, P9, N9, D9, A10, P10, N10, D10, A11, P11, N11, D11, A12, P12, N12, D12, A13, P13, N13, D13, A14, P14, N14, D14, A15, P15, N15, D15) (\ params.clear(), \ params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(typeid(P0)), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))), \ params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(typeid(P1)), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))), \ params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(typeid(P2)), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))), \ params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(typeid(P3)), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))), \ params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(typeid(P4)), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))), \ params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(typeid(P5)), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))), \ params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(typeid(P6)), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))), \ params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(typeid(P7)), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))), \ params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(typeid(P8)), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))), \ params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(typeid(P9)), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))), \ params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(typeid(P10)), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))), \ params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(typeid(P11)), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))), \ params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(typeid(P12)), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))), \ params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(typeid(P13)), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))), \ params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(typeid(P14)), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))), \ params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(typeid(P15)), osgIntrospection::ParameterInfo::A15, osgIntrospection::Value(D15))), \ addMethod(new osgIntrospection::StaticMethodInfo16(qualifyName(#fn), &reflected_type::fn, params))) #endif