Форум сайта python.su
0
Не могу понять как решить такую - задачу, имеются объекты
(1) * longName : <None>
(2) * longName : objects\dress09_body.dds
(3) * longName : objects\dress07_head.dds
Такого типа, они заполняются в форму daeImage.initFrom = texture.longName(Тут идет обращение к самим объектам, texture Это chunk(данные из файла) )
daeImage Это
daeImage = self.colladaDocument.imagesLibrary.FindObject(tex_name)
daeImage = collada.DaeImage()
daeImage.id = daeImage.name = tex_name
Проблема в том что они заполняются не из одного массива, а по мере обработки данных файла, и таким образом получается что в форму daeImage, попадает Null(None), поскольку в первом элементе данных файла - пусто(None), но данные есть во втором, и я не как не могу понять как записать эти данные в отдельную переменную и поместить в форму, чтобы в итоге передавалось 3 элемента и первый не был пуст.
Отредактировано LighFusion (Апрель 26, 2015 12:22:34)
Офлайн
88
Мало что понял из сказанного, но спинной мозг подсказывает о передаче данных только когда будут готовы все они.
Офлайн
0
ShamanДа я сам практически ничего не понимаю в этом адовом языке,
Мало что понял из сказанного, но спинной мозг подсказывает о передаче данных только когда будут готовы все они.
def ImportMaterials(sedf): bindMaterials = [] daeBindMaterial = collada.DaeFxBindMaterial() for mtlChunk in sedf.IterChunk(CgfFormat.MtlChunk): if mtlChunk.name.find("nouvmap") != -1: continue instance = collada.DaeFxMaterialInstance() daeMaterial = sedf.colladaDocument.materialsLibrary.FindObject(GetValidID(mtlChunk.name)) if daeMaterial is None: daeMaterial = sedf.ImportMaterial(mtlChunk) instance.object = daeMaterial daeBindMaterial.techniqueCommon.iMaterials.append(instance) # now we have to add this bindmaterial to the intance of this geometry bindMaterials.append(daeBindMaterial) return bindMaterials
for mtlChunk in sedf.IterChunk(CgfFormat.MtlChunk):
Отредактировано LighFusion (Апрель 26, 2015 14:32:06)
Офлайн
88
LighFusionСкорее всего через
вся проблема в том как обратиться ко второму объекту(сразу), ведь его обработка еще не началась, создать еще 1 for ?
list(sedf.IterChunk(CgfFormat.MtlChunk))[1]
Офлайн