Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Can't open file with Collada DOM 2.4

Help
Mangaf
2012-11-14
2013-07-15
  • Mangaf
    Mangaf
    2012-11-14

    Hi everybody.

    I'm simply trying to open a "dae" file using the DOM.
    So I installed the last version (Collada-dom 2.4), and all the necessary libraries (boost, …).

    Then I refered to the tutorial there (http://collada.org/mediawiki/index.php/DOM_guide:_Importing_documents) to import a document.

    Here are the content of my Qt Project:

    In the pro file:
    TEMPLATE = app
    CONFIG += console
    CONFIG -= qt

    SOURCES += Main.cpp

    LIBS += -lcollada-dom2.4-dp -lboost_system -lboost_filesystem

    INCLUDEPATH += "/usr/local/lib" \
                   "/usr/local/include/collada-dom2.4" \
                   "/usr/local/include/collada-dom2.4/1.4" \
                   "/usr/local/include/collada-dom2.4/1.5" \

    int a cpp file:
    #include <iostream>
    #include <dae.h>
    #include <dom/domCOLLADA.h>

    using namespace std;

    int main()
    {

        DAE dae;
        daeElement* root = dae->open("quad.dae");

        if (!root) {
            cout << "Document import failed.\n";
            return 0;
        }

        return 0;
    }

    Here is the output:
    **Error: Trying to load an invalid COLLADA version for this DOM build!
    Error: Failed to load file:/<filepath>/quad.dae

    Document import failed.**

    Can somebody please tell me what is wrong?

    Thank a lot.
    Best regards.

    Mangaf

     
  • John Nagle
    John Nagle
    2013-07-14

    I'm getting the same problem. Even "simpleimport.dae" from the tutorial gets this error. That's a Collada version 1.4.1 file. So I tried replacing "DAE dae" with 'DAE dae(NULL,NULL,"1.4.1");'. Then, dae->open just returns NULL, with no error messages.

    I've tried editing the .dae file to get past this. I tried versions of 1.5 and 1.5.1; no result. It's reading and parsing the XML; if I introduce an XML error before the line with the "version=" it catches that. So parsing is at least starting correctly.

    Ubuntu 12.4 LTS 64-bit, using dynamically linked library "libcollada-dom2.4.so".

    Does anybody read this forum?

     
  • John Nagle
    John Nagle
    2013-07-14

    It looks like the documentation at "https://collada.org/mediawiki/index.php/DOM_guide:_Creating_documents" is for an older version of the program. I can get the demo program there to run, and it generates a version 1.5.0 file with a link to the 2008 Collada scheme, instead of the 1.4.1 version shown in the documentation. That file will read back in without problems, so things seem to work for 1.5.0.

    If I change "DAE dae;" in that program to 'DAE dae(NULL, NULL, "1.4.1");', as the release notes suggest, the program segfaults somewhere inside the Collada .so file.

     
  • John Nagle
    John Nagle
    2013-07-15

    Still trying to get this to work. The release notes file ("Release_notes_2.4.txt") discusses this issue, but much of what's there doesn't seem to work. If I add
    #define COLLADA_DOM_USING_141
    to the beginning of the example for creating a Collada file, I get an error:
    daetypes.h:64 "ColladaDOM141" is not a namespace name.

    Also, the include file structure no longer matches the documentation. Includes must now have "1.4" or "1.5" in the path name.

     
  • John Nagle
    John Nagle
    2013-07-15

    This problem seems to be related to this bug:

    https://sourceforge.net/p/collada-dom/bugs/157/
    

    Someone else claimed to have found a fix, but didn't mention exactly what needed to be fixed. I updated the bug report to give the file, line, and suggested code fix. Could someone please try that and run the regression tests?