mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	Tech ENABLE_SEAMS_VISUALIZATION set as default
This commit is contained in:
		
							parent
							
								
									59606a0ef6
								
							
						
					
					
						commit
						15b8e68c59
					
				
					 7 changed files with 2 additions and 73 deletions
				
			
		|  | @ -1088,9 +1088,7 @@ void GCodeProcessor::reset() | |||
|     m_wiping = false; | ||||
| 
 | ||||
|     m_line_id = 0; | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|     m_last_line_id = 0; | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|     m_feedrate = 0.0f; | ||||
|     m_width = 0.0f; | ||||
|     m_height = 0.0f; | ||||
|  | @ -1487,10 +1485,8 @@ void GCodeProcessor::process_tags(const std::string_view comment) | |||
|     // extrusion role tag
 | ||||
|     if (boost::starts_with(comment, reserved_tag(ETags::Role))) { | ||||
|         set_extrusion_role(ExtrusionEntity::string_to_role(comment.substr(reserved_tag(ETags::Role).length()))); | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         if (m_extrusion_role == erExternalPerimeter) | ||||
|             m_seams_detector.activate(true); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         m_processing_start_custom_gcode = (m_extrusion_role == erCustom && m_g1_line_id == 0); | ||||
|         return; | ||||
|     } | ||||
|  | @ -1629,10 +1625,9 @@ bool GCodeProcessor::process_cura_tags(const std::string_view comment) | |||
|             BOOST_LOG_TRIVIAL(warning) << "GCodeProcessor found unknown extrusion role: " << type; | ||||
|         } | ||||
| 
 | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         if (m_extrusion_role == erExternalPerimeter) | ||||
|             m_seams_detector.activate(true); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
| 
 | ||||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|  | @ -1697,9 +1692,7 @@ bool GCodeProcessor::process_simplify3d_tags(const std::string_view comment) | |||
|     pos = cmt.find(" outer perimeter"); | ||||
|     if (pos == 0) { | ||||
|         set_extrusion_role(erExternalPerimeter); | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         m_seams_detector.activate(true); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|  | @ -1854,10 +1847,8 @@ bool GCodeProcessor::process_craftware_tags(const std::string_view comment) | |||
|             BOOST_LOG_TRIVIAL(warning) << "GCodeProcessor found unknown extrusion role: " << type; | ||||
|         } | ||||
| 
 | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         if (m_extrusion_role == erExternalPerimeter) | ||||
|             m_seams_detector.activate(true); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
| 
 | ||||
|         return true; | ||||
|     } | ||||
|  | @ -1898,10 +1889,9 @@ bool GCodeProcessor::process_ideamaker_tags(const std::string_view comment) | |||
|             BOOST_LOG_TRIVIAL(warning) << "GCodeProcessor found unknown extrusion role: " << type; | ||||
|         } | ||||
| 
 | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         if (m_extrusion_role == erExternalPerimeter) | ||||
|             m_seams_detector.activate(true); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
| 
 | ||||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|  | @ -1970,9 +1960,7 @@ bool GCodeProcessor::process_kissslicer_tags(const std::string_view comment) | |||
|     pos = comment.find(" 'Perimeter Path'"); | ||||
|     if (pos == 0) { | ||||
|         set_extrusion_role(erExternalPerimeter); | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         m_seams_detector.activate(true); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|  | @ -2346,7 +2334,6 @@ void GCodeProcessor::process_G1(const GCodeReader::GCodeLine& line) | |||
|             machine.calculate_time(TimeProcessor::Planner::queue_size); | ||||
|     } | ||||
| 
 | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|     if (m_seams_detector.is_active()) { | ||||
|         // check for seam starting vertex
 | ||||
|         if (type == EMoveType::Extrude && m_extrusion_role == erExternalPerimeter && !m_seams_detector.has_first_vertex()) | ||||
|  | @ -2370,7 +2357,6 @@ void GCodeProcessor::process_G1(const GCodeReader::GCodeLine& line) | |||
|             m_seams_detector.activate(false); | ||||
|         } | ||||
|     } | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
| 
 | ||||
|     // store move
 | ||||
|     store_move_vertex(type); | ||||
|  | @ -2825,18 +2811,12 @@ void GCodeProcessor::process_T(const std::string_view command) | |||
| 
 | ||||
| void GCodeProcessor::store_move_vertex(EMoveType type) | ||||
| { | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|     m_last_line_id = (type == EMoveType::Color_change || type == EMoveType::Pause_Print || type == EMoveType::Custom_GCode) ? | ||||
|         m_line_id + 1 : | ||||
|         ((type == EMoveType::Seam) ? m_last_line_id : m_line_id); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
| 
 | ||||
|     MoveVertex vertex = { | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         m_last_line_id, | ||||
| #else | ||||
|         (type == EMoveType::Color_change || type == EMoveType::Pause_Print || type == EMoveType::Custom_GCode) ? m_line_id + 1 : m_line_id, | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         type, | ||||
|         m_extrusion_role, | ||||
|         m_extruder_id, | ||||
|  |  | |||
|  | @ -12,9 +12,7 @@ | |||
| #include <vector> | ||||
| #include <string> | ||||
| #include <string_view> | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
| #include <optional> | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
| 
 | ||||
| namespace Slic3r { | ||||
| 
 | ||||
|  | @ -23,9 +21,7 @@ namespace Slic3r { | |||
|         Noop, | ||||
|         Retract, | ||||
|         Unretract, | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         Seam, | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         Tool_change, | ||||
|         Color_change, | ||||
|         Pause_Print, | ||||
|  | @ -363,7 +359,6 @@ namespace Slic3r { | |||
|             void reset(); | ||||
|         }; | ||||
| 
 | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         class SeamsDetector | ||||
|         { | ||||
|             bool m_active{ false }; | ||||
|  | @ -384,7 +379,6 @@ namespace Slic3r { | |||
|             bool is_active() const { return m_active; } | ||||
|             bool has_first_vertex() const { return m_first_vertex.has_value(); } | ||||
|         }; | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
| 
 | ||||
| #if ENABLE_GCODE_VIEWER_DATA_CHECKING | ||||
|         struct DataChecker | ||||
|  | @ -470,9 +464,7 @@ namespace Slic3r { | |||
|         bool m_wiping; | ||||
| 
 | ||||
|         unsigned int m_line_id; | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         unsigned int m_last_line_id; | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         float m_feedrate; // mm/s
 | ||||
|         float m_width; // mm
 | ||||
|         float m_height; // mm
 | ||||
|  | @ -491,9 +483,7 @@ namespace Slic3r { | |||
|         unsigned int m_layer_id; | ||||
|         CpColor m_cp_color; | ||||
|         bool m_use_volumetric_e; | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         SeamsDetector m_seams_detector; | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
| 
 | ||||
|         enum class EProducer | ||||
|         { | ||||
|  |  | |||
|  | @ -41,8 +41,6 @@ | |||
| //====================
 | ||||
| #define ENABLE_2_4_0_ALPHA0 1 | ||||
| 
 | ||||
| // Enable visualization of seams in preview
 | ||||
| #define ENABLE_SEAMS_VISUALIZATION (1 && ENABLE_2_4_0_ALPHA0) | ||||
| // Enable project dirty state manager
 | ||||
| #define ENABLE_PROJECT_DIRTY_STATE (1 && ENABLE_2_4_0_ALPHA0) | ||||
| // Enable project dirty state manager debug window
 | ||||
|  |  | |||
|  | @ -121,9 +121,7 @@ bool GCodeViewer::Path::matches(const GCodeProcessor::MoveVertex& move) const | |||
|     case EMoveType::Custom_GCode: | ||||
|     case EMoveType::Retract: | ||||
|     case EMoveType::Unretract: | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|     case EMoveType::Seam: | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|     case EMoveType::Extrude: { | ||||
|         // use rounding to reduce the number of generated paths
 | ||||
|         return type == move.type && extruder_id == move.extruder_id && cp_color_id == move.cp_color_id && role == move.extrusion_role && | ||||
|  | @ -507,9 +505,7 @@ const std::vector<GCodeViewer::Color> GCodeViewer::Extrusion_Role_Colors {{ | |||
| const std::vector<GCodeViewer::Color> GCodeViewer::Options_Colors {{ | ||||
|     { 0.803f, 0.135f, 0.839f },   // Retractions
 | ||||
|     { 0.287f, 0.679f, 0.810f },   // Unretractions
 | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|     { 0.900f, 0.900f, 0.900f },   // Seams
 | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|     { 0.758f, 0.744f, 0.389f },   // ToolChanges
 | ||||
|     { 0.856f, 0.582f, 0.546f },   // ColorChanges
 | ||||
|     { 0.322f, 0.942f, 0.512f },   // PausePrints
 | ||||
|  | @ -552,20 +548,12 @@ GCodeViewer::GCodeViewer() | |||
|         case EMoveType::Pause_Print: | ||||
|         case EMoveType::Custom_GCode: | ||||
|         case EMoveType::Retract: | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         case EMoveType::Unretract: | ||||
|         case EMoveType::Seam: { | ||||
|             buffer.render_primitive_type = TBuffer::ERenderPrimitiveType::Point; | ||||
|             buffer.vertices.format = VBuffer::EFormat::Position; | ||||
|             break; | ||||
|         } | ||||
| #else | ||||
|         case EMoveType::Unretract: { | ||||
|             buffer.render_primitive_type = TBuffer::ERenderPrimitiveType::Point; | ||||
|             buffer.vertices.format = VBuffer::EFormat::Position; | ||||
|             break; | ||||
|         } | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         case EMoveType::Wipe: | ||||
|         case EMoveType::Extrude: { | ||||
|             buffer.render_primitive_type = TBuffer::ERenderPrimitiveType::Triangle; | ||||
|  | @ -775,18 +763,11 @@ void GCodeViewer::render() const | |||
|             case EMoveType::Pause_Print: | ||||
|             case EMoveType::Custom_GCode: | ||||
|             case EMoveType::Retract: | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|             case EMoveType::Unretract: | ||||
|             case EMoveType::Seam: { | ||||
|                 buffer.shader = wxGetApp().is_glsl_version_greater_or_equal_to(1, 20) ? "options_120" : "options_110"; | ||||
|                 break; | ||||
|             } | ||||
| #else | ||||
|             case EMoveType::Unretract: { | ||||
|                 buffer.shader = wxGetApp().is_glsl_version_greater_or_equal_to(1, 20) ? "options_120" : "options_110"; | ||||
|                 break; | ||||
|             } | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|             case EMoveType::Wipe: | ||||
|             case EMoveType::Extrude: { | ||||
|                 buffer.shader = "gouraud_light"; | ||||
|  | @ -911,9 +892,7 @@ unsigned int GCodeViewer::get_options_visibility_flags() const | |||
|     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::Wipe), is_toolpath_move_type_visible(EMoveType::Wipe)); | ||||
|     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::Retractions), is_toolpath_move_type_visible(EMoveType::Retract)); | ||||
|     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::Unretractions), is_toolpath_move_type_visible(EMoveType::Unretract)); | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::Seams), is_toolpath_move_type_visible(EMoveType::Seam)); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::ToolChanges), is_toolpath_move_type_visible(EMoveType::Tool_change)); | ||||
|     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::ColorChanges), is_toolpath_move_type_visible(EMoveType::Color_change)); | ||||
|     flags = set_flag(flags, static_cast<unsigned int>(Preview::OptionType::PausePrints), is_toolpath_move_type_visible(EMoveType::Pause_Print)); | ||||
|  | @ -934,9 +913,7 @@ void GCodeViewer::set_options_visibility_from_flags(unsigned int flags) | |||
|     set_toolpath_move_type_visible(EMoveType::Wipe, is_flag_set(static_cast<unsigned int>(Preview::OptionType::Wipe))); | ||||
|     set_toolpath_move_type_visible(EMoveType::Retract, is_flag_set(static_cast<unsigned int>(Preview::OptionType::Retractions))); | ||||
|     set_toolpath_move_type_visible(EMoveType::Unretract, is_flag_set(static_cast<unsigned int>(Preview::OptionType::Unretractions))); | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|     set_toolpath_move_type_visible(EMoveType::Seam, is_flag_set(static_cast<unsigned int>(Preview::OptionType::Seams))); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|     set_toolpath_move_type_visible(EMoveType::Tool_change, is_flag_set(static_cast<unsigned int>(Preview::OptionType::ToolChanges))); | ||||
|     set_toolpath_move_type_visible(EMoveType::Color_change, is_flag_set(static_cast<unsigned int>(Preview::OptionType::ColorChanges))); | ||||
|     set_toolpath_move_type_visible(EMoveType::Pause_Print, is_flag_set(static_cast<unsigned int>(Preview::OptionType::PausePrints))); | ||||
|  | @ -2164,9 +2141,7 @@ void GCodeViewer::refresh_render_paths(bool keep_sequential_current_first, bool | |||
|         case EMoveType::Custom_GCode: { color = Options_Colors[static_cast<unsigned int>(EOptionsColors::CustomGCodes)]; break; } | ||||
|         case EMoveType::Retract:      { color = Options_Colors[static_cast<unsigned int>(EOptionsColors::Retractions)]; break; } | ||||
|         case EMoveType::Unretract:    { color = Options_Colors[static_cast<unsigned int>(EOptionsColors::Unretractions)]; break; } | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         case EMoveType::Seam:         { color = Options_Colors[static_cast<unsigned int>(EOptionsColors::Seams)]; break; } | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         case EMoveType::Extrude: { | ||||
|             if (!top_layer_only || | ||||
|                 m_sequential_view.current.last == global_endpoints.last || | ||||
|  | @ -3262,12 +3237,8 @@ void GCodeViewer::render_legend(float& legend_height) const | |||
|             available(EMoveType::Pause_Print) || | ||||
|             available(EMoveType::Retract) || | ||||
|             available(EMoveType::Tool_change) || | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|             available(EMoveType::Unretract) || | ||||
|             available(EMoveType::Seam); | ||||
| #else | ||||
|             available(EMoveType::Unretract); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|     }; | ||||
| 
 | ||||
|     auto add_option = [this, append_item](EMoveType move_type, EOptionsColors color, const std::string& text) { | ||||
|  | @ -3285,9 +3256,7 @@ void GCodeViewer::render_legend(float& legend_height) const | |||
|         // items
 | ||||
|         add_option(EMoveType::Retract, EOptionsColors::Retractions, _u8L("Retractions")); | ||||
|         add_option(EMoveType::Unretract, EOptionsColors::Unretractions, _u8L("Deretractions")); | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         add_option(EMoveType::Seam, EOptionsColors::Seams, _u8L("Seams")); | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         add_option(EMoveType::Tool_change, EOptionsColors::ToolChanges, _u8L("Tool changes")); | ||||
|         add_option(EMoveType::Color_change, EOptionsColors::ColorChanges, _u8L("Color changes")); | ||||
|         add_option(EMoveType::Pause_Print, EOptionsColors::PausePrints, _u8L("Print pauses")); | ||||
|  |  | |||
|  | @ -38,9 +38,7 @@ class GCodeViewer | |||
|     { | ||||
|         Retractions, | ||||
|         Unretractions, | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         Seams, | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         ToolChanges, | ||||
|         ColorChanges, | ||||
|         PausePrints, | ||||
|  |  | |||
|  | @ -264,9 +264,7 @@ bool Preview::init(wxWindow* parent, Model* model) | |||
|         get_option_type_string(OptionType::Wipe) + "|0|" + | ||||
|         get_option_type_string(OptionType::Retractions) + "|0|" + | ||||
|         get_option_type_string(OptionType::Unretractions) + "|0|" + | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         get_option_type_string(OptionType::Seams) + "|0|" + | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         get_option_type_string(OptionType::ToolChanges) + "|0|" + | ||||
|         get_option_type_string(OptionType::ColorChanges) + "|0|" + | ||||
|         get_option_type_string(OptionType::PausePrints) + "|0|" + | ||||
|  | @ -1033,9 +1031,7 @@ wxString Preview::get_option_type_string(OptionType type) const | |||
|     case OptionType::Wipe:          { return _L("Wipe"); } | ||||
|     case OptionType::Retractions:   { return _L("Retractions"); } | ||||
|     case OptionType::Unretractions: { return _L("Deretractions"); } | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|     case OptionType::Seams:         { return _L("Seams"); } | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|     case OptionType::ToolChanges:   { return _L("Tool changes"); } | ||||
|     case OptionType::ColorChanges:  { return _L("Color changes"); } | ||||
|     case OptionType::PausePrints:   { return _L("Print pauses"); } | ||||
|  |  | |||
|  | @ -121,9 +121,7 @@ public: | |||
|         Wipe, | ||||
|         Retractions, | ||||
|         Unretractions, | ||||
| #if ENABLE_SEAMS_VISUALIZATION | ||||
|         Seams, | ||||
| #endif // ENABLE_SEAMS_VISUALIZATION
 | ||||
|         ToolChanges, | ||||
|         ColorChanges, | ||||
|         PausePrints, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 enricoturri1966
						enricoturri1966