OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
ToolOrderUtils.hpp File Reference
#include <utility>
#include <vector>
#include <optional>
#include <functional>
#include <limits>
#include <memory>
#include <set>
#include <unordered_set>
#include <unordered_map>
#include "../MultiNozzleUtils.hpp"
Include dependency graph for ToolOrderUtils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Slic3r::Edge
class  Slic3r::MaxFlowSolver
class  Slic3r::GeneralMinCostSolver
class  Slic3r::GeneralMinCostLowerBoundsSolver
struct  Slic3r::GeneralMinCostLowerBoundsSolver::LowerBoundEdge
class  Slic3r::GroupMinCostFlowSolver
class  Slic3r::MinFlushFlowSolver
class  Slic3r::MatchModeGroupSolver

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::MaxFlowGraph

Typedefs

using Slic3r::FlushMatrix = std::vector<std::vector<float>>

Functions

std::vector< unsigned int > Slic3r::get_extruders_order (const std::vector< std::vector< float > > &wipe_volumes, const std::vector< unsigned int > &curr_layer_extruders, const std::vector< unsigned int > &next_layer_extruders, const std::optional< unsigned int > &start_extruder_id, bool use_forcast, float *cost)
int Slic3r::reorder_filaments_for_minimum_flush_volume (const std::vector< unsigned int > &filament_lists, const std::vector< int > &filament_maps, const std::vector< std::vector< unsigned int > > &layer_filaments, const std::vector< FlushMatrix > &flush_matrix, std::optional< std::function< bool(int, std::vector< int > &)> > get_custom_seq, std::vector< std::vector< unsigned int > > *filament_sequences, const std::unordered_map< int, int > &nozzle_status)
int Slic3r::reorder_filaments_for_multi_nozzle_extruder (const std::vector< unsigned int > &filament_lists, const MultiNozzleUtils::LayeredNozzleGroupResult &nozzle_group_result, const std::vector< std::vector< unsigned int > > &layer_filaments, const std::vector< FlushMatrix > &flush_matrix, const std::function< bool(int, std::vector< int > &)> get_custom_seq, std::vector< std::vector< unsigned int > > *filament_sequences, const MultiNozzleUtils::NozzleStatusRecorder &initial_status)

Variables

const int Slic3r::MaxFlowGraph::INF = std::numeric_limits<int>::max()
const int Slic3r::MaxFlowGraph::INVALID_ID = -1
constexpr int Slic3r::MaxFlowGraph::MCMF_MAX_EDGE_COST = 10000000

Class Documentation

◆ Slic3r::GeneralMinCostLowerBoundsSolver::LowerBoundEdge

struct Slic3r::GeneralMinCostLowerBoundsSolver::LowerBoundEdge
Class Members
int edge_id
int lower