Fixing conflicts part 1:

fixed simple conflicts
This commit is contained in:
Lukas Matena 2022-06-29 15:05:25 +02:00
parent b61714bb3e
commit 62e59a4526
14 changed files with 4 additions and 571 deletions

View file

@ -1,10 +1,7 @@
min_slic3r_version = 2.5.0-alpha0 min_slic3r_version = 2.5.0-alpha0
1.5.0-alpha0 Added parameters for Arachne perimeter generator. Changed default seam position. Updated output filename format. 1.5.0-alpha0 Added parameters for Arachne perimeter generator. Changed default seam position. Updated output filename format.
min_slic3r_version = 2.4.0-rc min_slic3r_version = 2.4.0-rc
<<<<<<< HEAD 1.4.6 Added SLA materials. Updated filament profiles.
=======
1.4.6 Added SLA materials. Updated filament profiles.
>>>>>>> master_250
1.4.5 Added MMU2/S profiles for 0.25mm nozzle. Updated FW version. Enabled g-code thumbnails for MK3 family printers. Updated end g-code. 1.4.5 Added MMU2/S profiles for 0.25mm nozzle. Updated FW version. Enabled g-code thumbnails for MK3 family printers. Updated end g-code.
1.4.4 Added multiple Fiberlogy filament profiles. Updated Extrudr filament profiles. 1.4.4 Added multiple Fiberlogy filament profiles. Updated Extrudr filament profiles.
1.4.3 Added new filament profiles and SLA materials. 1.4.3 Added new filament profiles and SLA materials.

View file

@ -5,11 +5,7 @@
name = Prusa Research name = Prusa Research
# Configuration version of this file. Config file will only be installed, if the config_version differs. # Configuration version of this file. Config file will only be installed, if the config_version differs.
# This means, the server may force the PrusaSlicer configuration to be downgraded. # This means, the server may force the PrusaSlicer configuration to be downgraded.
<<<<<<< HEAD
config_version = 1.4.5
=======
config_version = 1.5.0-alpha0 config_version = 1.5.0-alpha0
>>>>>>> master_250
# Where to get the updates from? # Where to get the updates from?
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaResearch/ config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaResearch/
changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
@ -301,8 +297,6 @@ thick_bridges = 0
bridge_flow_ratio = 1 bridge_flow_ratio = 1
bridge_speed = 20 bridge_speed = 20
wipe_tower_bridging = 6 wipe_tower_bridging = 6
<<<<<<< HEAD
=======
wall_add_middle_threshold = 85% wall_add_middle_threshold = 85%
wall_split_middle_threshold = 70% wall_split_middle_threshold = 70%
wall_transition_angle = 10 wall_transition_angle = 10
@ -311,7 +305,6 @@ wall_transition_length = 0.25
wall_distribution_count = 1 wall_distribution_count = 1
min_bead_width = 85% min_bead_width = 85%
min_feature_size = 0.0625 min_feature_size = 0.0625
>>>>>>> master_250
[print:*0.25nozzleMK3*] [print:*0.25nozzleMK3*]
inherits = *0.25nozzle* inherits = *0.25nozzle*

View file

@ -317,10 +317,8 @@ set(SLIC3R_SOURCES
SLA/Clustering.hpp SLA/Clustering.hpp
SLA/Clustering.cpp SLA/Clustering.cpp
SLA/ReprojectPointsOnMesh.hpp SLA/ReprojectPointsOnMesh.hpp
<<<<<<< HEAD
SLA/DefaultSupportTree.hpp SLA/DefaultSupportTree.hpp
SLA/DefaultSupportTree.cpp SLA/DefaultSupportTree.cpp
=======
Arachne/BeadingStrategy/BeadingStrategy.hpp Arachne/BeadingStrategy/BeadingStrategy.hpp
Arachne/BeadingStrategy/BeadingStrategy.cpp Arachne/BeadingStrategy/BeadingStrategy.cpp
@ -362,7 +360,6 @@ set(SLIC3R_SOURCES
Arachne/SkeletalTrapezoidationJoint.hpp Arachne/SkeletalTrapezoidationJoint.hpp
Arachne/WallToolPaths.hpp Arachne/WallToolPaths.hpp
Arachne/WallToolPaths.cpp Arachne/WallToolPaths.cpp
>>>>>>> master_250
) )
add_library(libslic3r STATIC ${SLIC3R_SOURCES}) add_library(libslic3r STATIC ${SLIC3R_SOURCES})

View file

@ -13,10 +13,8 @@
#include "FillBase.hpp" #include "FillBase.hpp"
#include "FillRectilinear.hpp" #include "FillRectilinear.hpp"
#include "FillLightning.hpp" #include "FillLightning.hpp"
<<<<<<< HEAD
=======
#include "FillConcentric.hpp" #include "FillConcentric.hpp"
>>>>>>> master_250
namespace Slic3r { namespace Slic3r {
@ -358,8 +356,6 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
if (surface_fill.params.pattern == ipLightning) if (surface_fill.params.pattern == ipLightning)
dynamic_cast<FillLightning::Filler*>(f.get())->generator = lightning_generator; dynamic_cast<FillLightning::Filler*>(f.get())->generator = lightning_generator;
<<<<<<< HEAD
=======
if (perimeter_generator.value == PerimeterGeneratorType::Arachne && surface_fill.params.pattern == ipConcentric) { if (perimeter_generator.value == PerimeterGeneratorType::Arachne && surface_fill.params.pattern == ipConcentric) {
FillConcentric *fill_concentric = dynamic_cast<FillConcentric *>(f.get()); FillConcentric *fill_concentric = dynamic_cast<FillConcentric *>(f.get());
assert(fill_concentric != nullptr); assert(fill_concentric != nullptr);
@ -367,7 +363,6 @@ void Layer::make_fills(FillAdaptive::Octree* adaptive_fill_octree, FillAdaptive:
fill_concentric->print_object_config = &this->object()->config(); fill_concentric->print_object_config = &this->object()->config();
} }
>>>>>>> master_250
// calculate flow spacing for infill pattern generation // calculate flow spacing for infill pattern generation
bool using_internal_flow = ! surface_fill.surface.is_solid() && ! surface_fill.params.bridge; bool using_internal_flow = ! surface_fill.surface.is_solid() && ! surface_fill.params.bridge;
double link_max_length = 0.; double link_max_length = 0.;

View file

@ -2613,7 +2613,6 @@ std::string GCode::change_layer(coordf_t print_z)
return gcode; return gcode;
} }
<<<<<<< HEAD
static const auto comment_perimeter = "perimeter"sv; static const auto comment_perimeter = "perimeter"sv;
// Comparing string_view pointer & length for speed. // Comparing string_view pointer & length for speed.
static inline bool comment_is_perimeter(const std::string_view comment) { static inline bool comment_is_perimeter(const std::string_view comment) {
@ -2621,9 +2620,6 @@ static inline bool comment_is_perimeter(const std::string_view comment) {
} }
std::string GCode::extrude_loop(ExtrusionLoop loop, const std::string_view description, double speed) std::string GCode::extrude_loop(ExtrusionLoop loop, const std::string_view description, double speed)
=======
std::string GCode::extrude_loop(ExtrusionLoop loop, std::string description, double speed)
>>>>>>> master_250
{ {
// get a copy; don't modify the orientation of the original loop object otherwise // get a copy; don't modify the orientation of the original loop object otherwise
// next copies (if any) would not detect the correct orientation // next copies (if any) would not detect the correct orientation
@ -2634,21 +2630,14 @@ std::string GCode::extrude_loop(ExtrusionLoop loop, std::string description, dou
// find the point of the loop that is closest to the current extruder position // find the point of the loop that is closest to the current extruder position
// or randomize if requested // or randomize if requested
Point last_pos = this->last_pos(); Point last_pos = this->last_pos();
<<<<<<< HEAD
if (! m_config.spiral_vase && comment_is_perimeter(description)) { if (! m_config.spiral_vase && comment_is_perimeter(description)) {
assert(m_layer != nullptr); assert(m_layer != nullptr);
m_seam_placer.place_seam(m_layer, loop, m_config.external_perimeters_first, this->last_pos()); m_seam_placer.place_seam(m_layer, loop, m_config.external_perimeters_first, this->last_pos());
} else
loop.split_at(last_pos, false);
=======
if (! m_config.spiral_vase && description == "perimeter") {
assert(m_layer != nullptr);
m_seam_placer.place_seam(m_layer, loop, m_config.external_perimeters_first, this->last_pos());
} else } else
// Because the G-code export has 1um resolution, don't generate segments shorter than 1.5 microns, // Because the G-code export has 1um resolution, don't generate segments shorter than 1.5 microns,
// thus empty path segments will not be produced by G-code export. // thus empty path segments will not be produced by G-code export.
loop.split_at(last_pos, false, scaled<double>(0.0015)); loop.split_at(last_pos, false, scaled<double>(0.0015));
>>>>>>> master_250
// clip the path to avoid the extruder to get exactly on the first point of the loop; // clip the path to avoid the extruder to get exactly on the first point of the loop;
// if polyline was shorter than the clipping distance we'd get a null polyline, so // if polyline was shorter than the clipping distance we'd get a null polyline, so
@ -2735,11 +2724,7 @@ std::string GCode::extrude_multi_path(ExtrusionMultiPath multipath, const std::s
return gcode; return gcode;
} }
<<<<<<< HEAD
std::string GCode::extrude_entity(const ExtrusionEntity &entity, const std::string_view description, double speed) std::string GCode::extrude_entity(const ExtrusionEntity &entity, const std::string_view description, double speed)
=======
std::string GCode::extrude_entity(const ExtrusionEntity &entity, std::string description, double speed)
>>>>>>> master_250
{ {
if (const ExtrusionPath* path = dynamic_cast<const ExtrusionPath*>(&entity)) if (const ExtrusionPath* path = dynamic_cast<const ExtrusionPath*>(&entity))
return this->extrude_path(*path, description, speed); return this->extrude_path(*path, description, speed);
@ -2774,11 +2759,7 @@ std::string GCode::extrude_perimeters(const Print &print, const std::vector<Obje
m_config.apply(print.get_print_region(&region - &by_region.front()).config()); m_config.apply(print.get_print_region(&region - &by_region.front()).config());
for (const ExtrusionEntity* ee : region.perimeters) for (const ExtrusionEntity* ee : region.perimeters)
<<<<<<< HEAD
gcode += this->extrude_entity(*ee, comment_perimeter, -1.); gcode += this->extrude_entity(*ee, comment_perimeter, -1.);
=======
gcode += this->extrude_entity(*ee, "perimeter", -1.);
>>>>>>> master_250
} }
return gcode; return gcode;
} }

View file

@ -278,17 +278,10 @@ private:
void set_extruders(const std::vector<unsigned int> &extruder_ids); void set_extruders(const std::vector<unsigned int> &extruder_ids);
std::string preamble(); std::string preamble();
std::string change_layer(coordf_t print_z); std::string change_layer(coordf_t print_z);
<<<<<<< HEAD
std::string extrude_entity(const ExtrusionEntity &entity, const std::string_view description, double speed = -1.); std::string extrude_entity(const ExtrusionEntity &entity, const std::string_view description, double speed = -1.);
std::string extrude_loop(ExtrusionLoop loop, const std::string_view description, double speed = -1.); std::string extrude_loop(ExtrusionLoop loop, const std::string_view description, double speed = -1.);
std::string extrude_multi_path(ExtrusionMultiPath multipath, const std::string_view description, double speed = -1.); std::string extrude_multi_path(ExtrusionMultiPath multipath, const std::string_view description, double speed = -1.);
std::string extrude_path(ExtrusionPath path, const std::string_view description, double speed = -1.); std::string extrude_path(ExtrusionPath path, const std::string_view description, double speed = -1.);
=======
std::string extrude_entity(const ExtrusionEntity &entity, std::string description = "", double speed = -1.);
std::string extrude_loop(ExtrusionLoop loop, std::string description, double speed = -1.);
std::string extrude_multi_path(ExtrusionMultiPath multipath, std::string description = "", double speed = -1.);
std::string extrude_path(ExtrusionPath path, std::string description = "", double speed = -1.);
>>>>>>> master_250
// Extruding multiple objects with soluble / non-soluble / combined supports // Extruding multiple objects with soluble / non-soluble / combined supports
// on a multi-material printer, trying to minimize tool switches. // on a multi-material printer, trying to minimize tool switches.

View file

@ -142,11 +142,7 @@ PiecewiseFittedCurve<Dimension, NumberType, Kernel> fit_curve(
//find corresponding segment index; expects kernels to be centered //find corresponding segment index; expects kernels to be centered
int middle_right_segment_index = floor((observation_point - result.start) / result.segment_size); int middle_right_segment_index = floor((observation_point - result.start) / result.segment_size);
//find index of first segment that is affected by the point i; this can be deduced from kernel_span //find index of first segment that is affected by the point i; this can be deduced from kernel_span
<<<<<<< HEAD
int start_segment_idx = middle_right_segment_index - Kernel::kernel_span / 2 + 1;
=======
int start_segment_idx = middle_right_segment_index - int(Kernel::kernel_span / 2) + 1; int start_segment_idx = middle_right_segment_index - int(Kernel::kernel_span / 2) + 1;
>>>>>>> master_250
for (int segment_index = start_segment_idx; segment_index < int(start_segment_idx + Kernel::kernel_span); for (int segment_index = start_segment_idx; segment_index < int(start_segment_idx + Kernel::kernel_span);
segment_index++) { segment_index++) {
NumberType segment_start = result.start + segment_index * result.segment_size; NumberType segment_start = result.start + segment_index * result.segment_size;

View file

@ -13,11 +13,7 @@
namespace Slic3r { namespace Slic3r {
<<<<<<< HEAD
static ExtrusionPaths thick_polyline_to_extrusion_paths(const ThickPolyline &thick_polyline, ExtrusionRole role, const Flow &flow, const float tolerance, const float merge_tolerance)
=======
ExtrusionPaths thick_polyline_to_extrusion_paths(const ThickPolyline &thick_polyline, ExtrusionRole role, const Flow &flow, const float tolerance, const float merge_tolerance) ExtrusionPaths thick_polyline_to_extrusion_paths(const ThickPolyline &thick_polyline, ExtrusionRole role, const Flow &flow, const float tolerance, const float merge_tolerance)
>>>>>>> master_250
{ {
ExtrusionPaths paths; ExtrusionPaths paths;
ExtrusionPath path(role); ExtrusionPath path(role);

View file

@ -123,8 +123,6 @@ enum DraftShield {
dsDisabled, dsLimited, dsEnabled dsDisabled, dsLimited, dsEnabled
}; };
<<<<<<< HEAD
=======
enum class PerimeterGeneratorType enum class PerimeterGeneratorType
{ {
// Classic perimeter generator using Clipper offsets with constant extrusion width. // Classic perimeter generator using Clipper offsets with constant extrusion width.
@ -134,7 +132,6 @@ enum class PerimeterGeneratorType
Arachne Arachne
}; };
>>>>>>> master_250
enum class GCodeThumbnailsFormat { enum class GCodeThumbnailsFormat {
PNG, JPG, QOI PNG, JPG, QOI
}; };

File diff suppressed because one or more lines are too long

View file

@ -1,15 +1,11 @@
get_filename_component(_TEST_NAME ${CMAKE_CURRENT_LIST_DIR} NAME) get_filename_component(_TEST_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
add_executable(${_TEST_NAME}_tests add_executable(${_TEST_NAME}_tests
${_TEST_NAME}_tests.cpp ${_TEST_NAME}_tests.cpp
<<<<<<< HEAD
test_avoid_crossing_perimeters.cpp test_avoid_crossing_perimeters.cpp
test_bridges.cpp test_bridges.cpp
test_cooling.cpp test_cooling.cpp
test_clipper.cpp test_clipper.cpp
test_custom_gcode.cpp test_custom_gcode.cpp
=======
test_clipper.cpp
>>>>>>> master_250
test_data.cpp test_data.cpp
test_data.hpp test_data.hpp
test_extrusion_entity.cpp test_extrusion_entity.cpp

View file

@ -131,25 +131,16 @@ TEST_CASE("Fill: Pattern Path Length", "[Fill]") {
auto flow = Slic3r::Flow(0.69f, 0.4f, 0.5f); auto flow = Slic3r::Flow(0.69f, 0.4f, 0.5f);
FillParams fill_params; FillParams fill_params;
<<<<<<< HEAD
for (auto density : { 0.4, 1.0 }) { for (auto density : { 0.4, 1.0 }) {
fill_params.density = density; fill_params.density = density;
filler->spacing = flow.spacing(); filler->spacing = flow.spacing();
REQUIRE(!fill_params.use_arachne); // Make this test fail when Arachne is used because this test is not ready for it.
for (auto angle : { 0.0, 45.0}) { for (auto angle : { 0.0, 45.0}) {
surface.expolygon.rotate(angle, Point(0,0)); surface.expolygon.rotate(angle, Point(0,0));
Polylines paths = filler->fill_surface(&surface, fill_params); Polylines paths = filler->fill_surface(&surface, fill_params);
// one continuous path // one continuous path
REQUIRE(paths.size() == 1); REQUIRE(paths.size() == 1);
} }
=======
fill_params.density = 1.0;
filler->spacing = flow.spacing();
REQUIRE(!fill_params.use_arachne); // Make this test fail when Arachne is used because this test is not ready for it.
for (auto angle : { 0.0, 45.0}) {
surface.expolygon.rotate(angle, Point(0,0));
Polylines paths = filler->fill_surface(&surface, fill_params);
REQUIRE(paths.size() == 1);
>>>>>>> master_250
} }
} }

View file

@ -3,14 +3,7 @@
set(SLIC3R_APP_NAME "PrusaSlicer") set(SLIC3R_APP_NAME "PrusaSlicer")
set(SLIC3R_APP_KEY "PrusaSlicer") set(SLIC3R_APP_KEY "PrusaSlicer")
<<<<<<< HEAD
set(SLIC3R_VERSION "2.6.0-alpha0") set(SLIC3R_VERSION "2.6.0-alpha0")
set(SLIC3R_BUILD_ID "PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN") set(SLIC3R_BUILD_ID "PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN")
set(SLIC3R_RC_VERSION "2,6,0,0") set(SLIC3R_RC_VERSION "2,6,0,0")
set(SLIC3R_RC_VERSION_DOTS "2.6.0.0") set(SLIC3R_RC_VERSION_DOTS "2.6.0.0")
=======
set(SLIC3R_VERSION "2.5.0-alpha2")
set(SLIC3R_BUILD_ID "PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN")
set(SLIC3R_RC_VERSION "2,5,0,0")
set(SLIC3R_RC_VERSION_DOTS "2.5.0.0")
>>>>>>> master_250

View file

@ -1,40 +0,0 @@
%module{Slic3r::XS};
%{
#include <xsinit.h>
#include "libslic3r/PerimeterGenerator.hpp"
#include "libslic3r/Layer.hpp"
%}
%name{Slic3r::Layer::PerimeterGenerator} class PerimeterGenerator {
PerimeterGenerator(SurfaceCollection* slices, double layer_height, Flow* flow,
StaticPrintConfig* region_config, StaticPrintConfig* object_config,
StaticPrintConfig* print_config, ExtrusionEntityCollection* loops,
ExtrusionEntityCollection* gap_fill,
SurfaceCollection* fill_surfaces)
%code{% RETVAL = new PerimeterGenerator(slices, layer_height, *flow,
dynamic_cast<PrintRegionConfig*>(region_config),
dynamic_cast<PrintObjectConfig*>(object_config),
dynamic_cast<PrintConfig*>(print_config),
false,
loops, gap_fill, fill_surfaces); %};
~PerimeterGenerator();
void set_lower_slices(ExPolygonCollection* lower_slices)
%code{% THIS->lower_slices = &lower_slices->expolygons; %};
void set_layer_id(int layer_id)
%code{% THIS->layer_id = layer_id; %};
void set_perimeter_flow(Flow* flow)
%code{% THIS->perimeter_flow = *flow; %};
void set_ext_perimeter_flow(Flow* flow)
%code{% THIS->ext_perimeter_flow = *flow; %};
void set_overhang_flow(Flow* flow)
%code{% THIS->overhang_flow = *flow; %};
void set_solid_infill_flow(Flow* flow)
%code{% THIS->solid_infill_flow = *flow; %};
Ref<StaticPrintConfig> config()
%code{% RETVAL = THIS->config; %};
void process_classic();
};