Compare commits

..
Author SHA1 Message Date
Hanif Koh 3956fcc836 Match Windows Paths in the clang-tidy Ignore List
Header paths use backslashes on Windows, so every / in a pattern is now [/\\]. The Windows SDK headers are ignored alongside the other OS-specific ones, and the list is one pattern per line. Suggested by @raistlin7447 from a Windows clang-cl run.
2026-10-02 03:31:10 +08:00
Hanif Koh f4f43535e5 Add the clang-tidy Configuration That Generated These Includes
Only misc-include-cleaner's missing-include check, with the headers it must never suggest: per-platform, internal and OS-specific ones that would break other platforms or are not meant to be included directly.
2026-10-02 02:13:49 +08:00
Hanif Koh 843e8c40e6 Drop the OS-Specific Includes Added Outside Their Platform Guards
GLib, GTK, D-Bus and POSIX headers are only used inside platform #if blocks, which already include them. Added unconditionally at the top of the file they broke the Windows build.
2026-10-01 23:46:58 +08:00
Hanif Koh db4e2f7ced Add Missing Includes Across src/slic3r/GUI
Every GUI source and header now directly includes the headers declaring what it uses, rather than relying on the precompiled header or transitive includes. Generated with clang-tidy misc-include-cleaner, plus one hand edit making CalibrationPanel.hpp self-contained.
2026-10-01 23:46:58 +08:00
694 changed files with 8013 additions and 577 deletions
+47
View File
@@ -0,0 +1,47 @@
# clang-tidy configuration. Only missing includes are reported for now: a file
# should include the header for every symbol it uses, not rely on the
# precompiled header or another header's includes. Run with --fix to add them.
Checks: '-*,misc-include-cleaner'
CheckOptions:
# Missing includes only. Builds without the precompiled header break on these.
misc-include-cleaner.UnusedIncludes: false
# Headers that declare a symbol but are not the one to include: per-platform
# implementations of wxWidgets and Boost.Thread (a Linux run would suggest the
# GTK or pthread one), library internals and forward declarations, CPython's
# headers behind Python.h, curl's behind curl.h, oneTBB's behind tbb/, and
# admesh's stl.h, which the include path also exposes without its directory.
# FFmpeg's C headers are left alone because they are only included inside
# extern "C", which an inserted include would miss. OS-specific headers (GLib,
# GTK, D-Bus, POSIX, the Windows SDK) are only used inside platform #if blocks,
# and an include added at the top of the file would break the other platforms'
# builds. A symbol these provide is not reported missing.
# Write every / as [/\\] so the patterns also match Windows paths.
# No comments inside the block below, because a # there silently becomes part of a pattern.
misc-include-cleaner.IgnoreHeaders: >-
wx[/\\](gtk|gtk1|msw|osx|unix|x11|motif|univ|qt|dfb|generic|private)[/\\].*;
.*[/\\]detail[/\\].*;
.*[/\\]impl[/\\].*;
.*_fwd\.hpp;
python3\.[0-9]+[/\\].*;
bits[/\\].*;
imconfig\.h;
expat_external\.h;
admesh[/\\]stl\.h;
boost[/\\]thread[/\\](pthread|win32)[/\\].*;
boost[/\\]regex[/\\]v[0-9]+[/\\].*;
curl[/\\](easy|multi|system|urlapi|header|options|websockets|mprintf)\.h;
oneapi[/\\]tbb[/\\].*;
opencv2[/\\]core[/\\]hal[/\\].*;
openssl[/\\]ossl_typ\.h;
libav[a-z]+[/\\].*;
libsw[a-z]+[/\\].*;
glib-2\.0[/\\].*;
gtk-3\.0[/\\].*;
dbus-1\.0[/\\].*;
sys[/\\].*;
unistd\.h;
strings\.h;
fcntl\.h;
termios\.h;
[/\\](um|shared)[/\\].*;
sal\.h
+1 -1
View File
@@ -45,7 +45,7 @@ on:
schedule:
- cron: '15 2 * * *' # 10:15 AM Singapore time (UTC+8), when macOS runners are least busy
- cron: '0 17 * * *' # run once a day at 1 AM Singapore time (UTC+8)
workflow_dispatch: # allows for manual dispatch
inputs:
-28
View File
@@ -1,28 +0,0 @@
# Reports the newest push build of main that was not cancelled, for the README badge.
name: Main build status
on:
workflow_run:
workflows: ["Build all"]
types: [completed]
branches: [main]
workflow_dispatch:
permissions:
actions: read
jobs:
status:
if: github.repository == 'OrcaSlicer/OrcaSlicer'
runs-on: ubuntu-latest
steps:
- env:
GH_TOKEN: ${{ github.token }}
run: |
for attempt in 1 2 3; do
conclusion=$(gh api "repos/${{ github.repository }}/actions/workflows/build_all.yml/runs?branch=main&event=push&status=completed&per_page=100" \
--jq '[.workflow_runs[] | select(.conclusion != "cancelled")][0].conclusion') && break
sleep 10
done
echo "Latest finished push build of main: $conclusion"
[ "$conclusion" = success ]
+1 -1
View File
@@ -6,7 +6,7 @@
<a href="https://trendshift.io/repositories/15552" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15552" alt="OrcaSlicer%2FOrcaSlicer | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
[![GitHub Repo stars](https://img.shields.io/github/stars/OrcaSlicer/OrcaSlicer)](https://github.com/OrcaSlicer/OrcaSlicer/stargazers) [![Build all](https://img.shields.io/github/actions/workflow/status/OrcaSlicer/OrcaSlicer/main_build_status.yml?label=Build%20all)](https://github.com/OrcaSlicer/OrcaSlicer/actions/workflows/build_all.yml)
[![GitHub Repo stars](https://img.shields.io/github/stars/OrcaSlicer/OrcaSlicer)](https://github.com/OrcaSlicer/OrcaSlicer/stargazers) [![Build all](https://github.com/OrcaSlicer/OrcaSlicer/actions/workflows/build_all.yml/badge.svg?branch=main)](https://github.com/OrcaSlicer/OrcaSlicer/actions/workflows/build_all.yml)
OrcaSlicer: an open source Next-Gen Slicing Software for Precision 3D Prints.
Optimize your prints with ultra-fast slicing, intelligent support generation, and seamless printer compatibility—engineered for perfection.
+1 -151
View File
@@ -298,13 +298,6 @@ static constexpr const char* CUSTOM_SUPPORTS_ATTR = "paint_supports";
static constexpr const char* CUSTOM_FUZZY_SKIN_ATTR = "paint_fuzzy_skin";
static constexpr const char* CUSTOM_SEAM_ATTR = "paint_seam";
static constexpr const char* MMU_SEGMENTATION_ATTR = "paint_color";
// Texture displacement. One paint mask per layer slot, mirroring paint_color; the layer stack itself is
// a JSON file in the archive, named by the volume metadata key below (see add_texture_displacement()).
static constexpr const char* TEXTURE_DISPLACEMENT_ATTRS[Slic3r::TEXTURE_DISPLACEMENT_MAX_LAYERS] = {
"paint_texture_0", "paint_texture_1", "paint_texture_2", "paint_texture_3",
"paint_texture_4", "paint_texture_5", "paint_texture_6", "paint_texture_7" };
static constexpr const char* TEXTURE_DISPLACEMENT_KEY = "texture_displacement";
static constexpr const char* TEXTURE_DISPLACEMENT_DIR = "Metadata/texture_displacement/";
// BBS
static constexpr const char* FACE_PROPERTY_ATTR = "face_property";
@@ -792,8 +785,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
std::vector<std::string> custom_seam;
std::vector<std::string> mmu_segmentation;
std::vector<std::string> fuzzy_skin;
// One per texture displacement layer slot, each parallel to `triangles` like the masks above.
std::vector<std::string> texture_displacement[TEXTURE_DISPLACEMENT_MAX_LAYERS];
// BBS
std::vector<std::string> face_properties;
@@ -814,8 +805,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
custom_seam.clear();
mmu_segmentation.clear();
fuzzy_skin.clear();
for (std::vector<std::string> &slot : texture_displacement)
slot.clear();
}
};
@@ -1149,11 +1138,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
/*IdToSlaSupportPointsMap m_sla_support_points;
IdToSlaDrainHolesMap m_sla_drain_holes;*/
PathToEmbossShapeFileMap m_path_to_emboss_shape_files;
// Texture displacement: every file under Metadata/texture_displacement/, by archive path. Volumes
// are built only after the whole archive has been walked, so by the time a volume names its JSON
// every file it could refer to is already in here, whatever order the archive happened to be in.
std::map<std::string, std::string> m_texture_displacement_files;
void _apply_texture_displacement(ModelVolume &volume, const std::string &json_path);
std::string m_curr_metadata_name;
std::string m_curr_characters;
std::string m_name;
@@ -2020,13 +2004,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
else if (_is_svg_shape_file(name)) {
_extract_embossed_svg_shape_file(name, archive, stat);
}
else if (boost::algorithm::istarts_with(name, TEXTURE_DISPLACEMENT_DIR)) {
std::string contents(stat.m_uncomp_size, '\0');
if (mz_zip_reader_extract_to_mem(&archive, stat.m_file_index, contents.data(), stat.m_uncomp_size, 0))
m_texture_displacement_files.emplace(name, std::move(contents));
else
add_error("Error while reading texture displacement data");
}
else if (!dont_load_config && boost::algorithm::iequals(name, SLICE_INFO_CONFIG_FILE)) {
m_parsing_slice_info = true;
//extract slice info from archive
@@ -3262,41 +3239,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
}
}*/
// Restores one volume's texture displacement stack from the JSON it named. Called while the volume is
// being built, which is after the whole archive has been walked - so every file it can refer to is
// already extracted, and no deferral is needed.
//
// A missing or malformed JSON leaves the volume with no layers but keeps the paint mask it already
// loaded, which is the same state as a project saved by a build without the feature: recoverable by
// picking the texture again rather than a hard failure.
void _BBS_3MF_Importer::_apply_texture_displacement(ModelVolume &volume, const std::string &json_path)
{
const auto json = m_texture_displacement_files.find(json_path);
if (json == m_texture_displacement_files.end()) {
add_error("Missing texture displacement data: " + json_path);
return;
}
std::vector<TextureDisplacementLayer> layers;
TextureDisplacementOptions options;
if (!texture_displacement_layers_from_json(json->second, layers, options)) {
add_error("Malformed texture displacement data: " + json_path);
return;
}
for (TextureDisplacementLayer &layer : layers) {
if (layer.path_in_3mf.empty())
continue;
const auto image = m_texture_displacement_files.find(layer.path_in_3mf);
if (image == m_texture_displacement_files.end()) {
add_error("Missing texture displacement image: " + layer.path_in_3mf);
continue;
}
layer.image_data = std::make_shared<std::vector<unsigned char>>(image->second.begin(),
image->second.end());
}
volume.texture_displacement_layers = std::move(layers);
volume.texture_displacement_options = options;
}
void _BBS_3MF_Importer::_extract_embossed_svg_shape_file(const std::string &filename, mz_zip_archive &archive, const mz_zip_archive_file_stat &stat){
assert(m_path_to_emboss_shape_files.find(filename) == m_path_to_emboss_shape_files.end());
auto file = std::make_unique<std::string>(stat.m_uncomp_size, '\0');
@@ -3946,9 +3888,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
m_curr_object->geometry.custom_seam.push_back(bbs_get_attribute_value_string(attributes, num_attributes, CUSTOM_SEAM_ATTR));
m_curr_object->geometry.mmu_segmentation.push_back(bbs_get_attribute_value_string(attributes, num_attributes, MMU_SEGMENTATION_ATTR));
m_curr_object->geometry.fuzzy_skin.push_back(bbs_get_attribute_value_string(attributes, num_attributes, CUSTOM_FUZZY_SKIN_ATTR));
for (int slot = 0; slot < int(TEXTURE_DISPLACEMENT_MAX_LAYERS); ++slot)
m_curr_object->geometry.texture_displacement[slot].push_back(
bbs_get_attribute_value_string(attributes, num_attributes, TEXTURE_DISPLACEMENT_ATTRS[slot]));
// BBS
m_curr_object->geometry.face_properties.push_back(bbs_get_attribute_value_string(attributes, num_attributes, FACE_PROPERTY_ATTR));
}
@@ -5275,18 +5214,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
volume->mmu_segmentation_facets.touch();
volume->fuzzy_skin_facets.shrink_to_fit();
volume->fuzzy_skin_facets.touch();
for (int slot = 0; slot < int(TEXTURE_DISPLACEMENT_MAX_LAYERS); ++slot) {
const std::vector<std::string> &mask = sub_object->geometry.texture_displacement[slot];
if (mask.empty())
continue; // written by a build without the feature
FacetsAnnotation &facets = volume->texture_displacement_facet(slot);
facets.reserve(triangles_count);
for (size_t i = 0; i < triangles_count && i < mask.size(); ++i)
if (!mask[i].empty())
facets.set_triangle_from_string(i, mask[i]);
facets.shrink_to_fit();
facets.touch();
}
}
volume->set_type(volume_data->part_type);
@@ -5302,8 +5229,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
for (const Metadata& metadata : volume_data->metadata) {
if (metadata.key == NAME_KEY)
volume->name = metadata.value;
else if (metadata.key == TEXTURE_DISPLACEMENT_KEY)
_apply_texture_displacement(*volume, metadata.value);
//else if ((metadata.key == MODIFIER_KEY) && (metadata.value == "1"))
// volume->set_type(ModelVolumeType::PARAMETER_MODIFIER);
//for old format
@@ -5468,28 +5393,12 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
volume->seam_facets.shrink_to_fit();
volume->mmu_segmentation_facets.shrink_to_fit();
for (int slot = 0; slot < int(TEXTURE_DISPLACEMENT_MAX_LAYERS); ++slot) {
const std::vector<std::string> &mask = geometry.texture_displacement[slot];
if (mask.empty())
continue; // written by a build without the feature
FacetsAnnotation &facets = volume->texture_displacement_facet(slot);
facets.reserve(triangles_count);
for (size_t i = 0; i < triangles_count; ++i) {
const size_t index = volume_data.first_triangle_id + i;
if (index < mask.size() && !mask[index].empty())
facets.set_triangle_from_string(i, mask[index]);
}
facets.shrink_to_fit();
facets.touch();
}
volume->set_type(volume_data.part_type);
// apply the remaining volume's metadata
for (const Metadata& metadata : volume_data.metadata) {
if (metadata.key == NAME_KEY)
volume->name = metadata.value;
else if (metadata.key == TEXTURE_DISPLACEMENT_KEY)
_apply_texture_displacement(*volume, metadata.value);
//else if ((metadata.key == MODIFIER_KEY) && (metadata.value == "1"))
// volume->set_type(ModelVolumeType::PARAMETER_MODIFIER);
//for old format
@@ -5786,9 +5695,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
current_object->geometry.custom_seam.push_back(bbs_get_attribute_value_string(attributes, num_attributes, CUSTOM_SEAM_ATTR));
current_object->geometry.mmu_segmentation.push_back(bbs_get_attribute_value_string(attributes, num_attributes, MMU_SEGMENTATION_ATTR));
current_object->geometry.fuzzy_skin.push_back(bbs_get_attribute_value_string(attributes, num_attributes, CUSTOM_FUZZY_SKIN_ATTR));
for (int slot = 0; slot < int(TEXTURE_DISPLACEMENT_MAX_LAYERS); ++slot)
current_object->geometry.texture_displacement[slot].push_back(
bbs_get_attribute_value_string(attributes, num_attributes, TEXTURE_DISPLACEMENT_ATTRS[slot]));
// BBS
current_object->geometry.face_properties.push_back(bbs_get_attribute_value_string(attributes, num_attributes, FACE_PROPERTY_ATTR));
}
@@ -6792,9 +6698,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
stream << " <Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\"/>\n";
stream << " <Default Extension=\"model\" ContentType=\"application/vnd.ms-package.3dmanufacturing-3dmodel+xml\"/>\n";
stream << " <Default Extension=\"png\" ContentType=\"image/png\"/>\n";
stream << " <Default Extension=\"jpg\" ContentType=\"image/jpeg\"/>\n";
stream << " <Default Extension=\"jpeg\" ContentType=\"image/jpeg\"/>\n";
stream << " <Default Extension=\"json\" ContentType=\"application/json\"/>\n";
stream << " <Default Extension=\"gcode\" ContentType=\"text/x.gcode\"/>\n";
stream << "</Types>";
@@ -7638,20 +7541,6 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
output_buffer += "\"";
}
// One attribute per texture displacement layer slot. Older readers ignore attributes they do
// not know, so a project written here still opens in a build without the feature - it just
// loses the paint, which is also all it could have done with it.
for (int slot = 0; slot < TEXTURE_DISPLACEMENT_MAX_LAYERS; ++slot) {
const std::string texture_paint = volume->texture_displacement_facet(slot).get_triangle_as_string(i);
if (texture_paint.empty())
continue;
output_buffer += " ";
output_buffer += TEXTURE_DISPLACEMENT_ATTRS[slot];
output_buffer += "=\"";
output_buffer += texture_paint;
output_buffer += "\"";
}
// BBS
if (i < its.properties.size()) {
std::string prop_str = its.properties[i].to_string();
@@ -8101,44 +7990,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
return file_path;
}
// Writes a volume's texture displacement stack into the archive and points the volume's metadata at it.
// The layer settings go in as JSON and each layer's texture as the image file it was loaded from, both
// referenced by path - the same split EmbossShape makes for its SVG. The image deliberately stays out of
// the XML: it is binary and routinely megabytes, and base64 in an attribute would bloat the one file
// every reader has to parse just to list the objects.
static void add_texture_displacement(std::stringstream &stream, const ModelVolume &volume, mz_zip_archive &archive,
const std::string &id)
{
if (volume.texture_displacement_layers.empty())
return;
// A copy, because path_in_3mf is only meaningful inside the archive being written and the volume
// being exported is const (and may be saved again, elsewhere, with different paths).
std::vector<TextureDisplacementLayer> layers = volume.texture_displacement_layers;
for (TextureDisplacementLayer &layer : layers) {
layer.path_in_3mf.clear();
if (!layer.image_data || layer.image_data->empty())
continue;
std::string ext = boost::filesystem::path(layer.path).extension().string();
boost::to_lower(ext);
if (ext != ".png" && ext != ".jpg" && ext != ".jpeg")
ext = ".png"; // the library ships PNG; anything unrecognised is stored under a type a reader expects
const std::string path = std::string(TEXTURE_DISPLACEMENT_DIR) + id + "_" + std::to_string(layer.slot) + ext;
// No deflate: PNG and JPEG are already compressed, so a second pass only costs time.
if (mz_zip_writer_add_mem(&archive, path.c_str(), layer.image_data->data(), layer.image_data->size(),
MZ_NO_COMPRESSION))
layer.path_in_3mf = path;
}
const std::string json = texture_displacement_layers_to_json(layers, volume.texture_displacement_options);
const std::string json_path = std::string(TEXTURE_DISPLACEMENT_DIR) + id + ".json";
if (!mz_zip_writer_add_mem(&archive, json_path.c_str(), json.data(), json.size(), MZ_DEFAULT_COMPRESSION))
return;
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << TEXTURE_DISPLACEMENT_KEY << "\" "
<< VALUE_ATTR << "=\"" << xml_escape(json_path) << "\"/>\n";
}
bool _BBS_3MF_Exporter::_add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const ObjectToObjectDataMap &objects_data, const DynamicPrintConfig& config, int export_plate_idx, bool save_gcode, bool use_loaded_id)
bool _BBS_3MF_Exporter::_add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const ObjectToObjectDataMap &objects_data, const DynamicPrintConfig& config, int export_plate_idx, bool save_gcode, bool use_loaded_id)
{
std::stringstream stream;
// Store mesh transformation in full precision, as the volumes are stored transformed and they need to be transformed back
@@ -8249,8 +8101,6 @@ bool _BBS_3MF_Exporter::_add_model_config_file_to_archive(mz_zip_archive& archiv
if (const std::optional<EmbossShape> &es = volume->emboss_shape; es.has_value()) {
to_xml(stream, *es, *volume, archive, m_fullpath_sources);
}
add_texture_displacement(stream, *volume, archive, std::to_string(volume->id().id));
if (const std::optional<TextConfiguration> &tc = volume->text_configuration;
tc.has_value())
-242
View File
@@ -14,7 +14,6 @@
#include <mutex>
#include <numeric>
#include <optional>
#include "nlohmann/json.hpp"
#include <queue>
#include <string>
#include <tuple>
@@ -5042,245 +5041,4 @@ indexed_triangle_set cut_mesh_at_steps(const indexed_triangle_set &mesh, const s
return out;
}
// ---------------------------------------------------------------------------------------------
// Project persistence. See the declarations in TextureDisplacement.hpp for why this is JSON rather
// than the cereal stream next to them.
// ---------------------------------------------------------------------------------------------
namespace {
nlohmann::json vec2_to_json(const Vec2f &v) { return nlohmann::json::array({ v.x(), v.y() }); }
nlohmann::json vec3_to_json(const Vec3f &v) { return nlohmann::json::array({ v.x(), v.y(), v.z() }); }
Vec2f vec2_from_json(const nlohmann::json &j, const Vec2f &fallback)
{
if (!j.is_array() || j.size() != 2)
return fallback;
return Vec2f(j[0].get<float>(), j[1].get<float>());
}
Vec3f vec3_from_json(const nlohmann::json &j, const Vec3f &fallback)
{
if (!j.is_array() || j.size() != 3)
return fallback;
return Vec3f(j[0].get<float>(), j[1].get<float>(), j[2].get<float>());
}
// Reads key `k` into `out` when it is present and of the expected type, leaving `out` alone otherwise.
// That "leave it alone" is the whole point: every member starts at its struct default, so a project
// written by an older build simply keeps the defaults for whatever it did not know about.
template<class T> void read(const nlohmann::json &j, const char *k, T &out)
{
const auto it = j.find(k);
if (it == j.end())
return;
try {
out = it->get<T>();
} catch (...) {
}
}
void read_enum(const nlohmann::json &j, const char *k, int &out)
{
const auto it = j.find(k);
if (it != j.end() && it->is_number_integer())
out = it->get<int>();
}
} // namespace
std::string texture_displacement_layers_to_json(const std::vector<TextureDisplacementLayer> &layers,
const TextureDisplacementOptions &options)
{
nlohmann::json root;
root["version"] = 1;
nlohmann::json &opt = root["options"];
opt["displace_border"] = options.displace_border;
opt["smooth_enabled"] = options.smooth_enabled;
opt["smooth_strength"] = options.smooth_strength;
opt["smooth_iterations"] = options.smooth_iterations;
opt["smooth_skip_border"] = options.smooth_skip_border;
opt["pipeline_v2"] = options.pipeline_v2;
opt["v2_refine_mm"] = options.v2_refine_mm;
opt["v2_regularize"] = options.v2_regularize;
opt["v2_max_triangles_k"] = options.v2_max_triangles_k;
opt["v2_relocate"] = options.v2_relocate;
opt["v2_flip_edges"] = options.v2_flip_edges;
opt["color_mix_enabled"] = options.color_mix_enabled;
opt["color_mix_mode"] = int(options.color_mix_mode);
opt["color_despeckle"] = options.color_despeckle;
nlohmann::json &arr = root["layers"];
arr = nlohmann::json::array();
for (const TextureDisplacementLayer &l : layers) {
nlohmann::json j;
j["slot"] = l.slot;
j["name"] = l.name;
j["path"] = l.path;
j["path_in_3mf"] = l.path_in_3mf;
j["depth_mm"] = l.depth_mm;
j["tiling_scale"] = l.tiling_scale;
j["rotation_deg"] = l.rotation_deg;
j["offset"] = vec2_to_json(l.offset);
j["invert"] = l.invert;
j["midlevel"] = l.midlevel;
j["smoothing"] = l.smoothing;
j["edge_smoothing"] = l.edge_smoothing;
j["edge_smoothing_amount"] = l.edge_smoothing_amount;
j["auto_connect_islands"] = l.auto_connect_islands;
j["tile_enabled"] = l.tile_enabled;
j["tile_method"] = int(l.tile_method);
j["projection_method"] = int(l.projection_method);
j["blend_mode"] = int(l.blend_mode);
j["color_enabled"] = l.color_enabled;
j["lscm_seam_angle_deg"] = l.lscm_seam_angle_deg;
j["island_padding_mm"] = l.island_padding_mm;
j["view_project_right"] = vec3_to_json(l.view_project_right);
j["view_project_up"] = vec3_to_json(l.view_project_up);
j["view_project_projective"] = l.view_project_projective;
j["view_project_matrix"] = l.view_project_matrix;
// Flat pairs rather than nested arrays: shorter, and the reader can simply ignore a trailing
// odd element instead of having to validate every sub-array.
nlohmann::json &seams = j["lscm_seam_edges"];
seams = nlohmann::json::array();
for (const auto &[a, b] : l.lscm_seam_edges) {
seams.push_back(a);
seams.push_back(b);
}
nlohmann::json &islands = j["islands"];
islands = nlohmann::json::array();
for (const TextureIsland &island : l.islands)
islands.push_back(nlohmann::json::array(
{ island.offset.x(), island.offset.y(), island.rotation_deg, island.scale }));
j["island_groups"] = l.island_groups;
nlohmann::json &overrides = j["lscm_uv_overrides"];
overrides = nlohmann::json::array();
for (const auto &[key, uv] : l.lscm_uv_overrides)
overrides.push_back(nlohmann::json::array({ key, uv.x(), uv.y() }));
arr.push_back(std::move(j));
}
return root.dump();
}
bool texture_displacement_layers_from_json(const std::string &text,
std::vector<TextureDisplacementLayer> &layers,
TextureDisplacementOptions &options)
{
nlohmann::json root;
try {
root = nlohmann::json::parse(text);
} catch (...) {
return false;
}
if (!root.is_object())
return false;
TextureDisplacementOptions out_options;
if (const auto it = root.find("options"); it != root.end() && it->is_object()) {
const nlohmann::json &opt = *it;
read(opt, "displace_border", out_options.displace_border);
read(opt, "smooth_enabled", out_options.smooth_enabled);
read(opt, "smooth_strength", out_options.smooth_strength);
read(opt, "smooth_iterations", out_options.smooth_iterations);
read(opt, "smooth_skip_border", out_options.smooth_skip_border);
read(opt, "pipeline_v2", out_options.pipeline_v2);
read(opt, "v2_refine_mm", out_options.v2_refine_mm);
read(opt, "v2_regularize", out_options.v2_regularize);
read(opt, "v2_max_triangles_k", out_options.v2_max_triangles_k);
read(opt, "v2_relocate", out_options.v2_relocate);
read(opt, "v2_flip_edges", out_options.v2_flip_edges);
read(opt, "color_mix_enabled", out_options.color_mix_enabled);
read(opt, "color_despeckle", out_options.color_despeckle);
int mix_mode = int(out_options.color_mix_mode);
read_enum(opt, "color_mix_mode", mix_mode);
out_options.color_mix_mode = ColorMixMode(std::clamp(mix_mode, 0, 2));
}
std::vector<TextureDisplacementLayer> out_layers;
if (const auto it = root.find("layers"); it != root.end() && it->is_array()) {
for (const nlohmann::json &j : *it) {
if (!j.is_object())
continue;
TextureDisplacementLayer l;
read(j, "slot", l.slot);
read(j, "name", l.name);
read(j, "path", l.path);
read(j, "path_in_3mf", l.path_in_3mf);
read(j, "depth_mm", l.depth_mm);
read(j, "tiling_scale", l.tiling_scale);
read(j, "rotation_deg", l.rotation_deg);
if (const auto o = j.find("offset"); o != j.end())
l.offset = vec2_from_json(*o, l.offset);
read(j, "invert", l.invert);
read(j, "midlevel", l.midlevel);
read(j, "smoothing", l.smoothing);
read(j, "edge_smoothing", l.edge_smoothing);
read(j, "edge_smoothing_amount", l.edge_smoothing_amount);
read(j, "auto_connect_islands", l.auto_connect_islands);
read(j, "tile_enabled", l.tile_enabled);
read(j, "color_enabled", l.color_enabled);
int tile_method = int(l.tile_method), projection = int(l.projection_method), blend = int(l.blend_mode);
read_enum(j, "tile_method", tile_method);
read_enum(j, "projection_method", projection);
read_enum(j, "blend_mode", blend);
l.tile_method = TextureTileMethod(tile_method);
l.projection_method = TextureProjectionMethod(std::clamp(projection, 0, 4));
l.blend_mode = TextureBlendMode(blend);
read(j, "lscm_seam_angle_deg", l.lscm_seam_angle_deg);
read(j, "island_padding_mm", l.island_padding_mm);
if (const auto v = j.find("view_project_right"); v != j.end())
l.view_project_right = vec3_from_json(*v, l.view_project_right);
if (const auto v = j.find("view_project_up"); v != j.end())
l.view_project_up = vec3_from_json(*v, l.view_project_up);
read(j, "view_project_projective", l.view_project_projective);
if (const auto v = j.find("view_project_matrix"); v != j.end() && v->is_array() && v->size() == 12)
for (size_t i = 0; i < 12; ++i)
l.view_project_matrix[i] = (*v)[i].get<float>();
if (const auto v = j.find("lscm_seam_edges"); v != j.end() && v->is_array())
for (size_t i = 0; i + 1 < v->size(); i += 2)
l.lscm_seam_edges.emplace_back((*v)[i].get<int>(), (*v)[i + 1].get<int>());
if (const auto v = j.find("islands"); v != j.end() && v->is_array())
for (const nlohmann::json &e : *v) {
if (!e.is_array() || e.size() != 4)
continue;
TextureIsland island;
island.offset = Vec2f(e[0].get<float>(), e[1].get<float>());
island.rotation_deg = e[2].get<float>();
island.scale = e[3].get<float>();
l.islands.push_back(island);
}
read(j, "island_groups", l.island_groups);
if (const auto v = j.find("lscm_uv_overrides"); v != j.end() && v->is_array())
for (const nlohmann::json &e : *v) {
if (!e.is_array() || e.size() != 3)
continue;
l.lscm_uv_overrides.emplace_back(e[0].get<int>(), Vec2f(e[1].get<float>(), e[2].get<float>()));
}
out_layers.push_back(std::move(l));
}
}
layers = std::move(out_layers);
options = out_options;
return true;
}
} // namespace Slic3r
-17
View File
@@ -420,23 +420,6 @@ struct TextureDisplacementOptions
}
};
// Project persistence (see bbs_3mf.cpp). The layer stack and the per-volume options are written to the
// .3mf as JSON rather than through the cereal save()/load() above: those two are positional and
// unversioned, which is right for the undo/redo stack they serve (one session, one binary) but would
// make every future field a project-breaking change. A JSON object tolerates both directions - an
// unknown key is ignored, a missing one keeps the member's default - so old projects keep loading and
// new ones degrade gracefully in older builds.
//
// The texture image itself is *not* in here. It is a binary blob that belongs in the archive as a file
// of its own, exactly as EmbossShape stores its SVG; `path_in_3mf` names that file, and the caller is
// responsible for writing it and for filling `image_data` back in on load.
std::string texture_displacement_layers_to_json(const std::vector<TextureDisplacementLayer> &layers,
const TextureDisplacementOptions &options);
// Returns false and leaves both outputs untouched when the text is not valid JSON.
bool texture_displacement_layers_from_json(const std::string &text,
std::vector<TextureDisplacementLayer> &layers,
TextureDisplacementOptions &options);
// How much detail a height texture carries: central differences of the grey image, the mean gradient
// and the share of texels steeper than 30 grey levels, mapped to how many texels one mesh edge may
// span (1 for a hard-edged image, 4 for a smooth one). Cached per image, like the decode.
+18
View File
@@ -4,7 +4,25 @@
#include "3DBed.hpp"
#include "PartPlate.hpp"
#include <vector>
#include "libslic3r/Polyline.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/libslic3r.h"
#include <wx/colour.h>
#include <wx/brush.h>
#include <algorithm>
#include "libslic3r/Color.hpp"
#include <string>
#include <cstddef>
#include "slic3r/GUI/Gizmos/GLGizmoBase.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <wx/dcbuffer.h>
#include <wx/panel.h>
#include <wx/wx.h>
#include <wx/gdicmn.h>
#include <wx/peninfobase.h>
#include <wx/font.h>
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/Geometry.hpp"
+4
View File
@@ -1,6 +1,10 @@
#ifndef slic3r_2DBed_hpp_
#define slic3r_2DBed_hpp_
#include <wx/panel.h>
#include "libslic3r/Point.hpp"
#include "libslic3r/Line.hpp"
#include <vector>
#include <wx/wx.h>
#include "libslic3r/Config.hpp"
#include "libslic3r/ExPolygon.hpp"
+16
View File
@@ -15,11 +15,27 @@
#include "Plater.hpp"
#include "Camera.hpp"
#include <boost/version.hpp>
#include <cstddef>
#include <array>
#include <glad/gl.h>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/log/trivial.hpp>
#include "slic3r/GUI/GLModel.hpp"
#include <vector>
#include "libslic3r/Point.hpp"
#include <utility>
#include "libslic3r/Color.hpp"
#include "slic3r/GUI/ImGuiWrapper.hpp"
#include "slic3r/GUI/GLShader.hpp"
#include "slic3r/GUI/3DScene.hpp"
#include "libslic3r/Geometry.hpp"
#include <math.h>
#include <tuple>
#include "libslic3r/Preset.hpp"
#include "libslic3r/Config.hpp"
#if BOOST_VERSION >= 107800
#include <boost/timer/timer.hpp>
+5
View File
@@ -8,8 +8,13 @@
#include "libslic3r/BuildVolume.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/Color.hpp"
#include "libslic3r/Point.hpp"
#include <string>
#include "libslic3r/BoundingBox.hpp"
#include <tuple>
#include <array>
#include <vector>
namespace Slic3r {
namespace GUI {
+31
View File
@@ -1,3 +1,7 @@
#include <array>
#include <algorithm>
#include <functional>
#include <cmath>
#include <glad/gl.h>
#include "3DScene.hpp"
@@ -25,6 +29,30 @@
#include "libslic3r/Tesselate.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/TriangleMeshSlicer.hpp"
#include "libslic3r/Polygon.hpp"
#include "libslic3r/Point.hpp"
#include "slic3r/GUI/ImGuiWrapper.hpp"
#include "libslic3r/Model.hpp"
#include "libslic3r/Technologies.hpp"
#include <optional>
#include "slic3r/GUI/OpenGLManager.hpp"
#include "libslic3r/Config.hpp"
#include <memory>
#include "slic3r/GUI/MeshUtils.hpp"
#include "libslic3r/TriangleMesh.hpp"
#include <math.h>
#include "libslic3r/ObjectID.hpp"
#include "libslic3r/libslic3r.h"
#include <map>
#include <set>
#include <iterator>
#include "libslic3r/Color.hpp"
#include "slic3r/GUI/GUI_ObjectList.hpp"
#include "libslic3r/Line.hpp"
#include "libslic3r/Polyline.hpp"
#include "libslic3r/Exception.hpp"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -36,6 +64,9 @@
#include <boost/algorithm/string/predicate.hpp>
#include <Eigen/Dense>
#include <vector>
#include <utility>
#include <string>
#ifdef HAS_GLSAFE
void glAssertRecentCallImpl(const char* file_name, unsigned int line, const char* function_name)
+9
View File
@@ -16,8 +16,17 @@
#include "GLShader.hpp"
#include "MeshUtils.hpp"
#include <array>
#include <cstddef>
#include <cmath>
#include <functional>
#include <map>
#include "libslic3r/BoundingBox.hpp"
#include <memory>
#include <optional>
#include <vector>
#include <string>
#include <utility>
#ifndef NDEBUG
#define HAS_GLSAFE
+31
View File
@@ -19,7 +19,38 @@
#include "libslic3r/PresetBundle.hpp"
#include "libslic3r/Preset.hpp"
#include <algorithm>
#include <boost/log/trivial.hpp>
#include <string>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <wx/string.h>
#include <wx/event.h>
#include <wx/panel.h>
#include <wx/colour.h>
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <wx/gdicmn.h>
#include "libslic3r/Exception.hpp"
#include <wx/dcclient.h>
#include "slic3r/GUI/GUI_Utils.hpp"
#include <wx/toplevel.h>
#include <wx/scrolwin.h>
#include "slic3r/GUI/Widgets/AMSItem.hpp"
#include <wx/chartype.h>
#include "slic3r/GUI/Widgets/Button.hpp"
#include <utility>
#include <chrono>
#include <optional>
#include <wx/timer.h>
#include "libslic3r/Utils.hpp"
#include <unordered_set>
#include <vector>
#include <set>
#include <sstream>
#include <ios>
#include <iomanip>
#include "slic3r/GUI/DeviceCore/DevConfigUtil.h"
#include <limits>
#include <memory>
namespace Slic3r { namespace GUI {
+18
View File
@@ -9,7 +9,25 @@
#include "slic3r/GUI/I18N.hpp" // Orca: explicit _L() catalog include
#include <chrono>
#include <memory>
#include "libslic3r/PresetBundle.hpp"
#include <map>
#include <optional>
#include <wx/panel.h>
#include <wx/string.h>
#include <string>
#include <wx/event.h>
#include <vector>
#include "slic3r/GUI/GUI_Utils.hpp"
#include <wx/gdicmn.h>
#include <wx/simplebook.h>
#include "slic3r/GUI/Widgets/ComboBox.hpp"
#include "slic3r/GUI/Widgets/Button.hpp"
#include <wx/timer.h>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <unordered_map>
#include <wx/colour.h>
#include <wx/scrolwin.h>
//Previous defintions
+40
View File
@@ -8,8 +8,48 @@
#include "I18N.hpp"
#include <algorithm>
#include <boost/log/trivial.hpp>
#include <string>
#include <sstream>
#include <ios>
#include <iomanip>
#include <wx/checklst.h>
#include "slic3r/GUI/GUI_Utils.hpp"
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/Widgets/Label.hpp"
#include <utility>
#include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/GUI/Widgets/HyperLink.hpp"
#include <cstdlib>
#include <cstdio>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include "libslic3r/calib.hpp"
#include "libslic3r/Config.hpp"
#include <vector>
#include <unordered_map>
#include <wx/arrstr.h>
#include <set>
#include "slic3r/GUI/DeviceCore/DevConfigUtil.h"
#include <cstddef>
#include <climits>
#include "libslic3r/PrintConfig.hpp"
#include <cmath>
#include "slic3r/GUI/Widgets/PopupWindow.hpp"
#include "slic3r/GUI/Widgets/StaticBox.hpp"
#include <wx/colordlg.h>
#include <wx/dcclient.h>
#include <wx/dc.h>
#include <wx/colour.h>
#include <wx/colourdata.h>
#include <wx/dcgraph.h>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/toplevel.h>
#include <wx/panel.h>
#include <wx/textctrl.h>
#include <wx/string.h>
#include <wx/valtext.h>
#include <wx/sizer.h>
#include <wx/peninfobase.h>
#include "CalibUtils.hpp"
#include "../Utils/ColorSpaceConvert.hpp"
#include "EncodedFilament.hpp"
+15
View File
@@ -16,6 +16,21 @@
#include "Widgets/TextInput.hpp"
#include "Widgets/HyperLink.hpp"
#include "slic3r/Utils/CalibUtils.hpp"
#include <wx/colour.h>
#include <vector>
#include <wx/checklst.h>
#include <wx/gdicmn.h>
#include <wx/event.h>
#include <wx/dc.h>
#include "slic3r/GUI/Widgets/PopupWindow.hpp"
#include "slic3r/GUI/Widgets/StaticBox.hpp"
#include <wx/sizer.h>
#include <wx/string.h>
#include <string>
#include "libslic3r/calib.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <wx/panel.h>
#include <map>
#define AMS_MATERIALS_SETTING_DEF_COLOUR wxColour(255, 255, 255)
#define AMS_MATERIALS_SETTING_GREY900 wxColour(38, 46, 48)
+13
View File
@@ -2,6 +2,7 @@
#include "GUI_App.hpp"
#include "I18N.hpp"
#include "libslic3r_version.h"
#include "slic3r/GUI/DeviceCore/DevExtruderSystem.h"
#include "slic3r/GUI/DeviceCore/DevFilaSystem.h"
#include "slic3r/GUI/DeviceCore/DevManager.h"
@@ -11,6 +12,18 @@
#include "slic3r/GUI/Widgets/AnimaController.hpp"
#include "slic3r/GUI/Widgets/Label.hpp"
#include "slic3r/GUI/Widgets/ComboBox.hpp"
#include <wx/checklst.h>
#include <wx/gdicmn.h>
#include "slic3r/GUI/GUI_Utils.hpp"
#include <wx/string.h>
#include <wx/panel.h>
#include "slic3r/GUI/Widgets/CheckBox.hpp"
#include <wx/tglbtn.h>
#include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/GUI/DeviceCore/DevFilaAmsSetting.h"
#include "slic3r/GUI/DeviceCore/DevConfigUtil.h"
#include <wx/event.h>
#include <vector>
namespace Slic3r { namespace GUI {
+9
View File
@@ -12,6 +12,15 @@
#include "Widgets/CheckBox.hpp"
#include "slic3r/GUI/DeviceCore/DevFilaAmsSetting.h"
#include <wx/checklst.h>
#include <wx/gdicmn.h>
#include <wx/dialog.h>
#include <string>
#include <wx/event.h>
#include <wx/panel.h>
#include <wx/sizer.h>
#include <memory>
#include <unordered_map>
#define AMS_SETTING_DEF_COLOUR wxColour(255, 255, 255)
#define AMS_SETTING_GREY800 wxColour(50, 58, 61)
+8
View File
@@ -1,6 +1,14 @@
#include "AVVideoDecoder.hpp"
#include <algorithm>
#include <assert.h>
#include "slic3r/GUI/Printer/BambuTunnel.h"
#include <cstdio>
#include <cstring>
#include <cstddef>
#include <wx/image.h>
#include <wx/gdicmn.h>
#include <cstdint>
extern "C"
{
+1
View File
@@ -2,6 +2,7 @@
#define AVVIDEODECODER_HPP
#include "Printer/BambuTunnel.h"
#include <cstdint>
extern "C" {
#include <libavcodec/avcodec.h>
+18
View File
@@ -9,8 +9,26 @@
#include "MainFrame.hpp"
#include "format.hpp"
#include "Widgets/Button.hpp"
#include "libslic3r_version.h"
#include "slic3r/GUI/GUI_Utils.hpp"
#include "libslic3r/libslic3r.h"
#include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/GUI/Widgets/Label.hpp"
#include <vector>
#include <wx/clipbrd.h>
#include <wx/panel.h>
#include <wx/wx.h>
#include <wx/gdicmn.h>
#include <wx/event.h>
#include <wx/dcclient.h>
#include <wx/dialog.h>
#include <wx/toplevel.h>
#include <wx/sizer.h>
#include <wx/html/htmlwin.h>
#include <wx/string.h>
#include <wx/colour.h>
#include <wx/dataobj.h>
namespace Slic3r {
namespace GUI {
+5
View File
@@ -1,6 +1,11 @@
#ifndef slic3r_GUI_AboutDialog_hpp_
#define slic3r_GUI_AboutDialog_hpp_
#include <wx/panel.h>
#include <wx/event.h>
#include <string>
#include <vector>
#include <wx/string.h>
#include <wx/wx.h>
#include <wx/intl.h>
#include <wx/html/htmlwin.h>
+9
View File
@@ -12,10 +12,19 @@
#include "Tab.hpp"
#include "slic3r/plugin/PluginManager.hpp"
#include <cassert>
#include <boost/filesystem/operations.hpp>
#include <libslic3r/AppConfig.hpp>
#include <libslic3r/Config.hpp>
#include "slic3r/plugin/PluginDescriptor.hpp"
#include <memory>
#include "libslic3r/Preset.hpp"
#include "slic3r/GUI/PartPlate.hpp"
#include <slic3r/plugin/PythonPluginInterface.hpp>
#include <vector>
#include <utility>
#include <wx/app.h>
#include <wx/thread.h>
#include <boost/filesystem.hpp>
+33
View File
@@ -11,6 +11,36 @@
#include "MainFrame.hpp"
#include "format.hpp"
#include "Widgets/ProgressDialog.hpp"
#include <wx/event.h>
#include <wx/colour.h>
#include <string>
#include <wx/panel.h>
#include <wx/gdicmn.h>
#include <vector>
#include <boost/log/trivial.hpp>
#include <wx/dcclient.h>
#include <cstddef>
#include <wx/arrstr.h>
#include "slic3r/GUI/DeviceManager.hpp"
#include <math.h>
#include <cmath>
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <wx/peninfobase.h>
#include <wx/string.h>
#include "slic3r/GUI/Widgets/PopupWindow.hpp"
#include <wx/popupwin.h>
#include <wx/anybutton.h>
#include <wx/sizer.h>
#include <map>
#include "slic3r/GUI/DeviceCore/DevUtil.h"
#include <cstdlib>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/GUI/GUI_Utils.hpp"
#include "slic3r/GUI/Widgets/SwitchButton.hpp"
#include <utility>
#include "slic3r/GUI/Widgets/AMSItem.hpp"
#include <unordered_map>
#include <wx/tooltip.h>
#include "Widgets/RoundedRectangle.hpp"
#include "Widgets/StaticBox.hpp"
@@ -23,6 +53,9 @@
#include <miniz.h>
#include <algorithm>
#include <optional>
#include <wx/wx.h>
#include <wx/toplevel.h>
#include <wx/wrapsizer.h>
#include "Plater.hpp"
#include "BitmapCache.hpp"
#include "BindDialog.hpp"
+10
View File
@@ -1,6 +1,16 @@
#ifndef slic3r_GUI_AmsMappingPopup_hpp_
#define slic3r_GUI_AmsMappingPopup_hpp_
#include <string>
#include <vector>
#include <wx/event.h>
#include <wx/dc.h>
#include <optional>
#include "libslic3r/ProjectTask.hpp"
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <map>
#include <functional>
#include <memory>
#include <wx/wx.h>
#include <wx/intl.h>
#include <wx/collpane.h>
+12
View File
@@ -21,6 +21,17 @@
#include "Widgets/RoundedRectangle.hpp"
#include "Widgets/StaticBox.hpp"
#include <list>
#include <vector>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <boost/log/trivial.hpp>
#include <cstddef>
#include <string>
#include <cstdlib>
#include <exception>
#include <map>
#include "libslic3r/Config.hpp"
#include <wx/event.h>
#include <wx/progdlg.h>
#include <wx/clipbrd.h>
#include <wx/dcgraph.h>
@@ -28,6 +39,7 @@
#include <miniz.h>
#include <algorithm>
#include <optional>
#include <wx/wx.h>
#include "Plater.hpp"
#include "BitmapCache.hpp"
+3
View File
@@ -1,7 +1,10 @@
#include "AmsWidgets.hpp"
#include <map>
#include <string>
#include <wx/button.h>
#include <wx/sizer.h>
#include <wx/dataview.h>
#include <wx/variant.h>
#include "GUI_App.hpp"
#include "GUI_ObjectList.hpp"
+2
View File
@@ -2,6 +2,7 @@
#define slic3r_AmsWidgets_hpp_
#include <wx/arrstr.h>
#include <wx/notebook.h>
#include <wx/scrolwin.h>
#include <wx/sizer.h>
@@ -10,6 +11,7 @@
#include <wx/treectrl.h>
#include <wx/imaglist.h>
#include <wx/artprov.h>
#include <wx/variant.h>
#include <wx/xrc/xmlres.h>
#include <wx/string.h>
#include <wx/stattext.h>
+2
View File
@@ -1,4 +1,6 @@
#include "AuiPaneLayout.hpp"
#include <string>
#include <cstddef>
namespace Slic3r { namespace GUI {
+36
View File
@@ -4,17 +4,53 @@
#include "libslic3r/Model.hpp"
#include "libslic3r/Format/bbs_3mf.hpp"
#include <vector>
#include <string>
#include <memory>
#include <boost/filesystem/path.hpp>
#include "slic3r/GUI/Project.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include "slic3r/GUI/Field.hpp"
#include "slic3r/GUI/Widgets/TextInput.hpp"
#include "libslic3r/Preset.hpp"
#include <cstddef>
#include <cstring>
#include "slic3r/GUI/GUI.hpp"
#include <boost/filesystem/operations.hpp>
#include "slic3r/GUI/GUI_Utils.hpp"
#include <utility>
#include "slic3r/GUI/Widgets/AMSItem.hpp"
#include <iterator>
#include "slic3r/GUI/Widgets/Button.hpp"
#include <wx/anybutton.h>
#include "slic3r/GUI/Tabbook.hpp"
#include <ctime>
#include <map>
#include "slic3r/GUI/Printer/PrinterFileSystem.h"
#include "slic3r/GUI/Widgets/ComboBox.hpp"
#include <wx/app.h>
#include <wx/bookctrl.h>
#include <wx/button.h>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/panel.h>
#include <wx/image.h>
#include <wx/dcclient.h>
#include <wx/notebook.h>
#include <wx/chartype.h>
#include <wx/scrolwin.h>
#include <wx/sizer.h>
#include <wx/bmpcbox.h>
#include <wx/bmpbuttn.h>
#include <wx/string.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/treectrl.h>
#include <wx/imaglist.h>
#include <wx/settings.h>
#include <wx/filedlg.h>
#include <wx/wrapsizer.h>
#include <wx/wupdlock.h>
#include <wx/dataview.h>
#include <wx/tokenzr.h>
+11
View File
@@ -2,6 +2,16 @@
#define slic3r_Auxiliary_hpp_
#include "Tabbook.hpp"
#include <array>
#include "slic3r/GUI/Widgets/TextInput.hpp"
#include <boost/filesystem/path.hpp>
#include <wx/bookctrl.h>
#include <wx/event.h>
#include <wx/dynarray.h>
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/Widgets/ComboBox.hpp"
#include <string>
#include "slic3r/GUI/Printer/PrinterFileSystem.h"
#include <wx/notebook.h>
#include <wx/scrolwin.h>
#include <wx/sizer.h>
@@ -10,6 +20,7 @@
#include <wx/treectrl.h>
#include <wx/imaglist.h>
#include <wx/artprov.h>
#include <wx/wrapsizer.h>
#include <wx/xrc/xmlres.h>
#include <wx/string.h>
#include <wx/stattext.h>
+13
View File
@@ -4,9 +4,22 @@
#include "libslic3r/Format/bbs_3mf.hpp"
#include <array>
#include <boost/filesystem/path.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/directory.hpp>
#include <boost/log/trivial.hpp>
#include <wx/filefn.h>
#include <wx/dataview.h>
#include <map>
#include <wx/debug.h>
#include <cstddef>
#include <wx/arrstr.h>
#include <wx/log.h>
#include <wx/string.h>
#include <wx/variant.h>
#include <wx/types.h>
const static std::array<wxString, 4> s_default_folders = {
_L("Model Pictures"),
@@ -9,6 +9,12 @@
#include "I18N.hpp"
#include <boost/filesystem.hpp>
#include <wx/dynarray.h>
#include <boost/filesystem/path.hpp>
#include <cstddef>
#include <wx/string.h>
#include <wx/arrstr.h>
#include <wx/variant.h>
class AuxiliaryModelNode;
WX_DEFINE_ARRAY_PTR(AuxiliaryModelNode*, AuxiliaryModelNodePtrArray);
+5
View File
@@ -5,6 +5,11 @@
#include "libslic3r/Utils.hpp"
#include <boost/property_tree/ptree.hpp>
#include "slic3r/GUI/GUI_Utils.hpp"
#include <wx/wx.h>
#include <wx/gdicmn.h>
#include <wx/dialog.h>
#include <wx/toplevel.h>
namespace pt = boost::property_tree;
typedef pt::ptree JSON;
+6
View File
@@ -1,5 +1,11 @@
#include "BBLStatusBar.hpp"
#include <wx/panel.h>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <string>
#include <wx/timer.h>
#include <wx/gauge.h>
#include <wx/button.h>
+5
View File
@@ -1,5 +1,10 @@
#include "BBLStatusBarBind.hpp"
#include <wx/panel.h>
#include <wx/event.h>
#include <wx/sizer.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include <string>
#include <wx/timer.h>
#include <wx/gauge.h>
#include <wx/button.h>
+1
View File
@@ -2,6 +2,7 @@
#define BBLStatusBarBind_HPP
#include <wx/panel.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <wx/simplebook.h>
+10
View File
@@ -1,5 +1,15 @@
#include "BBLStatusBarPrint.hpp"
#include <wx/event.h>
#include <wx/panel.h>
#include <wx/sizer.h>
#include <wx/string.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <utility>
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/wxExtensions.hpp"
#include <cstddef>
#include <wx/timer.h>
#include <wx/gauge.h>
#include <wx/button.h>
+2
View File
@@ -1,7 +1,9 @@
#ifndef BBLStatusBarPrint_HPP
#define BBLStatusBarPrint_HPP
#include <wx/event.h>
#include <wx/panel.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <memory>
+8
View File
@@ -1,5 +1,13 @@
#include "BBLStatusBarSend.hpp"
#include <wx/event.h>
#include <wx/panel.h>
#include <wx/sizer.h>
#include <wx/string.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/wxExtensions.hpp"
#include <cstddef>
#include <wx/timer.h>
#include <wx/gauge.h>
#include <wx/button.h>
+2
View File
@@ -1,7 +1,9 @@
#ifndef BBLSTATUSBARSEND_HPP
#define BBLSTATUSBARSEND_HPP
#include <wx/event.h>
#include <wx/panel.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <memory>
+12
View File
@@ -2,7 +2,19 @@
#include "wx/artprov.h"
#include "wx/aui/framemanager.h"
#include "wx/display.h"
#include <wx/gdicmn.h>
#include <wx/event.h>
#include <wx/dcbuffer.h>
#include <wx/dc.h>
#include <wx/aui/auibar.h>
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <wx/settings.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include <wx/image.h>
#include <wx/string.h>
#include <cstddef>
#include <wx/utils.h>
#include <wx/window.h>
#include "I18N.hpp"
#include "GUI_App.hpp"
#include "GUI.hpp"
+3
View File
@@ -7,6 +7,9 @@
#include "DeviceManager.hpp"
#include <wx/control.h>
#include <wx/string.h>
#include <wx/gdicmn.h>
#include <wx/event.h>
using namespace Slic3r::GUI;
@@ -4,8 +4,26 @@
#include "MainFrame.hpp"
#include "format.hpp"
#include <cstddef>
#include <exception>
#include "libslic3r/Config.hpp"
#include <cstdint>
#include <functional>
#include <libslic3r/Exception.hpp>
#include <utility>
#include <string>
#include <vector>
#include <new>
#include "libslic3r/GCode/ThumbnailData.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/Zipper.hpp"
#include <mutex>
#include "libslic3r/PrintBase.hpp"
#include <ostream>
#include <memory>
#include "libslic3r/Polygon.hpp"
#include <wx/app.h>
#include <wx/event.h>
#include <wx/panel.h>
#include <wx/stdpaths.h>
@@ -36,6 +54,7 @@
#include "I18N.hpp"
// #include "RemovableDriveManager.hpp"
#include "libslic3r_version.h"
#include "slic3r/GUI/Plater.hpp"
namespace Slic3r {
@@ -1,12 +1,21 @@
#ifndef slic3r_GUI_BackgroundSlicingProcess_hpp_
#define slic3r_GUI_BackgroundSlicingProcess_hpp_
#include <exception>
#include <cassert>
#include <cstddef>
#include "libslic3r/Config.hpp"
#include "libslic3r/Polygon.hpp"
#include <memory>
#include <functional>
#include <string>
#include <condition_variable>
#include <mutex>
#include <boost/thread.hpp>
#include <utility>
#include <vector>
#include <wx/event.h>
#include "libslic3r/PrintBase.hpp"
@@ -1,7 +1,14 @@
#include "BaseTransparentDPIFrame.hpp"
#include "slic3r/GUI/GUI_Utils.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include "slic3r/GUI/wxExtensions.hpp"
#include "slic3r/GUI/Widgets/Label.hpp"
#include "slic3r/GUI/Event.hpp"
#include <thread>
#include <wx/dcclient.h>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/sizer.h>
#include <wx/slider.h>
#include <wx/dcmemory.h>
@@ -14,6 +21,9 @@
#include "Widgets/TextInput.hpp"
#include "Notebook.hpp"
#include <chrono>
#include <wx/string.h>
#include <wx/toplevel.h>
#include <wx/timer.h>
#include "Widgets/Button.hpp"
#include "Widgets/CheckBox.hpp"
#include "CapsuleButton.hpp"
@@ -2,9 +2,13 @@
#define _BaseTransparentDPIFrame_H_
#include <future>
#include "slic3r/GUI/Event.hpp"
#include <thread>
#include "GUI_App.hpp"
#include "GUI_Utils.hpp"
#include <wx/gdicmn.h>
#include <wx/string.h>
#include <wx/sizer.h>
#include <wx/timer.h>
class Button;
+24
View File
@@ -2,6 +2,30 @@
#include "GUI_App.hpp"
#include "OptionsGroup.hpp"
#include "libslic3r/Point.hpp"
#include <string>
#include <cassert>
#include "libslic3r/Config.hpp"
#include <utility>
#include <wx/string.h>
#include "libslic3r/BuildVolume.hpp"
#include "slic3r/GUI/Field.hpp"
#include <wx/event.h>
#include <wx/gdicmn.h>
#include "slic3r/GUI/Widgets/Button.hpp"
#include <wx/panel.h>
#include <wx/bookctrl.h>
#include "slic3r/GUI/2DBed.hpp"
#include <memory>
#include <boost/filesystem/operations.hpp>
#include <boost/any.hpp>
#include <exception>
#include "libslic3r/libslic3r.h"
#include <vector>
#include <cmath>
#include <wx/filedlg.h>
#include "slic3r/GUI/GUI.hpp"
#include <wx/busycursor.h>
#include <wx/wx.h>
#include <wx/numformatter.h>
#include <wx/sizer.h>
+9
View File
@@ -11,8 +11,17 @@
#include "Widgets/ComboBox.hpp"
#include <memory>
#include "libslic3r/Point.hpp"
#include <string>
#include <vector>
#include "libslic3r/Config.hpp"
#include <wx/dialog.h>
#include <wx/panel.h>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/simplebook.h> // ORCA
#include <wx/string.h>
namespace Slic3r {
namespace GUI {
+34
View File
@@ -1,10 +1,44 @@
#include "BindDialog.hpp"
#include "GUI_App.hpp"
#include "slic3r/GUI/GUI_Utils.hpp"
#include <wx/intl.h>
#include <wx/gdicmn.h>
#include <wx/toplevel.h>
#include <wx/panel.h>
#include <wx/simplebook.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include "slic3r/GUI/Widgets/HyperLink.hpp"
#include "slic3r/GUI/Widgets/TextInput.hpp"
#include <wx/string.h>
#include <wx/textctrl.h>
#include <wx/event.h>
#include "slic3r/GUI/Widgets/Button.hpp"
#include <cstddef>
#include <wx/utils.h>
#include "slic3r/GUI/MsgDialog.hpp"
#include "slic3r/GUI/Widgets/StaticBox.hpp"
#include "slic3r/GUI/wxExtensions.hpp"
#include <wx/wrapsizer.h>
#include "slic3r/GUI/Widgets/CheckBox.hpp"
#include "slic3r/GUI/ReleaseNote.hpp"
#include <wx/tglbtn.h>
#include <memory>
#include "slic3r/GUI/BBLStatusBarBind.hpp"
#include "slic3r/GUI/Jobs/BindJob.hpp"
#include "slic3r/GUI/Printer/PrinterFileSystem.h"
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include "slic3r/GUI/Jobs/Worker.hpp"
#include <utility>
#include "slic3r/GUI/GUI.hpp"
#include <wx/image.h>
#include <wx/stattext.h>
#include <wx/wx.h>
#include <wx/mstream.h>
#include <wx/sizer.h>
#include <wx/statbox.h>
#include "bambu_networking.hpp"
#include "Http.hpp"
#include "wx/evtloop.h"
#include <wx/tokenzr.h>
#include <wx/richmsgdlg.h>
+7
View File
@@ -3,9 +3,16 @@
#include "I18N.hpp"
#include <cstddef>
#include "slic3r/GUI/Widgets/Label.hpp"
#include <memory>
#include <wx/event.h>
#include "slic3r/GUI/Widgets/StaticBox.hpp"
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/panel.h>
#include <wx/settings.h>
#include <wx/simplebook.h>
#include <wx/string.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
+16
View File
@@ -5,8 +5,24 @@
#include "GUI.hpp"
#include "GUI_Utils.hpp"
#include <algorithm>
#include <boost/algorithm/string/replace.hpp>
#include <boost/nowide/cstdio.hpp>
#include <boost/filesystem.hpp>
#include <utility>
#include <string>
#include <wx/image.h>
#include <cstddef>
#include <wx/dcmemory.h>
#include <wx/gdicmn.h>
#include <map>
#include <cstdio>
#include <cstdlib>
#include "libslic3r/LocalesUtils.hpp"
#include <cstring>
#include <vector>
#include <cstdint>
#include <imgui.h>
#ifdef __WXGTK2__
// Broken alpha workaround
+3
View File
@@ -1,9 +1,12 @@
#ifndef SLIC3R_GUI_BITMAP_CACHE_HPP
#define SLIC3R_GUI_BITMAP_CACHE_HPP
#include <cstddef>
#include <map>
#include <string>
#include <vector>
#include <wx/colour.h>
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
+2
View File
@@ -5,6 +5,8 @@
#include <string>
#include <boost/algorithm/string.hpp>
#include <wx/bmpcbox.h>
#include <wx/gdicmn.h>
#include <wx/sizer.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
+2
View File
@@ -1,8 +1,10 @@
#ifndef slic3r_BitmapComboBox_hpp_
#define slic3r_BitmapComboBox_hpp_
#include <cstddef>
#include <wx/bmpcbox.h>
#include <wx/gdicmn.h>
#include <wx/string.h>
#include "GUI_Utils.hpp"
+12
View File
@@ -2,15 +2,27 @@
#include "BonjourDialog.hpp"
#include "libslic3r/Config.hpp"
#include <memory>
#include <boost/asio/ip/address.hpp>
#include <cstddef>
#include <set>
#include <mutex>
#include <boost/nowide/convert.hpp>
#include <wx/event.h>
#include <utility>
#include <wx/gdicmn.h>
#include <wx/dialog.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include <wx/listbase.h>
#include <vector>
#include <wx/sizer.h>
#include <wx/listctrl.h>
#include <wx/stattext.h>
#include <wx/timer.h>
#include <wx/toplevel.h>
#include <wx/wupdlock.h>
#include "slic3r/GUI/GUI.hpp"
+3
View File
@@ -2,11 +2,14 @@
#define slic3r_BonjourDialog_hpp_
#include <cstddef>
#include "libslic3r/Config.hpp"
#include <memory>
#include <boost/asio/ip/address.hpp>
#include <vector>
#include <wx/dialog.h>
#include <wx/event.h>
#include <wx/string.h>
#include "libslic3r/PrintConfig.hpp"
+18
View File
@@ -15,14 +15,32 @@
#include "libslic3r/Config.hpp"
#include <boost/algorithm/string/predicate.hpp>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include "libslic3r/CAD/SketchEngine.hpp"
#include <vector>
#include <memory>
#include <string>
#include <functional>
#include "libslic3r/Color.hpp"
#include "slic3r/GUI/CAD/DesignSketchTool.hpp"
#include "libslic3r/Point.hpp"
#include <utility>
#include "libslic3r/CAD/CadDocument.hpp"
#include "libslic3r/BoundingBox.hpp"
#include <wx/glcanvas.h>
#include <wx/panel.h>
#include <wx/stopwatch.h> // wxGetLocalTimeMillis: the right-click vs right-hold budget
#include <wx/sizer.h>
#include <wx/frame.h>
#include <wx/stattext.h>
#include <wx/string.h>
#include <wx/time.h>
#include <wx/toplevel.h>
#include <wx/window.h>
namespace Slic3r {
namespace GUI {
+8
View File
@@ -1,12 +1,20 @@
#ifndef slic3r_DesignCanvas_hpp_
#define slic3r_DesignCanvas_hpp_
#include <vector>
#include "libslic3r/Point.hpp"
#include "libslic3r/CAD/CadDocument.hpp"
#include "libslic3r/Color.hpp"
#include <utility>
#include <wx/colour.h>
#include <wx/event.h>
#include <wx/panel.h>
#include <wx/popupwin.h>
#include <functional>
#include <memory>
#include <string>
#include <wx/string.h>
#include "slic3r/GUI/3DBed.hpp"
#include "slic3r/GUI/Camera.hpp"
+38
View File
@@ -1,4 +1,5 @@
#include "slic3r/GUI/CAD/DesignPanel.hpp"
#include "libslic3r_version.h"
#include "slic3r/GUI/CAD/DesignCanvas.hpp"
#include "slic3r/GUI/CAD/DesignSketchTool.hpp"
#include "slic3r/GUI/CAD/DesignOffer.hpp" // generated offer table — see scripts/CAD/tool_atlas.json
@@ -7,6 +8,11 @@
#include "libslic3r/Format/OBJ.hpp"
#include "libslic3r/Format/bbs_3mf.hpp" // put_other_changes: mark the project dirty outside the undo stack
#include <TopoDS_Face.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Shape.hxx>
#include <Eigen/Geometry>
#include <TopAbs_Orientation.hxx>
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/log/trivial.hpp> // the offer/atlas join check reports on the log
@@ -14,15 +20,45 @@
#include <cassert>
#include <cstdarg> // offer_trace: diagnostic row dump for the offer ladder
#include <cstddef>
#include <cstdint>
#include <cstdio>
#include "libslic3r/CAD/SketchEngine.hpp"
#include "libslic3r/CAD/CadDocument.hpp"
#include "libslic3r/Point.hpp"
#include <cstdlib>
#include <exception>
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/Color.hpp"
#include "libslic3r/CAD/SketchSolver.hpp"
#include <map>
#include <math.h>
#include <set>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/chartype.h>
#include <vector>
#include <wx/scrolwin.h>
#include <wx/anybutton.h>
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <utility>
#include <wx/listbase.h>
#include <wx/busycursor.h>
#include <wx/colourdata.h>
#include "slic3r/GUI/CAD/DesignInteraction.hpp"
#include <wx/sizer.h>
#include <wx/button.h>
#include <wx/spinbutt.h>
#include <wx/stattext.h>
#include <wx/checkbox.h>
#include <wx/checklst.h>
#include <wx/spinctrl.h>
#include <wx/listctrl.h>
#include <wx/string.h>
#include <wx/treebase.h>
#include <wx/tglbtn.h>
#include <wx/textctrl.h>
#include <wx/translation.h>
#include <wx/treectrl.h>
#include <wx/imaglist.h>
#include <wx/statline.h>
@@ -35,6 +71,7 @@
#include <wx/colordlg.h>
#include <wx/menu.h>
#include <wx/progdlg.h>
#include <wx/unichar.h>
#include <wx/utils.h> // wxWindowDisabler, wxMilliSleep
#include <wx/msgdlg.h> // wxMessageBox
@@ -45,6 +82,7 @@
#include <algorithm>
#include <thread>
#include <atomic>
#include <wx/window.h>
#include "slic3r/GUI/wxExtensions.hpp" // ScalableButton, create_scaled_bitmap
#include "slic3r/GUI/Widgets/Label.hpp" // HarmonyOS Sans fonts (Head_*/Body_*) shared with the rest of Orca
+9
View File
@@ -1,8 +1,17 @@
#ifndef slic3r_DesignPanel_hpp_
#define slic3r_DesignPanel_hpp_
#include <string>
#include "libslic3r/Point.hpp"
#include "libslic3r/CAD/SketchEngine.hpp"
#include "libslic3r/TriangleMesh.hpp"
#include <wx/accel.h>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/colour.h>
#include <wx/panel.h>
#include <wx/scrolwin.h>
#include <wx/string.h>
#include <wx/treebase.h> // wxTreeItemId
#include <vector>
+18
View File
@@ -5,6 +5,11 @@
#include "slic3r/GUI/CAD/SketchInlineEditor.hpp"
#include "slic3r/GUI/Plater.hpp"
#include <Eigen/Core>
#include <TopoDS_Shape.hxx>
#include <TopoDS_Face.hxx>
#include <TopoDS_Edge.hxx>
#include <Eigen/Geometry>
#include <imgui/imgui.h>
#include <imgui/imgui_internal.h>
#include "libslic3r/BuildVolume.hpp"
@@ -15,6 +20,19 @@
#include "libslic3r/TriangleMesh.hpp"
#include <GL/glew.h>
#include "libslic3r/CAD/SketchEngine.hpp"
#include "libslic3r/Point.hpp"
#include <vector>
#include <math.h>
#include "libslic3r/CAD/SketchSolver.hpp"
#include "libslic3r/Line.hpp"
#include <string>
#include "libslic3r/CAD/SketchInference.hpp"
#include <utility>
#include "libslic3r/CAD/CadDocument.hpp"
#include "slic3r/GUI/GLModel.hpp"
#include "libslic3r/BoundingBox.hpp"
#include <initializer_list>
#include <wx/gdicmn.h>
#include <algorithm>
#include <climits>
+3
View File
@@ -8,7 +8,10 @@
#include "libslic3r/CAD/SketchSolver.hpp"
#include "slic3r/GUI/GLModel.hpp"
#include "slic3r/GUI/GLSelectionRectangle.hpp" // left-drag rubber band over the committed bodies
#include <Eigen/Core>
#include <functional>
#include "libslic3r/Color.hpp"
#include <math.h>
#include <vector>
#include <string>
#include <utility>
+7
View File
@@ -1,4 +1,11 @@
#include "slic3r/GUI/CAD/McpControl.hpp"
#include "libslic3r/Point.hpp"
#include <stdexcept>
#include <math.h>
#include <TopAbs_ShapeEnum.hxx>
#include <Standard_TypeDef.hxx>
#include <exception>
#include <cstdint>
#ifndef _WIN32 // POSIX Unix-domain-socket transport only (slice 1)
@@ -5,6 +5,7 @@
#include "slic3r/GUI/I18N.hpp"
#include "libslic3r/Color.hpp"
#include <functional>
#include <imgui/imgui.h>
#include <imgui/imgui_internal.h> // BringWindowToDisplayFront / GetCurrentWindow
@@ -12,6 +13,8 @@
#include <cstdlib>
#include <cstring>
#include <string>
#include <wx/gdicmn.h>
#include <utility>
namespace Slic3r {
namespace GUI {
+31
View File
@@ -8,7 +8,38 @@
#include "MsgDialog.hpp"
#include "slic3r/Utils/CalibUtils.hpp"
#include "Widgets/DialogButtons.hpp"
#include "libslic3r/Config.hpp"
#include <boost/log/trivial.hpp>
#include <string>
#include <vector>
#include "libslic3r/calib.hpp"
#include "slic3r/GUI/GUI_Utils.hpp"
#include <wx/event.h>
#include <wx/dialog.h>
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/Widgets/SwitchButton.hpp"
#include "slic3r/GUI/Widgets/Label.hpp"
#include <array>
#include <cstdlib>
#include <cassert>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include "slic3r/GUI/Widgets/TextInput.hpp"
#include "libslic3r/PrintConfig.hpp"
#include <algorithm>
#include <wx/arrstr.h>
#include <set>
#include <sstream>
#include <ios>
#include <iomanip>
#include <cstddef>
#include <cstdint>
#include <wx/gbsizer.h>
#include <wx/gdicmn.h>
#include <wx/tglbtn.h>
#include <wx/panel.h>
#include <wx/timer.h>
#include <wx/sizer.h>
#include <wx/string.h>
#include "Plater.hpp"
#include "DeviceCore/DevExtruderSystem.h"
+10
View File
@@ -6,6 +6,16 @@
#include "Widgets/ComboBox.hpp"
#include "Widgets/SwitchButton.hpp"
#include "DeviceManager.hpp"
#include <vector>
#include "libslic3r/calib.hpp"
#include <wx/event.h>
#include <wx/timer.h>
#include <wx/panel.h>
#include "slic3r/GUI/DeviceErrorDialog.hpp"
#include <string>
#include "slic3r/GUI/Widgets/TextInput.hpp"
#include <wx/arrstr.h>
#include <map>
namespace Slic3r {
namespace GUI {
+17
View File
@@ -12,6 +12,23 @@
#include "Widgets/StaticBox.hpp"
#include "DeviceCore/DevConfig.h"
#include <wx/colour.h>
#include "slic3r/GUI/GUI_Utils.hpp"
#include <wx/wx.h>
#include <wx/gdicmn.h>
#include <wx/toplevel.h>
#include <wx/panel.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include "slic3r/GUI/Widgets/AMSItem.hpp"
#include "slic3r/GUI/Widgets/StaticLine.hpp"
#include "slic3r/GUI/Widgets/StepCtrl.hpp"
#include <utility>
#include "slic3r/GUI/Widgets/Button.hpp"
#include <wx/event.h>
#include <wx/string.h>
#include <wx/stattext.h>
#include "slic3r/GUI/DeviceManager.hpp"
#include <boost/log/trivial.hpp>
static wxColour FG_COLOR = wxColour(0x32, 0x3A, 0x3D);
static wxColour BG_COLOR = wxColour(0xF8, 0xF8, 0xF8);
+4
View File
@@ -1,6 +1,10 @@
#ifndef slic3r_GUI_Calibration_hpp_
#define slic3r_GUI_Calibration_hpp_
#include <map>
#include <string>
#include <vector>
#include <wx/event.h>
#include <wx/wx.h>
#include <wx/intl.h>
#include <wx/collpane.h>
+29
View File
@@ -1,4 +1,33 @@
#include "libslic3r/calib.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <wx/dcclient.h>
#include <wx/dc.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include "slic3r/GUI/Widgets/PopupWindow.hpp"
#include <boost/log/trivial.hpp>
#include "libslic3r/Thread.hpp"
#include <memory>
#include <vector>
#include <utility>
#include <algorithm>
#include "slic3r/GUI/Widgets/SideTools.hpp"
#include <cstddef>
#include "slic3r/GUI/Tabbook.hpp"
#include <wx/colour.h>
#include "slic3r/GUI/CalibrationWizard.hpp"
#include "slic3r/GUI/CalibrationWizardPage.hpp"
#include "slic3r/GUI/CalibrationWizardPresetPage.hpp"
#include "slic3r/GUI/CalibrationWizardSavePage.hpp"
#include <wx/dcgraph.h>
#include <wx/event.h>
#include <wx/string.h>
#include <wx/gdicmn.h>
#include <wx/panel.h>
#include <wx/popupwin.h>
#include <wx/sizer.h>
#include <wx/scrolwin.h>
#include <wx/timer.h>
#include <wx/notebook.h>
#include "GUI.hpp"
#include "GUI_App.hpp"
#include "MainFrame.hpp"
+2 -1
View File
@@ -4,7 +4,8 @@
#include "CalibrationWizard.hpp"
#include "Tabbook.hpp"
#include "Lazy.hpp"
//#include "Widgets/SideTools.hpp"
#include "SelectMachinePop.hpp"
#include "Widgets/SideTools.hpp"
namespace Slic3r { namespace GUI {
+29
View File
@@ -1,4 +1,5 @@
#include "CalibrationWizard.hpp"
#include "CalibUtils.hpp"
#include "I18N.hpp"
#include "GUI_App.hpp"
#include "slic3r/Utils/NetworkAgent.hpp"
@@ -7,6 +8,34 @@
#include "../../libslic3r/calib.hpp"
#include "Tabbook.hpp"
#include "CaliHistoryDialog.hpp"
#include <wx/event.h>
#include <wx/string.h>
#include <map>
#include "libslic3r/Preset.hpp"
#include <utility>
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/libslic3r.h"
#include <wx/gdicmn.h>
#include <wx/panel.h>
#include <wx/colour.h>
#include <wx/scrolwin.h>
#include <functional>
#include <boost/log/trivial.hpp>
#include <string>
#include "libslic3r/Config.hpp"
#include "slic3r/GUI/CalibrationWizardPresetPage.hpp"
#include <vector>
#include "slic3r/GUI/ReleaseNote.hpp"
#include <cassert>
#include "slic3r/GUI/CalibrationWizardStartPage.hpp"
#include "slic3r/GUI/CalibrationWizardCaliPage.hpp"
#include "slic3r/GUI/CalibrationWizardSavePage.hpp"
#include "slic3r/GUI/DeviceCore/DevCalib.h"
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <wx/arrstr.h>
#include <algorithm>
#include "slic3r/GUI/GUI.hpp"
#include "libslic3r/ParameterUtils.hpp"
namespace Slic3r { namespace GUI {
+14
View File
@@ -10,6 +10,20 @@
#include "CalibrationWizardCaliPage.hpp"
#include "CalibrationWizardSavePage.hpp"
#include "StagedBuild.hpp"
#include <wx/panel.h>
#include "libslic3r/calib.hpp"
#include <wx/string.h>
#include <wx/gdicmn.h>
#include <wx/event.h>
#include <string>
#include <map>
#include "libslic3r/Config.hpp"
#include "libslic3r/PrintConfig.hpp"
#include <functional>
#include <wx/scrolwin.h>
#include <wx/sizer.h>
#include <vector>
#include "slic3r/GUI/ReleaseNote.hpp"
namespace Slic3r { namespace GUI {
@@ -1,9 +1,27 @@
#include "CalibrationWizardCaliPage.hpp"
#include "CalibUtils.hpp"
#include "MainFrame.hpp"
#include "I18N.hpp"
#include "Widgets/Label.hpp"
#include "DeviceCore/DevManager.h"
#include <wx/string.h>
#include "libslic3r/calib.hpp"
#include "slic3r/GUI/CalibrationWizardPage.hpp"
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/sizer.h>
#include <cstddef>
#include <wx/arrstr.h>
#include "slic3r/GUI/StatusPanel.hpp"
#include "slic3r/GUI/GUI_App.hpp"
#include "slic3r/GUI/ReleaseNote.hpp"
#include <boost/log/trivial.hpp>
#include <cassert>
#include <string>
#include "slic3r/GUI/GUI.hpp"
#include "libslic3r/Utils.hpp"
#include <wx/panel.h>
namespace Slic3r { namespace GUI {
@@ -3,6 +3,12 @@
#include "CalibrationWizardPage.hpp"
#include "StatusPanel.hpp"
#include "libslic3r/calib.hpp"
#include <wx/event.h>
#include <wx/gdicmn.h>
#include "slic3r/GUI/DeviceManager.hpp"
#include <wx/sizer.h>
#include "slic3r/GUI/ReleaseNote.hpp"
namespace Slic3r { namespace GUI {
+26
View File
@@ -1,9 +1,35 @@
#include "CalibrationWizardPage.hpp"
#include "CalibUtils.hpp"
#include "I18N.hpp"
#include "Widgets/Label.hpp"
#include "MsgDialog.hpp"
#include "DeviceCore/DevFilaSystem.h"
#include <wx/event.h>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <wx/string.h>
#include "libslic3r/calib.hpp"
#include <string>
#include "slic3r/GUI/GUI_App.hpp"
#include <boost/algorithm/string/predicate.hpp>
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <utility>
#include <wx/colour.h>
#include <wx/gdicmn.h>
#include <wx/panel.h>
#include "slic3r/GUI/PresetComboBoxes.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "slic3r/GUI/wxExtensions.hpp"
#include <wx/anybutton.h>
#include "slic3r/GUI/Widgets/HyperLink.hpp"
#include <wx/utils.h>
#include <wx/arrstr.h>
#include "slic3r/GUI/Widgets/PopupWindow.hpp"
#include <wx/dcclient.h>
#include "slic3r/GUI/BBLStatusBarSend.hpp"
#include <memory>
#include <wx/scrolwin.h>
namespace Slic3r { namespace GUI {
+14
View File
@@ -13,6 +13,20 @@
#include "slic3r/Utils/CalibUtils.hpp"
#include "../../libslic3r/calib.hpp"
#include "slic3r/GUI/DeviceManager.hpp"
#include <wx/panel.h>
#include <wx/gdicmn.h>
#include "libslic3r/PrintConfig.hpp"
#include <string>
#include "slic3r/GUI/Widgets/CheckBox.hpp"
#include <vector>
#include <wx/arrstr.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include "slic3r/GUI/Widgets/PopupWindow.hpp"
#include <wx/string.h>
#include <memory>
#include "slic3r/GUI/BBLStatusBarSend.hpp"
#include <wx/scrolwin.h>
namespace Slic3r { namespace GUI {
@@ -1,5 +1,43 @@
#include "libslic3r/calib.hpp"
#include <functional>
#include <cstddef>
#include <boost/log/trivial.hpp>
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/CommonDefs.hpp"
#include <cstdint>
#include "libslic3r/Config.hpp"
#include "libslic3r/Preset.hpp"
#include <algorithm>
#include <map>
#include <cassert>
#include "libslic3r/PresetBundle.hpp"
#include <cstdlib>
#include <regex>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/panel.h>
#include <wx/string.h>
#include <wx/valtext.h>
#include <wx/textctrl.h>
#include <wx/arrstr.h>
#include "slic3r/GUI/Widgets/ComboBox.hpp"
#include <string>
#include <wx/sizer.h>
#include "slic3r/GUI/CalibrationWizardPage.hpp"
#include "slic3r/GUI/Widgets/AMSItem.hpp"
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <utility>
#include <wx/anybutton.h>
#include "slic3r/GUI/Widgets/CheckBox.hpp"
#include <wx/tglbtn.h>
#include <vector>
#include "slic3r/GUI/BBLStatusBarSend.hpp"
#include "slic3r/GUI/GUI_App.hpp"
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <wx/chartype.h>
#include "CalibrationWizardPresetPage.hpp"
#include "CalibUtils.hpp"
#include "GUI.hpp"
#include "slic3r/Utils/NetworkAgent.hpp"
#include "I18N.hpp"
@@ -2,6 +2,30 @@
#define slic3r_GUI_CalibrationWizardPresetPage_hpp_
#include "CalibrationWizardPage.hpp"
#include <wx/panel.h>
#include <wx/event.h>
#include <wx/gdicmn.h>
#include "libslic3r/calib.hpp"
#include <wx/sizer.h>
#include "slic3r/GUI/Widgets/TextInput.hpp"
#include <wx/string.h>
#include <wx/arrstr.h>
#include <functional>
#include "slic3r/GUI/Widgets/ComboBox.hpp"
#include "slic3r/GUI/Widgets/Label.hpp"
#include <vector>
#include <string>
#include "slic3r/GUI/DeviceManager.hpp"
#include <map>
#include "libslic3r/Preset.hpp"
#include "libslic3r/PrintConfig.hpp"
#include <memory>
#include "slic3r/GUI/Jobs/ProgressIndicator.hpp"
#include "slic3r/GUI/Widgets/AMSItem.hpp"
#include <cstddef>
#include "slic3r/GUI/Widgets/Button.hpp"
#include <unordered_map>
#include "slic3r/GUI/wxExtensions.hpp"
namespace Slic3r { namespace GUI {
@@ -1,4 +1,5 @@
#include "CalibrationWizardSavePage.hpp"
#include "CalibUtils.hpp"
#include "GUI.hpp"
#include "I18N.hpp"
#include "Widgets/Label.hpp"
@@ -6,6 +7,34 @@
#include "DeviceCore/DevConfigUtil.h"
#include "DeviceCore/DevNozzleSystem.h"
#include "DeviceCore/DevNozzleRack.h"
#include <wx/string.h>
#include "libslic3r/calib.hpp"
#include "libslic3r/PresetBundle.hpp"
#include "slic3r/GUI/GUI_App.hpp"
#include <wx/event.h>
#include <wx/gdicmn.h>
#include "slic3r/GUI/CalibrationWizardPage.hpp"
#include "slic3r/GUI/Widgets/TextInput.hpp"
#include "slic3r/GUI/Widgets/ComboBox.hpp"
#include <wx/panel.h>
#include <vector>
#include <utility>
#include <unordered_set>
#include <string>
#include <algorithm>
#include <wx/valtext.h>
#include <wx/arrstr.h>
#include <map>
#include <wx/sizer.h>
#include "libslic3r/PrintConfig.hpp"
#include <wx/anybutton.h>
#include "slic3r/GUI/wxExtensions.hpp"
#include <boost/log/trivial.hpp>
#include "slic3r/GUI/DeviceCore/DevCalib.h"
#include <cassert>
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include "slic3r/GUI/Widgets/CheckBox.hpp"
#include <wx/tglbtn.h>
namespace Slic3r { namespace GUI {
@@ -3,6 +3,24 @@
#include "CalibrationWizardPage.hpp"
#include "Widgets/TextInput.hpp"
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/sizer.h>
#include <wx/panel.h>
#include <wx/string.h>
#include "slic3r/GUI/Widgets/ComboBox.hpp"
#include "slic3r/GUI/Widgets/Label.hpp"
#include <string>
#include "slic3r/GUI/DeviceManager.hpp"
#include <vector>
#include <utility>
#include "libslic3r/calib.hpp"
#include "slic3r/GUI/DeviceCore/DevCalib.h"
#include "slic3r/GUI/DeviceCore/DevDefs.h"
#include <map>
#include <memory>
#include "slic3r/GUI/Jobs/ProgressIndicator.hpp"
#include "slic3r/GUI/Widgets/CheckBox.hpp"
namespace Slic3r { namespace GUI {
@@ -1,6 +1,17 @@
#include "CalibrationWizardStartPage.hpp"
#include "I18N.hpp"
#include "Widgets/Label.hpp"
#include <wx/event.h>
#include <wx/gdicmn.h>
#include "slic3r/GUI/CalibrationWizardPage.hpp"
#include <wx/sizer.h>
#include <wx/string.h>
#include <string>
#include "slic3r/GUI/wxExtensions.hpp"
#include "libslic3r/calib.hpp"
#include "slic3r/GUI/GUI_App.hpp"
#include "slic3r/GUI/DeviceManager.hpp"
#include "slic3r/GUI/DeviceCore/DevDefs.h"
namespace Slic3r { namespace GUI {
@@ -2,6 +2,14 @@
#define slic3r_GUI_CalibrationWizardStartPage_hpp_
#include "CalibrationWizardPage.hpp"
#include <wx/event.h>
#include <wx/gdicmn.h>
#include "libslic3r/calib.hpp"
#include <wx/sizer.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include <wx/string.h>
#include <string>
#include "slic3r/GUI/DeviceManager.hpp"
namespace Slic3r { namespace GUI {
+15
View File
@@ -3,6 +3,21 @@
#include "Camera.hpp"
#include "GUI_App.hpp"
#include "libslic3r/Technologies.hpp"
#include <string>
#include "libslic3r/Point.hpp"
#include <algorithm>
#include "libslic3r/Geometry.hpp"
#include <cmath>
#include "libslic3r/BoundingBox.hpp"
#include <cassert>
#include "slic3r/GUI/3DScene.hpp"
#include <cstdlib>
#include <utility>
#include <vector>
#include <cfloat>
#include "libslic3r/TriangleMesh.hpp"
#include <math.h>
#if ENABLE_CAMERA_STATISTICS
#include "Mouse3DController.hpp"
#include "Plater.hpp"
+9
View File
@@ -3,7 +3,16 @@
#include "libslic3r/BoundingBox.hpp"
#include "3DScene.hpp"
#include <Eigen/Geometry>
#include <algorithm>
#include <array>
#include "libslic3r/Point.hpp"
#include <utility>
#include <string>
#include <cassert>
#include "libslic3r/Technologies.hpp"
#include <cstdlib>
#include "libslic3r/libslic3r.h"
namespace Slic3r {
namespace GUI {
+19
View File
@@ -4,9 +4,28 @@
#include "Widgets/Label.hpp"
#include "libslic3r/Utils.hpp"
#include "BitmapCache.hpp"
#include <wx/object.h>
#include "slic3r/GUI/Widgets/PopupWindow.hpp"
#include <wx/event.h>
#include <wx/colour.h>
#include <wx/popupwin.h>
#include "slic3r/GUI/Widgets/SwitchButton.hpp"
#include <wx/panel.h>
#include <wx/gdicmn.h>
#include <cstddef>
#include "slic3r/GUI/Widgets/RadioBox.hpp"
#include <string>
#include <vector>
#include <algorithm>
#include <wx/dcclient.h>
#include <wx/dc.h>
#include <wx/progdlg.h>
#include <wx/clipbrd.h>
#include <wx/dcgraph.h>
#include <wx/string.h>
#include <wx/scrolwin.h>
#include <wx/sizer.h>
#include <wx/timer.h>
#include <wx/utils.h>
#include "GUI_App.hpp"
#include <slic3r/GUI/StatusPanel.hpp>
+9
View File
@@ -4,9 +4,18 @@
#include "slic3r/GUI/MonitorBasePanel.h"
#include "DeviceManager.hpp"
#include "GUI.hpp"
#include <wx/event.h>
#include <cstddef>
#include <string>
#include <vector>
#include "slic3r/GUI/DeviceErrorDialog.hpp"
#include "slic3r/GUI/wxExtensions.hpp"
#include <wx/panel.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/string.h>
#include <wx/scrolwin.h>
#include <wx/rtti.h>
#include <wx/timer.h>
#include <wx/sizer.h>
#include <wx/gbsizer.h>
+10
View File
@@ -1,6 +1,16 @@
#include "CameraUtils.hpp"
#include <Eigen/Core>
#include <cstddef>
#include <cassert>
#include <cmath>
#include <igl/project.h> // projecting points
#include <igl/unproject.h>
#include "libslic3r/Point.hpp"
#include "slic3r/GUI/Camera.hpp"
#include <vector>
#include "libslic3r/Polygon.hpp"
#include "libslic3r/TriangleMesh.hpp"
#include <limits>
#include "slic3r/GUI/3DScene.hpp" // GLVolume
#include "libslic3r/Geometry/ConvexHull.hpp"
+2
View File
@@ -3,6 +3,8 @@
#include "Camera.hpp"
#include "libslic3r/Point.hpp"
#include <vector>
#include "libslic3r/Polygon.hpp"
namespace Slic3r {
class GLVolume;
}
+8
View File
@@ -1,7 +1,15 @@
#include "GUI_App.hpp"
#include "CapsuleButton.hpp"
#include "Widgets/StateColor.hpp"
#include <wx/colour.h>
#include "slic3r/GUI/wxExtensions.hpp"
#include <wx/dcbuffer.h>
#include <wx/string.h>
#include <wx/panel.h>
#include <wx/sizer.h>
#include <wx/gdicmn.h>
#include <wx/event.h>
#include <wx/window.h>
#include "wx/graphics.h"
#include "Widgets/Label.hpp"
+4
View File
@@ -3,6 +3,10 @@
#include "wxExtensions.hpp"
#include "Widgets/Label.hpp"
#include <wx/panel.h>
#include <wx/checklst.h>
#include <wx/string.h>
#include <wx/event.h>
namespace Slic3r { namespace GUI {
class CapsuleButton : public wxPanel
+18
View File
@@ -2,6 +2,24 @@
#include "GUI_App.hpp"
#include "MainFrame.hpp"
#include "slic3r/GUI/GUI_Utils.hpp"
#include <wx/event.h>
#include "slic3r/GUI/Gizmos/GLGizmoBase.hpp"
#include <wx/gdicmn.h>
#include <wx/toplevel.h>
#include "slic3r/GUI/Widgets/Label.hpp"
#include <wx/sizer.h>
#include "slic3r/GUI/Widgets/SpinInput.hpp"
#include <wx/string.h>
#include "slic3r/GUI/Widgets/CheckBox.hpp"
#include "slic3r/GUI/Widgets/ProgressBar.hpp"
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <wx/colour.h>
#include "slic3r/GUI/Widgets/DialogButtons.hpp"
#include "slic3r/GUI/Widgets/Button.hpp"
#include "slic3r/GUI/Selection.hpp"
#include <wx/utils.h>
#include "slic3r/GUI/Jobs/Job.hpp"
namespace Slic3r { namespace GUI {
+1
View File
@@ -10,6 +10,7 @@
#include "Widgets/DialogButtons.hpp"
#include "Widgets/CheckBox.hpp"
#include "Widgets/ProgressBar.hpp"
#include "libslic3r/AppConfig.hpp"
namespace Slic3r { namespace GUI {
+14
View File
@@ -2,12 +2,26 @@
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <functional>
#include <memory>
#include <set>
#include <wx/colour.h>
#include <string>
#include <wx/panel.h>
#include <wx/gdicmn.h>
#include "slic3r/GUI/Widgets/StateColor.hpp"
#include <vector>
#include "slic3r/GUI/GUI_Utils.hpp"
#include <utility>
#include <wx/event.h>
#include <wx/peninfobase.h>
#include <wx/sizer.h>
#include <wx/dcclient.h>
#include <wx/dcbuffer.h>
#include <wx/toplevel.h>
#include <wx/string.h>
#include <wx/tglbtn.h>
#include "wx/graphics.h"
#include "I18N.hpp"
+3
View File
@@ -2,14 +2,17 @@
#define slic3r_ColorDecomposeDialog_hpp_
#include <array>
#include <cstddef>
#include <functional>
#include <string>
#include <vector>
#include <utility>
#include <wx/colour.h>
#include <wx/panel.h>
#include <wx/sizer.h>
#include <wx/statbmp.h>
#include <wx/stattext.h>
#include <wx/string.h>
#include "GUI_Utils.hpp"
#include "libslic3r/ColorDecomposeRecipe.hpp"
+8
View File
@@ -10,9 +10,17 @@
#include "nlohmann/json.hpp"
#include <cstddef>
#include <fstream>
#include <algorithm>
#include <cctype>
#include <string>
#include "slic3r/GUI/ColorDecomposeDialog.hpp"
#include <wx/string.h>
#include <vector>
#include "libslic3r/Config.hpp"
#include <wx/colour.h>
#include <utility>
using json = nlohmann::json;
+1
View File
@@ -1,6 +1,7 @@
#ifndef slic3r_GUI_ColorDecomposeSupport_hpp_
#define slic3r_GUI_ColorDecomposeSupport_hpp_
#include <cstddef>
#include <string>
#include <vector>
#include <wx/string.h>
+8
View File
@@ -14,7 +14,15 @@
#include "Plater.hpp"
#include <algorithm>
#include "slic3r/GUI/GUI.hpp"
#include "libslic3r/libslic3r.h"
#include "slic3r/GUI/Field.hpp"
#include <cstdlib>
#include <set>
#include <map>
#include <sstream>
#include <string>
#include <vector>
#include <wx/msgdlg.h>
namespace Slic3r {
+7
View File
@@ -10,6 +10,13 @@
#include "libslic3r/PrintConfig.hpp"
#include "Field.hpp"
#include <functional>
#include <string>
#include <wx/string.h>
#include <boost/any.hpp>
#include "libslic3r/Config.hpp"
#include <vector>
#include <map>
namespace Slic3r {

Some files were not shown because too many files have changed in this diff Show More