28 lines
666 B
C++
28 lines
666 B
C++
#ifndef slic3r_CurvaAnalyzer_hpp_
|
|
#define slic3r_CurvaAnalyzer_hpp_
|
|
|
|
#include "ExtrusionEntityCollection.hpp"
|
|
|
|
namespace Slic3r {
|
|
|
|
enum class ECurveAnalyseMode : unsigned char
|
|
{
|
|
RelativeMode,
|
|
AbsoluteMode,
|
|
Count
|
|
};
|
|
|
|
//BBS: CurvaAnalyzer, ansolutely new file
|
|
class CurveAnalyzer {
|
|
public:
|
|
// This function is used to calculate curvature for paths.
|
|
// Paths must be generated from a closed polygon.
|
|
// Data in paths may be modify, and paths will be spilited and regenerated
|
|
// arrording to different curve degree.
|
|
void calculate_curvatures(ExtrusionPaths& paths, ECurveAnalyseMode mode = ECurveAnalyseMode::RelativeMode);
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|