############################################################################# # # # GenWrapper Configuration File # # # ############################################################################# configure library "osgProducer" dependency win32-debug "Producerd.lib" dependency win32-release "Producer.lib" dependency unix "-losgUtil -losgDB -lProducer -losgGA -losgText" end configure library "osgFX" dependency unix "-losgUtil -losgDB" end configure library "osgParticle" dependency unix "-losgUtil -losgDB" end configure library "osgGA" dependency unix "-losgUtil" end configure library "osgSim" dependency unix "-losgUtil -losgText -losgDB" end configure library "osgTerrain" dependency win32-debug "gdal_iD.lib" dependency win32-release "gdal_i.lib" dependency unix "-losgDB -losgUtil -losgFX" end configure library "osgText" dependency unix "-losgDB" end configure library "osgViewer" dependency unix "-losgUtil -losgDB -losgGA" end ############################################################################# suppress reflector "osg::CullStack" ignore file "osgViewer/GraphicsWindowX11" ignore file "osgViewer/GraphicsWindowWin32" ignore file "osgViewer/GraphicsWindowCocoa" ignore file "osgViewer/GraphicsWindowCarbon" ############################################################################# configure file /osg\/GraphicsContext/ emit before "#include " end ############################################################################# # add header to Plane, Quat and Vec* files configure file /osg\/(Plane|Quat|(Vec(2|3|4)(f|d|b|ub)))/ emit before "#include " end # add ReaderWriter and Comparator objects to Vec*, Quat and Plane classes configure reflector /osg::(Plane|Quat|(Vec(2|3|4)(f|d|b|ub)))/ readerwriter "osgIntrospection::StdReaderWriter" comparator "osgIntrospection::PartialOrderComparator" end # add GDAL includes in DataSet.cpp configure file /osgTerrain\/DataSet/ emit before "#include " end # add StateGraph includes in RenderLeaf.cpp configure file /osgUtil\/RenderLeaf/ emit before "#include " end ############################################################################# # Doxygen fails to detect that std::vector is a base class for # osg::Vector*, so we need to specify that manually configure reflector "osg::VectorGLsizei" add base "std::vector" end configure reflector "osg::VectorGLubyte" add base "std::vector" end configure reflector "osg::VectorGLushort" add base "std::vector" end configure reflector "osg::VectorGLuint" add base "std::vector" end configure reflector "osgText::VectorUInt" add base "std::vector" end ############################################################################# # Doxygen fails to detect that std::vector is a base class for # TemplateArray<> and TemplateIndexArray<> templates, so we need # to specify that manually configure reflector /osg::TemplateIndexArray< GLbyte.*/ add base "std::vector" end configure reflector /osg::TemplateIndexArray< GLubyte.*/ add base "std::vector" end configure reflector /osg::TemplateIndexArray< GLshort.*/ add base "std::vector" end configure reflector /osg::TemplateIndexArray< GLushort.*/ add base "std::vector" end configure reflector /osg::TemplateIndexArray< GLint.*/ add base "std::vector" end configure reflector /osg::TemplateIndexArray< GLuint.*/ add base "std::vector" end configure reflector /osg::TemplateArray< GLfloat.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec2\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec3\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec4\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec2b\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec3b\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec4b\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec2s\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec3s\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec4s\s*\,.*/ add base "std::vector" end configure reflector /osg::TemplateArray< osg::Vec4ub\s*\,.*/ add base "std::vector" end configure file "osg/Array" emit after " STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); STD_VECTOR_REFLECTOR(std::vector); " end ############################################################################# # StateSet and related types need some advanced tweaking configure reflector "std::map< osg::StateAttribute::GLMode, osg::StateAttribute::GLModeValue >" replace with "STD_MAP_REFLECTOR_WITH_TYPES(std::map< osg::StateAttribute::GLMode COMMA osg::StateAttribute::GLModeValue >, osg::StateAttribute::GLMode, osg::StateAttribute::Values);" end configure reflector "osg::StateSet" # remove indexed property "Mode" because its index would not belong to a # finite set of values configure property "Mode" replace with "" end end configure reflector "osg::Geometry" # define the count method for some Property configure property "TexCoordData" count_method "__unsigned_int__getNumTexCoordArrays" end configure property "TexCoordIndices" count_method "__unsigned_int__getNumTexCoordArrays" end configure property "VertexAttribBinding" count_method "__unsigned_int__getNumVertexAttribArrays" end configure property "VertexAttribData" count_method "__unsigned_int__getNumVertexAttribArrays" end configure property "VertexAttribIndices" count_method "__unsigned_int__getNumVertexAttribArrays" end configure property "VertexAttribNormalize" count_method "__unsigned_int__getNumVertexAttribArrays" end end ############################################################################# # Doxygen fails to detect that /osg::Texture(1D|2D|3D|Rectangle)/ and # osgText::Font::GlyphTexture are not-abstract class, so we need # to specify that manually configure reflector /osg::Texture(1D|2D|3D|Rectangle)/ object-type end configure reflector "osgText::Font::GlyphTexture" object-type end ############################################################################# # must suppress reflector for osgDB::Output because some of its methods # are not supported by osgIntrospection (they return non-const references) suppress reflector "osgDB::Output" ############################################################################# # some types are incorrectly detected as value type or object type. Here we # specify the type kind explicitly configure reflector "osgProducer::KeyboardMouseCallback" object-type end configure reflector "osgDB::ReentrantMutex" object-type end configure reflector "osgDB::ReadWriteMutex" object-type end ############################################################################# # Doxygen doesn't parse ReadFunc and WriteFunc correctly... configure reflector "osgDB::DotOsgWrapper::ReadFunc" replace with "TYPE_NAME_ALIAS(bool (*)(osg::Object&,osgDB::Input&), osgDB::DotOsgWrapper::ReadFunc); " end configure reflector "osgDB::DotOsgWrapper::WriteFunc" replace with "TYPE_NAME_ALIAS(bool (*)(const osg::Object&,osgDB::Output&), osgDB::DotOsgWrapper::WriteFunc); " end ############################################################################# # temporary workaround for problems related to ambiguous name resolution suppress reflector "osg::ref_ptr< const osg::StateAttribute >" suppress reflector "osg::ref_ptr< const osgFX::Effect >" #############################################################################