mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-09 00:31:19 +00:00
46 lines
1.4 KiB
C++
46 lines
1.4 KiB
C++
#ifndef slic3r_FillTpmsD_hpp_
|
|
#define slic3r_FillTpmsD_hpp_
|
|
|
|
#include <utility>
|
|
|
|
#include "FillBase.hpp"
|
|
#include "libslic3r/ExPolygon.hpp"
|
|
#include "libslic3r/Polyline.hpp"
|
|
|
|
namespace Slic3r {
|
|
class Point;
|
|
|
|
class FillTpmsD : public Fill
|
|
{
|
|
public:
|
|
FillTpmsD() {}
|
|
Fill* clone() const override { return new FillTpmsD(*this); }
|
|
|
|
// require bridge flow since most of this pattern hangs in air
|
|
bool use_bridge_flow() const override { return false; }
|
|
|
|
|
|
// Correction applied to regular infill angle to maximize printing
|
|
// speed in default configuration (degrees)
|
|
static constexpr float CorrectionAngle = -45.;
|
|
|
|
void _fill_surface_single(const FillParams& params,
|
|
unsigned int thickness_layers,
|
|
const std::pair<float, Point>& direction,
|
|
ExPolygon expolygon,
|
|
Polylines& polylines_out) override;
|
|
|
|
bool is_self_crossing() override { return false; }
|
|
bool aligned_to_origin() const override { return true; }
|
|
|
|
// Density adjustment to have a good %of weight.
|
|
static constexpr double DensityAdjust = 2.1;
|
|
|
|
// Gyroid upper resolution tolerance (mm^-2)
|
|
static constexpr double PatternTolerance = 0.1;
|
|
|
|
};
|
|
|
|
} // namespace Slic3r
|
|
|
|
#endif // slic3r_FillTpmsD_hpp_
|