#!/usr/bin/python from initosg import * def insert_tabs(ntabs): i = 0 tabs = "" while i < ntabs: tabs +=" " i+=1 return tabs def get_str_parameters(params): sparam = "" for pi in range(0,len(params)): p = params[pi] tip = p.getParameterType() if (pi!=0): sparam += ", " if (p.isInOut()): sparam += "[IN|OUT] " elif (p.isIn()): sparam += "[IN] " if (p.isOut()): sparam += "[OUT] " if (tip.isDefined): sparam += tip.getQualifiedName() else: sparam += "(*not defined*)" return sparam def show_constructors(ti): c = ti.getConstructors() for i in range(0,len(c)): params = c[i].getParameters() print " Constructor("+str(i)+"):", c[i].getDeclaringType().getQualifiedName(), "(" + get_str_parameters(params) + ")" def show_methods(ti): m = ti.getMethods() for i in range(0,len(m)): params = m[i].getParameters() methname = " Method("+str(i)+"): " if (m[i].isStatic()): methname += "static " if (m[i].getReturnType().isDefined): methname += m[i].getReturnType().getQualifiedName() else: methname += "(*not defined*)" methname += " " + m[i].getName() + " (" + get_str_parameters(params) + ")" if (m[i].isConst()): methname += " const" print methname def show_properties(ti): p = ti.getProperties() for i in range(0,len(p)): propname = " Property("+str(i)+"): " if (p[i].getPropertyType().isDefined): propname += p[i].getPropertyType().getQualifiedName() else: propname += "(*not defined*)" propname += " " + p[i].getName() if (p[i].isArray()): propname += " [Array]" elif(p[i].isIndexed()): params = p[i].getIndexParameters() propname += " [Indexed] (" + get_str_parameters(params) + ")" print propname def show_type_info(ti, ntabs=0): type = ti.getQualifiedName() pstring ="" if (ti.isAbstract): pstring = "[Abstract] " if (ti.isEnum): pstring = "[Enum] " print pstring + type if (ti.isEnum): for e in ti.getEnumLabels(): print " " + e else: show_constructors(ti) show_methods(ti) show_properties(ti) def show_all_types(): types = Namespace.getAllTypes() for t in types: show_type_info(TypeInfo.getTypeInfo(t)) # Load wrappers osg = loadWrapper("osg") osgGA = loadWrapper("osgGA") osgProducer = loadWrapper("osgProducer") osgText = loadWrapper("osgText") #osgParticle = loadWrapper("osgParticle") show_all_types()