@@ -761,6 +761,11 @@ class LayerPlan : public NoCopy
761761 */
762762 void applyGradualFlow ();
763763
764+ /* !
765+ * Gets the mesh being printed first on this layer
766+ */
767+ std::shared_ptr<const SliceMeshStorage> findFirstPrintedMesh () const ;
768+
764769private:
765770 /* !
766771 * \brief Compute the preferred or minimum combing boundary
@@ -881,9 +886,10 @@ class LayerPlan : public NoCopy
881886 * \param compute_distance_to_bridge_start Whether we should compute the distance to start of bridge. This is
882887 * possible only if PathType is ExtrusionLine and will be ignored otherwise.
883888 * \param func_add_segment The function to be called to actually add an extrusion segment with the given parameters
889+ * \return The index of the last traversed point, and the final position with the scarf seam
884890 */
885891 template <class PathType >
886- void addSplitWall (
892+ std::tuple< size_t , Point2LL> addSplitWall (
887893 const PathAdapter<PathType>& wall,
888894 const coord_t wall_length,
889895 const size_t start_idx,
@@ -926,9 +932,10 @@ class LayerPlan : public NoCopy
926932 * \param scarf_seam Indicates whether we may use a scarf seam for the path
927933 * \param smooth_speed Indicates whether we may use a speed gradient for the path
928934 * \param func_add_segment The function to be called to actually add an extrusion segment with the given parameters
935+ * \return The index of the last traversed point, and the final position with the scarf seam
929936 */
930937 template <class PathType >
931- void addWallWithScarfSeam (
938+ std::tuple< size_t , Point2LL> addWallWithScarfSeam (
932939 const PathAdapter<PathType>& wall,
933940 size_t start_idx,
934941 const Settings& settings,
@@ -942,6 +949,18 @@ class LayerPlan : public NoCopy
942949 const bool smooth_speed,
943950 const AddExtrusionSegmentFunction& func_add_segment);
944951
952+ /* !
953+ * \brief Add a wipe travel after the given path has been extruded
954+ * \tparam PathType The type of path to be processed, either ExtrusionLine or some subclass of Polyline
955+ * \param path The path that has just been extruded
956+ * \param wipe_distance The length of the wipe move to be added
957+ * \param backwards Indicates if the path has been processed backwards
958+ * \param start_index The index of the point where o start printing the path
959+ * \param last_path_position The actual last position of the extruder, which may be slightly forwards on the last printed segment
960+ */
961+ template <class PathType >
962+ void addWipeTravel (const PathAdapter<PathType>& path, const coord_t wipe_distance, const bool backwards, const size_t start_index, const Point2LL& last_path_position);
963+
945964 /* !
946965 * Pre-calculates the coasting to be applied on the paths
947966 *
0 commit comments