【发布时间】:2014-01-14 15:45:03
【问题描述】:
我正在开发一个项目,将 COLLADA 导出功能添加到现有程序 (PyMOL),并尝试使用 COLLADA DOM 库来帮助编写输出文件。我想遵循各种“保存”函数的现有结构,其中要导出的文本附加到可变长度数组,然后由父函数写入磁盘。
我遇到的问题是:我还没有找到将 COLLADA 文件输出为字符串的方法,因此我可以将其附加到 VLA。我发现的所有 DOM 示例都直接与文件一起工作,从文件中读取并保存到文件中,在花了几天时间梳理源代码后,我找不到返回 DAE (COLLADA) 对象的 XML 字符串的函数.
例如,可以使用 DOM 的 write() 或 writeAll() 函数将文件写入磁盘,例如来自 DOM Guide 的示例:
#include <dae.h>
int main() {
DAE dae;
dae.add("simple.dae");
dae.writeAll();
return 0;
}
我想做的是这样的:
string generateXmlString() {
DAE dae;
dae.add("simple.dae");
string output = dae.getXml("simple.dae"); // this function doesn't exist
return output;
}
生成 XML 字符串的位置,而不是分配给变量或直接返回,而不是写入文件。
有没有办法使用 COLLADA DOM 做到这一点?如果是这样,我很乐意看到一个例子。
或者,是否有另一个库可以让我以更直接的方式完成此任务?
谢谢!
【问题讨论】:
-
你看过 pycollada 吗?
-
@jterrace 是的,虽然我实际上并没有尝试在这个项目中使用它。我正在尝试遵循 PyMOL 的一些其他导出函数的形式,它们是基于 C 的,以与现有代码库保持一致。如果我不能让 Collada DOM 工作,我可能会切换到 pycollada。
-
祝你好运,对COLLADA-DOM不太了解,但发现它无法使用,这就是我接手pycollada dev的原因