[GSoC 2017] Support 3MF Format Read/Write. #4046
3MF is generally smaller than other comparable 3D formats where transforms and object references are supported. 3MF has an advantage over the STL format since STL doesn’t contain color or material/property and also it doesn’t have mesh topology which in turn results in larger file size.
The test suite is found in 23_3mf.t in xs/t/.
Other Pull Requests:
…n slic3r.cpp Fix miniz.c error: * Miniz source functions were included more than once (once during TMF.cpp and once during compiling miniz.c in /xs/src/miniz. * Miniz is a header file library. * Solution was to add #define MINIZ_HEADER_FILE_ONLY to include the header part of the single header library miniz.c.
…sic string. - Remove #define #define MINIZ_HEADER_FILE_ONLY in the previous commit ( It's not the solution)
…use #define MINIZ_HEADER_FILE_ONLY before including it.
* write <triangles> element representing the volumes of each object.
* xmlns schema link added to < Types > element.
…roblem was that 3MF 3d matrices were row major matrices.
…ume in TMFEditor::write() Some refactoring.
…tor clear() function.
@alexrj, @lordofhyphens I have updated the code according to the link you have provided in IRC and I have used also -Weffc++ and -Wextra flags to see warnings. There were only warnings about TMFEditor and TMFParserContext not having their override versions of copy constructor and =operator overloading. I will implement them when I wake up, I don't see any need for them in our case, however.
…we are using now ofstream.
@Samir55 probably should add these files to the MANIFEST file.
I've added the test files to the MANIFEST But these files should be removed from the repo (they are no longer used)
@lordofhyphens sorry I forgot to add them :)