diff --git a/genwrapper.conf b/genwrapper.conf index 4741c4b23..fef2e0389 100644 --- a/genwrapper.conf +++ b/genwrapper.conf @@ -38,7 +38,7 @@ end ############################################################################# -# suppress reflector "osg::CullStack" +suppress reflector "osg::CullStack" ignore file "osgViewer/GraphicsWindowX11" ignore file "osgViewer/GraphicsWindowWin32" @@ -295,6 +295,16 @@ end ############################################################################# +# Suppress nested nested class method + +configure reflector "osgShadow::OccluderGeometry" + configure method /.*_Edge_.*/ + replace with "" + end +end + +############################################################################# + # Doxygen doesn't parse ReadFunc and WriteFunc correctly... configure reflector "osgDB::DotOsgWrapper::ReadFunc" @@ -315,3 +325,82 @@ suppress reflector "osg::ref_ptr< const osg::StateAttribute >" suppress reflector "osg::ref_ptr< const osgFX::Effect >" ############################################################################# + +# Doxygen incorrectly parses function typedefs as methods + +configure reflector "osg::BufferObject::Extensions" + configure method "__typedef__void__APIENTRY_P1" + replace with "" + end + configure method "__typedef__GLboolean__APIENTRY_P1" + replace with "" + end +end + +configure reflector "osg::Drawable::Extensions" + configure method "__typedef__void__APIENTRY_P1" + replace with "" + end + configure method "__typedef__GLboolean__APIENTRY_P1" + replace with "" + end +end + +configure reflector "osg::State" + configure method "__typedef__void__APIENTRY_P1" + replace with "" + end +end + +############################################################################# + +# avoid functions that use protected types, since those are not handled +# currently + +configure reflector "osg::Shader" + configure method /.*_PerContextShader_.*/ + replace with "" + end +end + +configure reflector "osg::State" + configure method /.*_(ModeStack|AttributeStack|ModeMap|AttributeMap|UniformMap)_.*/ + replace with "" + end +end + +configure reflector "osgUtil::Optimizer::TextureAtlasBuilder" + configure method /.*_Source_.*/ + replace with "" + end +end + +configure reflector "osgUtil::Tessellator" + configure method /.*_VertexPtrToIndexMap_.*/ + replace with "" + end +end + +configure reflector "osgDB::Registry" + configure method /.*_(DynamicLibraryList_iterator|DotOsgWrapperMap)_.*/ + replace with "" + end +end + +configure reflector "osgText::FadeText" + configure method /.*_ViewBlendColou?rMap_.*/ + replace with "" + end +end + +configure reflector "osgParticle::PrecipitationEffect" + configure method /.*_PrecipitationDrawableSet_.*/ + replace with "" + end +end + +configure reflector "osgManipulator::MotionCommand" + configure method /.*_SelectionList_.*/ + replace with "" + end +end diff --git a/include/osgIntrospection/Exceptions b/include/osgIntrospection/Exceptions index e1d1e40f0..a7f695fab 100644 --- a/include/osgIntrospection/Exceptions +++ b/include/osgIntrospection/Exceptions @@ -60,6 +60,14 @@ namespace osgIntrospection } }; + struct ProtectedConstructorInvocationException: public ReflectionException + { + ProtectedConstructorInvocationException() + : ReflectionException("cannot invoke protected constructor") + { + } + }; + struct InvokeNotImplementedException: public ReflectionException { InvokeNotImplementedException() @@ -84,6 +92,14 @@ namespace osgIntrospection } }; + struct ProtectedMethodInvocationException: public ReflectionException + { + ProtectedMethodInvocationException() + : ReflectionException("cannot invoke protected method") + { + } + }; + struct EmptyValueException: public ReflectionException { EmptyValueException() diff --git a/include/osgIntrospection/InstanceCreator b/include/osgIntrospection/InstanceCreator index 933d406fe..cc332f03d 100644 --- a/include/osgIntrospection/InstanceCreator +++ b/include/osgIntrospection/InstanceCreator @@ -343,6 +343,111 @@ namespace osgIntrospection }; + template + struct ProtectedConstructorInstanceCreator + { + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& , Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + template + static Value create(Value& ) + { + throw ProtectedConstructorInvocationException(); + } + + static Value create() + { + throw ProtectedConstructorInvocationException(); + } + + }; } diff --git a/include/osgIntrospection/ReflectionMacros b/include/osgIntrospection/ReflectionMacros index 644547921..1a96287df 100644 --- a/include/osgIntrospection/ReflectionMacros +++ b/include/osgIntrospection/ReflectionMacros @@ -678,6 +678,414 @@ namespace Properties params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(extended_typeid< P15 >()), osgIntrospection::ParameterInfo::A15, osgIntrospection::Value(D15))); \ D_ConstructorInfoType signature = addConstructor(new osgIntrospection::TypedConstructorInfo16(params, briefHelp, detailedHelp)); sink(signature) +#define I_ProtectedConstructor0(signature, briefHelp, detailedHelp) \ + params.clear(); \ + D_ConstructorInfoType signature = addConstructor(new osgIntrospection::TypedConstructorInfo0(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor1(A0, P0, N0, isExplicit, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo1(params, isExplicit, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor2(A0, P0, N0, A1, P1, N1, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo2(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor3(A0, P0, N0, A1, P1, N1, A2, P2, N2, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo3(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor4(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo4(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor5(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo5(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor6(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo6(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor7(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo7(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor8(A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, A7, P7, N7, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo8(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor9(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo9(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor10(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo10(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor11(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo11(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor12(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo12(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor13(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo13(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor14(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo14(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor15(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo15(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructor16(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(extended_typeid< P15 >()), osgIntrospection::ParameterInfo::A15)); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo16(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults0(signature, briefHelp, detailedHelp) \ + params.clear(); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo0(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults1(A0, P0, N0, D0, isExplicit, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo1(params, isExplicit, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults2(A0, P0, N0, D0, A1, P1, N1, D1, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo2(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults3(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo3(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults4(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo4(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults5(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo5(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults6(A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, A5, P5, N5, D5, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo6(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults7(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo7(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults8(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo8(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults9(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo9(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults10(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo10(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults11(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo11(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults12(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo12(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults13(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo13(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults14(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo14(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults15(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo15(params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedConstructorWithDefaults16(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(extended_typeid< P15 >()), osgIntrospection::ParameterInfo::A15, osgIntrospection::Value(D15))); \ + D_ConstructorInfoType signature = addProtectedConstructor(new osgIntrospection::TypedConstructorInfo16(params, briefHelp, detailedHelp)); sink(signature) + // -------------------------------------------------------------------------- // METHODS @@ -695,6 +1103,9 @@ namespace Properties const osgIntrospection::MethodInfo::VirtualState NON_VIRTUAL = osgIntrospection::MethodInfo::NON_VIRTUAL; const osgIntrospection::MethodInfo::VirtualState VIRTUAL = osgIntrospection::MethodInfo::VIRTUAL; const osgIntrospection::MethodInfo::VirtualState PURE_VIRTUAL = osgIntrospection::MethodInfo::PURE_VIRTUAL; + + const bool CONST = true; + const bool NON_CONST = false; } #define I_Method0(ret, fn, virtualState, signature, briefHelp, detailedHelp) \ @@ -1513,6 +1924,822 @@ namespace Properties params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(extended_typeid< P15 >()), osgIntrospection::ParameterInfo::A15, osgIntrospection::Value(D15))); \ D_MethodInfoType signature = addMethod(new osgIntrospection::StaticMethodInfo16(qualifyName(#fn), &reflected_type::fn, params, briefHelp, detailedHelp)); sink(signature) +#define I_ProtectedMethod0(ret, fn, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo0(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod1(ret, fn, A0, P0, N0, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo1(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod2(ret, fn, A0, P0, N0, A1, P1, N1, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType( extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType( extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo2< reflected_type, ret, P0, P1 >(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod3(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo3(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod4(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo4(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod5(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo5(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod6(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo6(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod7(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo7(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod8(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo8(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod9(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo9(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod10(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo10(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod11(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo11(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod12(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo12(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod13(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo13(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod14(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo14(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod15(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo15(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethod16(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(extended_typeid< P15 >()), osgIntrospection::ParameterInfo::A15)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo16(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults0(ret, fn, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo0(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults1(ret, fn, A0, P0, N0, D0, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo1(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults2(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo2(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults3(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo3(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults4(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo4(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults5(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo5(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults6(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo6(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults7(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo7(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults8(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo8(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults9(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo9(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults10(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo10(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults11(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo11(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults12(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo12(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults13(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo13(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults14(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo14(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults15(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo15(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedMethodWithDefaults16(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, virtualState, isConst, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(extended_typeid< P15 >()), osgIntrospection::ParameterInfo::A15, osgIntrospection::Value(D15))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::TypedProtectedMethodInfo16(qualifyName(#fn), isConst, params, virtualState, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod0(ret, fn, signature, briefHelp, detailedHelp) \ + params.clear(); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo0(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod1(ret, fn, A0, P0, N0, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo1(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod2(ret, fn, A0, P0, N0, A1, P1, N1, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo2(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod3(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo3(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod4(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo4(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod5(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo5(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod6(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo6(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod7(ret, fn, A0, P0, N0, A1, P1, N1, A2, P2, N2, A3, P3, N3, A4, P4, N4, A5, P5, N5, A6, P6, N6, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo7(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod8(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo8(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod9(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo9(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod10(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo10(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod11(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo11(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod12(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo12(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod13(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo13(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod14(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo14(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod15(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo15(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethod16(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14)); \ + params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(extended_typeid< P15 >()), osgIntrospection::ParameterInfo::A15)); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo16(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults0(ret, fn, signature, briefHelp, detailedHelp) \ + params.clear(); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo0(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults1(ret, fn, A0, P0, N0, D0, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo1(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults2(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo2(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults3(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo3(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults4(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo4(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults5(ret, fn, A0, P0, N0, D0, A1, P1, N1, D1, A2, P2, N2, D2, A3, P3, N3, D3, A4, P4, N4, D4, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo5(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults6(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo6(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults7(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo7(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults8(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo8(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults9(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo9(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults10(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo10(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults11(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo11(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults12(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo12(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults13(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo13(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults14(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo14(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults15(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo15(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + +#define I_ProtectedStaticMethodWithDefaults16(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, signature, briefHelp, detailedHelp) \ + params.clear(); \ + params.push_back(new osgIntrospection::ParameterInfo(#N0, osgIntrospection::Reflection::getType(extended_typeid< P0 >()), osgIntrospection::ParameterInfo::A0, osgIntrospection::Value(D0))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N1, osgIntrospection::Reflection::getType(extended_typeid< P1 >()), osgIntrospection::ParameterInfo::A1, osgIntrospection::Value(D1))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N2, osgIntrospection::Reflection::getType(extended_typeid< P2 >()), osgIntrospection::ParameterInfo::A2, osgIntrospection::Value(D2))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N3, osgIntrospection::Reflection::getType(extended_typeid< P3 >()), osgIntrospection::ParameterInfo::A3, osgIntrospection::Value(D3))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N4, osgIntrospection::Reflection::getType(extended_typeid< P4 >()), osgIntrospection::ParameterInfo::A4, osgIntrospection::Value(D4))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N5, osgIntrospection::Reflection::getType(extended_typeid< P5 >()), osgIntrospection::ParameterInfo::A5, osgIntrospection::Value(D5))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N6, osgIntrospection::Reflection::getType(extended_typeid< P6 >()), osgIntrospection::ParameterInfo::A6, osgIntrospection::Value(D6))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N7, osgIntrospection::Reflection::getType(extended_typeid< P7 >()), osgIntrospection::ParameterInfo::A7, osgIntrospection::Value(D7))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N8, osgIntrospection::Reflection::getType(extended_typeid< P8 >()), osgIntrospection::ParameterInfo::A8, osgIntrospection::Value(D8))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N9, osgIntrospection::Reflection::getType(extended_typeid< P9 >()), osgIntrospection::ParameterInfo::A9, osgIntrospection::Value(D9))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N10, osgIntrospection::Reflection::getType(extended_typeid< P10 >()), osgIntrospection::ParameterInfo::A10, osgIntrospection::Value(D10))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N11, osgIntrospection::Reflection::getType(extended_typeid< P11 >()), osgIntrospection::ParameterInfo::A11, osgIntrospection::Value(D11))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N12, osgIntrospection::Reflection::getType(extended_typeid< P12 >()), osgIntrospection::ParameterInfo::A12, osgIntrospection::Value(D12))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N13, osgIntrospection::Reflection::getType(extended_typeid< P13 >()), osgIntrospection::ParameterInfo::A13, osgIntrospection::Value(D13))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N14, osgIntrospection::Reflection::getType(extended_typeid< P14 >()), osgIntrospection::ParameterInfo::A14, osgIntrospection::Value(D14))); \ + params.push_back(new osgIntrospection::ParameterInfo(#N15, osgIntrospection::Reflection::getType(extended_typeid< P15 >()), osgIntrospection::ParameterInfo::A15, osgIntrospection::Value(D15))); \ + D_MethodInfoType signature = addProtectedMethod(new osgIntrospection::StaticProtectedMethodInfo16(qualifyName(#fn), params, briefHelp, detailedHelp)); sink(signature) + #endif diff --git a/include/osgIntrospection/Reflector b/include/osgIntrospection/Reflector index 146aedaca..10cec79a0 100644 --- a/include/osgIntrospection/Reflector +++ b/include/osgIntrospection/Reflector @@ -89,6 +89,9 @@ namespace osgIntrospection /// Adds a method description to the current type. MethodInfo* addMethod(MethodInfo* mi); + /// Adds a protected method description to the current type. + MethodInfo* addProtectedMethod(MethodInfo* mi); + /// Adds an enumeration label to the current type. void addEnumLabel(int v, const std::string& label, bool strip_namespace = true); @@ -98,6 +101,10 @@ namespace osgIntrospection /// removed. ConstructorInfo* addConstructor(ConstructorInfo* ci); + /// Adds a protected constructor description to the current + /// type. + ConstructorInfo* addProtectedConstructor(ConstructorInfo* ci); + /// Returns a string containing the qualified version of 'name'. std::string qualifyName(const std::string& name) const; @@ -135,6 +142,7 @@ namespace osgIntrospection typedef std::vector TempMethodList; TempMethodList _temp_methods; + TempMethodList _temp_protected_methods; Type* _type; }; @@ -148,6 +156,7 @@ namespace osgIntrospection { typedef ValueReflector inherited; typedef ValueInstanceCreator::reflected_type> instance_creator_type; + typedef ProtectedConstructorInstanceCreator::reflected_type> invalid_instance_creator_type; ValueReflector(const std::string& name, const std::string& ns) : Reflector(name, ns, false) @@ -168,6 +177,7 @@ namespace osgIntrospection { typedef AbstractObjectReflector inherited; typedef DummyInstanceCreator::reflected_type> instance_creator_type; + typedef ProtectedConstructorInstanceCreator::reflected_type> invalid_instance_creator_type; AbstractObjectReflector(const std::string& name, const std::string& ns) : Reflector(name, ns, true) @@ -190,6 +200,7 @@ namespace osgIntrospection { typedef ObjectReflector inherited; typedef ObjectInstanceCreator::reflected_type> instance_creator_type; + typedef ProtectedConstructorInstanceCreator::reflected_type> invalid_instance_creator_type; ObjectReflector(const std::string& name, const std::string& ns) : Reflector(name, ns, false) @@ -872,6 +883,20 @@ namespace osgIntrospection return mi; } + template + MethodInfo* Reflector::addProtectedMethod(MethodInfo* mi) + { + for (TempMethodList::iterator i=_temp_protected_methods.begin(); i!=_temp_protected_methods.end(); ++i) + { + if (mi->overrides(*i)) + return *i; + } + + _temp_protected_methods.push_back(mi); + _type->_protected_methods.push_back(mi); + return mi; + } + template void Reflector::addEnumLabel(int v, const std::string& label, bool strip_namespace) { @@ -894,6 +919,13 @@ namespace osgIntrospection return ci; } + template + ConstructorInfo* Reflector::addProtectedConstructor(ConstructorInfo* ci) + { + _type->_protected_cons.push_back(ci); + return ci; + } + template std::string Reflector::qualifyName(const std::string& name) const { diff --git a/include/osgIntrospection/StaticMethodInfo b/include/osgIntrospection/StaticMethodInfo index f444ac6cb..340c0b02c 100644 --- a/include/osgIntrospection/StaticMethodInfo +++ b/include/osgIntrospection/StaticMethodInfo @@ -1218,6 +1218,651 @@ namespace osgIntrospection FunctionType f_; }; + template + class StaticProtectedMethodInfo0: public MethodInfo + { + public: + StaticProtectedMethodInfo0(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo1: public MethodInfo + { + public: + StaticProtectedMethodInfo1(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo2: public MethodInfo + { + public: + StaticProtectedMethodInfo2(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo3: public MethodInfo + { + public: + StaticProtectedMethodInfo3(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo4: public MethodInfo + { + public: + StaticProtectedMethodInfo4(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo5: public MethodInfo + { + public: + StaticProtectedMethodInfo5(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo6: public MethodInfo + { + public: + StaticProtectedMethodInfo6(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo7: public MethodInfo + { + public: + StaticProtectedMethodInfo7(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo8: public MethodInfo + { + public: + StaticProtectedMethodInfo8(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo9: public MethodInfo + { + public: + StaticProtectedMethodInfo9(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo10: public MethodInfo + { + public: + StaticProtectedMethodInfo10(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo11: public MethodInfo + { + public: + StaticProtectedMethodInfo11(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo12: public MethodInfo + { + public: + StaticProtectedMethodInfo12(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo13: public MethodInfo + { + public: + StaticProtectedMethodInfo13(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo14: public MethodInfo + { + public: + StaticProtectedMethodInfo14(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo15: public MethodInfo + { + public: + StaticProtectedMethodInfo15(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo16: public MethodInfo + { + public: + StaticProtectedMethodInfo16(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo0: public MethodInfo + { + public: + StaticProtectedMethodInfo0(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo1: public MethodInfo + { + public: + StaticProtectedMethodInfo1(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo2: public MethodInfo + { + public: + StaticProtectedMethodInfo2(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo3: public MethodInfo + { + public: + StaticProtectedMethodInfo3(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo4: public MethodInfo + { + public: + StaticProtectedMethodInfo4(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo5: public MethodInfo + { + public: + StaticProtectedMethodInfo5(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo6: public MethodInfo + { + public: + StaticProtectedMethodInfo6(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo7: public MethodInfo + { + public: + StaticProtectedMethodInfo7(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo8: public MethodInfo + { + public: + StaticProtectedMethodInfo8(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo9: public MethodInfo + { + public: + StaticProtectedMethodInfo9(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo10: public MethodInfo + { + public: + StaticProtectedMethodInfo10(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo11: public MethodInfo + { + public: + StaticProtectedMethodInfo11(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo12: public MethodInfo + { + public: + StaticProtectedMethodInfo12(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo13: public MethodInfo + { + public: + StaticProtectedMethodInfo13(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo14: public MethodInfo + { + public: + StaticProtectedMethodInfo14(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo15: public MethodInfo + { + public: + StaticProtectedMethodInfo15(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + + + template + class StaticProtectedMethodInfo16: public MethodInfo + { + public: + StaticProtectedMethodInfo16(const std::string& qname, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, briefHelp, detailedHelp) + { + } + + bool isConst() const { return false; } + bool isStatic() const { return true; } + + Value invoke(ValueList& args) const + { + throw ProtectedMethodInvocationException(); + } + }; + } #endif diff --git a/include/osgIntrospection/Type b/include/osgIntrospection/Type index 026d1b4ac..2bb3db48e 100644 --- a/include/osgIntrospection/Type +++ b/include/osgIntrospection/Type @@ -65,6 +65,14 @@ namespace osgIntrospection class OSGINTROSPECTION_EXPORT Type: public CustomAttributeProvider { public: + /// Function category specifier for querying constructors and + /// methods. + enum FunctionCategory + { + PUBLIC_FUNCTIONS, + PROTECTED_FUNCTIONS + }; + /// Destructor. Note that this class is not meant to be subclassed. ~Type(); @@ -174,19 +182,19 @@ namespace osgIntrospection void getPropertiesMap(PropertyInfoMap& props) const; /// Returns the list of constructors defined for this type. - inline const ConstructorInfoList& getConstructors() const; + inline const ConstructorInfoList& getConstructors(FunctionCategory category = PUBLIC_FUNCTIONS) const; /// Returns the list of methods defined for this type. The list /// does not include methods inherited from base types. - inline const MethodInfoList& getMethods() const; + inline const MethodInfoList& getMethods(FunctionCategory category = PUBLIC_FUNCTIONS) const; /// Fills a list of methods that are either defined in this Type /// or in inherited types. - void getAllMethods(MethodInfoList& methods) const; + void getAllMethods(MethodInfoList& methods, FunctionCategory category = PUBLIC_FUNCTIONS) const; /// Fills a map of "type <-> MethodInfoList" that are either defined in this Type /// or in inherited types. - void getMethodsMap(MethodInfoMap& methods) const; + void getMethodsMap(MethodInfoMap& methods, FunctionCategory category = PUBLIC_FUNCTIONS) const; /// Returns the map of enumeration labels. If the type is not an /// enumeration, an empty map is returned. @@ -278,8 +286,10 @@ namespace osgIntrospection const Type* _referenced_type; ConstructorInfoList _cons; + ConstructorInfoList _protected_cons; PropertyInfoList _props; MethodInfoList _methods; + MethodInfoList _protected_methods; EnumLabelMap _labels; bool _is_defined; @@ -429,16 +439,16 @@ namespace osgIntrospection return _props; } - inline const ConstructorInfoList& Type::getConstructors() const + inline const ConstructorInfoList& Type::getConstructors(FunctionCategory category) const { check_defined(); - return _cons; + return category == PUBLIC_FUNCTIONS ? _cons : _protected_cons; } - inline const MethodInfoList& Type::getMethods() const + inline const MethodInfoList& Type::getMethods(FunctionCategory category) const { check_defined(); - return _methods; + return category == PUBLIC_FUNCTIONS ? _methods : _protected_methods; } inline bool Type::isPointer() const diff --git a/include/osgIntrospection/TypedMethodInfo b/include/osgIntrospection/TypedMethodInfo index 8b4392691..ec8ac74f0 100644 --- a/include/osgIntrospection/TypedMethodInfo +++ b/include/osgIntrospection/TypedMethodInfo @@ -2972,6 +2972,933 @@ namespace osgIntrospection FunctionType f_; }; + template + class TypedProtectedMethodInfo0: public MethodInfo + { + public: + TypedProtectedMethodInfo0(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + static TypedProtectedMethodInfo0 *constMethod(const std::string& qname, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + { + return new TypedProtectedMethodInfo0(qname, true, plist, virtualState, briefHelp, detailedHelp); + } + + static TypedProtectedMethodInfo0 *nonConstMethod(const std::string& qname, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + { + return new TypedProtectedMethodInfo0(qname, false, plist, virtualState, briefHelp, detailedHelp); + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo1: public MethodInfo + { + public: + TypedProtectedMethodInfo1(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo2: public MethodInfo + { + public: + TypedProtectedMethodInfo2(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo3: public MethodInfo + { + public: + TypedProtectedMethodInfo3(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo4: public MethodInfo + { + public: + TypedProtectedMethodInfo4(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo5: public MethodInfo + { + public: + TypedProtectedMethodInfo5(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo6: public MethodInfo + { + public: + TypedProtectedMethodInfo6(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo7: public MethodInfo + { + public: + TypedProtectedMethodInfo7(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo8: public MethodInfo + { + public: + TypedProtectedMethodInfo8(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo9: public MethodInfo + { + public: + TypedProtectedMethodInfo9(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo10: public MethodInfo + { + public: + TypedProtectedMethodInfo10(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo11: public MethodInfo + { + public: + TypedProtectedMethodInfo11(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo12: public MethodInfo + { + public: + TypedProtectedMethodInfo12(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo13: public MethodInfo + { + public: + TypedProtectedMethodInfo13(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo14: public MethodInfo + { + public: + TypedProtectedMethodInfo14(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo15: public MethodInfo + { + public: + TypedProtectedMethodInfo15(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo16: public MethodInfo + { + public: + TypedProtectedMethodInfo16(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(R), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo0: public MethodInfo + { + public: + TypedProtectedMethodInfo0(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo1: public MethodInfo + { + public: + TypedProtectedMethodInfo1(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo2: public MethodInfo + { + public: + TypedProtectedMethodInfo2(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo3: public MethodInfo + { + public: + TypedProtectedMethodInfo3(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo4: public MethodInfo + { + public: + TypedProtectedMethodInfo4(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo5: public MethodInfo + { + public: + TypedProtectedMethodInfo5(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo6: public MethodInfo + { + public: + TypedProtectedMethodInfo6(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo7: public MethodInfo + { + public: + TypedProtectedMethodInfo7(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo8: public MethodInfo + { + public: + TypedProtectedMethodInfo8(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo9: public MethodInfo + { + public: + TypedProtectedMethodInfo9(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo10: public MethodInfo + { + public: + TypedProtectedMethodInfo10(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo11: public MethodInfo + { + public: + TypedProtectedMethodInfo11(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo12: public MethodInfo + { + public: + TypedProtectedMethodInfo12(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo13: public MethodInfo + { + public: + TypedProtectedMethodInfo13(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo14: public MethodInfo + { + public: + TypedProtectedMethodInfo14(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo15: public MethodInfo + { + public: + TypedProtectedMethodInfo15(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + + + template + class TypedProtectedMethodInfo16: public MethodInfo + { + public: + TypedProtectedMethodInfo16(const std::string& qname, bool isConstMethod, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string()) + : MethodInfo(qname, typeof(C), typeof(void), plist, virtualState, briefHelp, detailedHelp), is_const_(isConstMethod) + { + } + + bool isConst() const { return is_const_; } + bool isStatic() const { return false; } + + Value invoke(const Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + Value invoke(Value& /*instance*/, ValueList& /*args*/) const + { + throw ProtectedMethodInvocationException(); + } + + private: + bool is_const_; + }; + } #endif diff --git a/src/osgIntrospection/Type.cpp b/src/osgIntrospection/Type.cpp index 60fc0f48b..0926ae501 100644 --- a/src/osgIntrospection/Type.cpp +++ b/src/osgIntrospection/Type.cpp @@ -217,20 +217,21 @@ void Type::getPropertiesMap(PropertyInfoMap& props) const } } -void Type::getAllMethods(MethodInfoList& methods) const +void Type::getAllMethods(MethodInfoList& methods, FunctionCategory category) const { check_defined(); - std::copy(_methods.begin(), _methods.end(), std::back_inserter(methods)); + const MethodInfoList& input_methods = (category == PUBLIC_FUNCTIONS ? _methods : _protected_methods); + std::copy(input_methods.begin(), input_methods.end(), std::back_inserter(methods)); for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i) { (*i)->getAllMethods(methods); } } -void Type::getMethodsMap(MethodInfoMap& methods) const +void Type::getMethodsMap(MethodInfoMap& methods, FunctionCategory category) const { check_defined(); - methods[this] = _methods; + methods[this] = (category == PUBLIC_FUNCTIONS ? _methods : _protected_methods); for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i) { (*i)->getMethodsMap(methods);