BambuSrc/libslic3r/FlushVolCalc.hpp

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