43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
#ifndef slic3r_FlushVolCalc_hpp_
|
|
#define slic3r_FlushVolCalc_hpp_
|
|
|
|
#include "libslic3r.h"
|
|
#include "FlushVolPredictor.hpp"
|
|
#include "PrintConfig.hpp"
|
|
|
|
|
|
namespace Slic3r {
|
|
|
|
extern const int g_min_flush_volume_from_support;
|
|
extern const int g_flush_volume_to_support;
|
|
extern const int g_max_flush_volume;
|
|
|
|
class FlushVolCalculator
|
|
{
|
|
public:
|
|
FlushVolCalculator(int min, int max, bool is_multi_extruder, NozzleVolumeType volume_type, float multiplier = 1.0f);
|
|
~FlushVolCalculator()
|
|
{
|
|
}
|
|
|
|
int calc_flush_vol(unsigned char src_a, unsigned char src_r, unsigned char src_g, unsigned char src_b,
|
|
unsigned char dst_a, unsigned char dst_r, unsigned char dst_g, unsigned char dst_b);
|
|
|
|
int calc_flush_vol_rgb(unsigned char src_r,unsigned char src_g,unsigned char src_b,
|
|
unsigned char dst_r, unsigned char dst_g, unsigned char dst_b);
|
|
|
|
bool get_flush_vol_from_data(unsigned char src_r, unsigned char src_g, unsigned char src_b,
|
|
unsigned char dst_r, unsigned char dst_g, unsigned char dst_b, float& flush);
|
|
|
|
private:
|
|
int m_min_flush_vol;
|
|
int m_max_flush_vol;
|
|
float m_multiplier;
|
|
FlushPredict::FlushMachineType m_machine_type;
|
|
};
|
|
|
|
|
|
}
|
|
|
|
#endif
|