-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Ports the basic deflate and related items from prusa3d/PrusaSlicer for AMF deflate. Implements #4511 * Actually add the tests to read files. * Push all the utils into one header. * Revise slightly to ensure we end up in the logic and just rely on strcmp to check the buffer against the magic key. * Use more compatible CMake construction? * Build using cmake3 on travis. * Fix use of strcmp; remove unused config definition * throw an exception if bad zip file * Use correct string header for cstrings; terminate buffer. * Insist on CMake >= 3.9, actually install it on Travis * Use VERSION_STRING instead for boost * Use VERSION_GREATER_EQUAL to look for 1.74 or higher when attempting to include nowide * invert logic to do what we want * All build systems are terrible in their own way.
- Loading branch information
1 parent
18ddd3a
commit 8c69278
Showing
19 changed files
with
10,220 additions
and
4,930 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<amf unit="millimeter"> | ||
<metadata type="cad">Slic3r 1.3.1-dev</metadata> | ||
<object id="0"> | ||
<metadata type="name">20mmbox.stl</metadata> | ||
<mesh> | ||
<vertices> | ||
<vertex> | ||
<coordinates> | ||
<x>10</x> | ||
<y>10</y> | ||
<z>0</z> | ||
</coordinates> | ||
</vertex> | ||
<vertex> | ||
<coordinates> | ||
<x>-10</x> | ||
<y>-10</y> | ||
<z>0</z> | ||
</coordinates> | ||
</vertex> | ||
<vertex> | ||
<coordinates> | ||
<x>-10</x> | ||
<y>10</y> | ||
<z>0</z> | ||
</coordinates> | ||
</vertex> | ||
<vertex> | ||
<coordinates> | ||
<x>10</x> | ||
<y>-10</y> | ||
<z>0</z> | ||
</coordinates> | ||
</vertex> | ||
<vertex> | ||
<coordinates> | ||
<x>10</x> | ||
<y>-10</y> | ||
<z>10</z> | ||
</coordinates> | ||
</vertex> | ||
<vertex> | ||
<coordinates> | ||
<x>-10</x> | ||
<y>10</y> | ||
<z>10</z> | ||
</coordinates> | ||
</vertex> | ||
<vertex> | ||
<coordinates> | ||
<x>-10</x> | ||
<y>-10</y> | ||
<z>10</z> | ||
</coordinates> | ||
</vertex> | ||
<vertex> | ||
<coordinates> | ||
<x>10</x> | ||
<y>10</y> | ||
<z>10</z> | ||
</coordinates> | ||
</vertex> | ||
</vertices> | ||
<volume> | ||
<metadata type="name">20mmbox.stl</metadata> | ||
<triangle> | ||
<v1>0</v1> | ||
<v2>1</v2> | ||
<v3>2</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>1</v1> | ||
<v2>0</v2> | ||
<v3>3</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>4</v1> | ||
<v2>5</v2> | ||
<v3>6</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>5</v1> | ||
<v2>4</v2> | ||
<v3>7</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>0</v1> | ||
<v2>4</v2> | ||
<v3>3</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>4</v1> | ||
<v2>0</v2> | ||
<v3>7</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>4</v1> | ||
<v2>1</v2> | ||
<v3>3</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>1</v1> | ||
<v2>4</v2> | ||
<v3>6</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>5</v1> | ||
<v2>1</v2> | ||
<v3>6</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>1</v1> | ||
<v2>5</v2> | ||
<v3>2</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>5</v1> | ||
<v2>0</v2> | ||
<v3>2</v3> | ||
</triangle> | ||
<triangle> | ||
<v1>0</v1> | ||
<v2>5</v2> | ||
<v3>7</v3> | ||
</triangle> | ||
</volume> | ||
</mesh> | ||
</object> | ||
<constellation id="1"> | ||
<instance objectid="0"> | ||
<deltax>67.5</deltax> | ||
<deltay>35</deltay> | ||
<rz>0</rz> | ||
<scale>1</scale> | ||
</instance> | ||
</constellation> | ||
</amf> |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#ifndef _libslic3r_Exception_h_ | ||
#define _libslic3r_Exception_h_ | ||
|
||
#include <stdexcept> | ||
|
||
namespace Slic3r { | ||
|
||
// PrusaSlicer's own exception hierarchy is derived from std::runtime_error. | ||
// Base for Slicer's own exceptions. | ||
class Exception : public std::runtime_error { using std::runtime_error::runtime_error; }; | ||
#define SLIC3R_DERIVE_EXCEPTION(DERIVED_EXCEPTION, PARENT_EXCEPTION) \ | ||
class DERIVED_EXCEPTION : public PARENT_EXCEPTION { using PARENT_EXCEPTION::PARENT_EXCEPTION; } | ||
// Critical exception produced by Slicer, such exception shall never propagate up to the UI thread. | ||
// If that happens, an ugly fat message box with an ugly fat exclamation mark is displayed. | ||
SLIC3R_DERIVE_EXCEPTION(CriticalException, Exception); | ||
SLIC3R_DERIVE_EXCEPTION(RuntimeError, CriticalException); | ||
SLIC3R_DERIVE_EXCEPTION(LogicError, CriticalException); | ||
SLIC3R_DERIVE_EXCEPTION(InvalidArgument, LogicError); | ||
SLIC3R_DERIVE_EXCEPTION(OutOfRange, LogicError); | ||
SLIC3R_DERIVE_EXCEPTION(IOError, CriticalException); | ||
SLIC3R_DERIVE_EXCEPTION(FileIOError, IOError); | ||
SLIC3R_DERIVE_EXCEPTION(HostNetworkError, IOError); | ||
SLIC3R_DERIVE_EXCEPTION(ExportError, CriticalException); | ||
SLIC3R_DERIVE_EXCEPTION(PlaceholderParserError, RuntimeError); | ||
// Runtime exception produced by Slicer. Such exception cancels the slicing process and it shall be shown in notifications. | ||
SLIC3R_DERIVE_EXCEPTION(SlicingError, Exception); | ||
#undef SLIC3R_DERIVE_EXCEPTION | ||
|
||
} // namespace Slic3r | ||
|
||
#endif // _libslic3r_Exception_h_ |
Oops, something went wrong.