def getGeomFromPrim(prim, matstate): if type(prim) is collada.triangleset.TriangleSet: (vdata, gprim) = getPrimAndDataFromTri(prim, matstate) elif type(prim) is collada.polylist.Polylist or type(prim) is collada.polygons.Polygons: triset = prim.triangleset() (vdata, gprim) = getPrimAndDataFromTri(triset, matstate) elif type(prim) is collada.lineset.LineSet: vdata, indexdata = getVertexData(prim.vertex, prim.vertex_index) gprim = GeomLines(Geom.UHStatic) gprim.setIndexType(Geom.NTUint32) gprim.setVertices(indexdata) gprim.closePrimitive() else: raise Exception("Error: Unsupported primitive type. Exiting.") pgeom = Geom(vdata) pgeom.addPrimitive(gprim) return pgeom