409cdd0b28
local function pointer to avoid compiler warnings related to case void*. Moved various OSG classes across to using setGLExtensions instead of getGLExtensions, and changed them to use typedef declarations in the headers rather than casts in the .cpp. Updated wrappers
496 lines
12 KiB
Plaintext
496 lines
12 KiB
Plaintext
#############################################################################
|
|
# #
|
|
# GenWrapper Configuration File #
|
|
# #
|
|
#############################################################################
|
|
|
|
|
|
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 -losgText"
|
|
end
|
|
|
|
#############################################################################
|
|
|
|
|
|
ignore file "osgViewer/api/X11/GraphicsWindowX11"
|
|
ignore file "osgViewer/api/Win32/GraphicsWindowWin32"
|
|
ignore file "osgViewer/api/Cocoa/GraphicsWindowCocoa"
|
|
|
|
suppress reflector "CPluginFunction"
|
|
suppress reflector "PluginFunctionProxy"
|
|
|
|
#############################################################################
|
|
|
|
configure file /osg\/GraphicsContext/
|
|
emit before "#include <osg/Camera>
|
|
"
|
|
end
|
|
|
|
#############################################################################
|
|
|
|
# add <io_utils> header to Plane, Quat and Vec* files
|
|
|
|
configure file /osg\/(Plane|Quat|(Vec(2|3|4)(f|d|b|ub)))/
|
|
emit before "#include <osg/io_utils>
|
|
"
|
|
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<reflected_type>"
|
|
comparator "osgIntrospection::PartialOrderComparator<reflected_type>"
|
|
end
|
|
|
|
|
|
# add StateGraph includes in RenderLeaf.cpp
|
|
|
|
configure file /osgUtil\/RenderLeaf/
|
|
emit before "#include <osgUtil/StateGraph>
|
|
"
|
|
end
|
|
|
|
#############################################################################
|
|
|
|
# Doxygen fails to detect that std::vector<T> is a base class for
|
|
# osg::Vector*, so we need to specify that manually
|
|
|
|
configure reflector "osg::VectorGLsizei"
|
|
add base "std::vector<GLsizei>"
|
|
end
|
|
|
|
configure reflector "osg::VectorGLubyte"
|
|
add base "std::vector<GLubyte>"
|
|
end
|
|
|
|
configure reflector "osg::VectorGLushort"
|
|
add base "std::vector<GLushort>"
|
|
end
|
|
|
|
configure reflector "osg::VectorGLuint"
|
|
add base "std::vector<GLuint>"
|
|
end
|
|
|
|
configure reflector "osgText::VectorUInt"
|
|
add base "std::vector<unsigned int>"
|
|
end
|
|
|
|
|
|
#############################################################################
|
|
|
|
# Doxygen fails to detect that std::vector<T> 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<GLbyte>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateIndexArray< GLubyte.*/
|
|
add base "std::vector<GLubyte>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateIndexArray< GLshort.*/
|
|
add base "std::vector<GLshort>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateIndexArray< GLushort.*/
|
|
add base "std::vector<GLushort>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateIndexArray< GLint.*/
|
|
add base "std::vector<GLint>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateIndexArray< GLuint.*/
|
|
add base "std::vector<GLuint>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< GLfloat.*/
|
|
add base "std::vector<GLfloat>"
|
|
end
|
|
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec2\s*\,.*/
|
|
add base "std::vector<osg::Vec2>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec3\s*\,.*/
|
|
add base "std::vector<osg::Vec3>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec4\s*\,.*/
|
|
add base "std::vector<osg::Vec4>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec2b\s*\,.*/
|
|
add base "std::vector<osg::Vec2b>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec3b\s*\,.*/
|
|
add base "std::vector<osg::Vec3b>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec4b\s*\,.*/
|
|
add base "std::vector<osg::Vec4b>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec2s\s*\,.*/
|
|
add base "std::vector<osg::Vec2s>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec3s\s*\,.*/
|
|
add base "std::vector<osg::Vec3s>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec4s\s*\,.*/
|
|
add base "std::vector<osg::Vec4s>"
|
|
end
|
|
|
|
configure reflector /osg::TemplateArray< osg::Vec4ub\s*\,.*/
|
|
add base "std::vector<osg::Vec4ub>"
|
|
end
|
|
|
|
configure file "osg/Array"
|
|
emit after "
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec2>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec3>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec4>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec2b>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec3b>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec4b>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec2s>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec3s>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec4s>)
|
|
STD_VECTOR_REFLECTOR(std::vector<osg::Vec4ub>)
|
|
STD_VECTOR_REFLECTOR(std::vector<GLubyte>)
|
|
STD_VECTOR_REFLECTOR(std::vector<GLbyte>)
|
|
STD_VECTOR_REFLECTOR(std::vector<GLushort>)
|
|
STD_VECTOR_REFLECTOR(std::vector<GLshort>)
|
|
STD_VECTOR_REFLECTOR(std::vector<GLuint>)
|
|
STD_VECTOR_REFLECTOR(std::vector<GLint>)
|
|
"
|
|
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 "OpenThreads::Mutex"
|
|
object-type
|
|
end
|
|
|
|
configure reflector "OpenThreads::Condition"
|
|
object-type
|
|
end
|
|
|
|
configure reflector "OpenThreads::Block"
|
|
object-type
|
|
end
|
|
|
|
configure reflector "OpenThreads::BlockCount"
|
|
object-type
|
|
end
|
|
|
|
configure reflector "OpenThreads::Barrier"
|
|
object-type
|
|
end
|
|
|
|
configure reflector "OpenThreads::ReentrantMutex"
|
|
object-type
|
|
end
|
|
|
|
configure reflector "OpenThreads::ReadWriteMutex"
|
|
object-type
|
|
end
|
|
|
|
configure reflector "osg::DeleteHandler"
|
|
object-type
|
|
end
|
|
|
|
configure reflector "osg::GraphicsContext"
|
|
abstract-object-type
|
|
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"
|
|
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 >"
|
|
|
|
#############################################################################
|
|
|
|
# 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::BlendColor::Extensions"
|
|
configure method "__typedef__void__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
configure method "__typedef__GLboolean__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
end
|
|
|
|
configure reflector "osg::BlendEquation::Extensions"
|
|
configure method "__typedef__void__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
configure method "__typedef__GLboolean__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
end
|
|
|
|
configure reflector "osg::BlendFunc::Extensions"
|
|
configure method "__typedef__void__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
configure method "__typedef__GLboolean__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
end
|
|
|
|
configure reflector "osg::FragmentProgram::Extensions"
|
|
configure method "__typedef__void__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
configure method "__typedef__GLboolean__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
end
|
|
|
|
configure reflector "osg::Multisample::Extensions"
|
|
configure method "__typedef__void__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
configure method "__typedef__GLboolean__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
end
|
|
|
|
configure reflector "osg::Point::Extensions"
|
|
configure method "__typedef__void__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
configure method "__typedef__GLboolean__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
end
|
|
|
|
configure reflector "osg::ClampColor::Extensions"
|
|
configure method "__typedef__void__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
configure method "__typedef__GLboolean__APIENTRY_P1"
|
|
replace with ""
|
|
end
|
|
end
|
|
|
|
configure reflector "osg::Texture::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
|