mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 23:46:24 -06:00
ENH: add paint-on support on vertical faces
Add paint-on support on vertical faces of slender rods ENH STUDIO-970/1285 FIX STUDIO-1183 Change-Id: I36b398f9c1c1341bce080ec3d454dcc6e6f991e8 (cherry picked from commit 65ee2c8d74284b21bfd34a1059e2005998d749c5)
This commit is contained in:
parent
e61e6c3c95
commit
aa0dbac351
3 changed files with 30 additions and 7 deletions
|
@ -46,6 +46,19 @@ struct MeshSlicingParamsEx : public MeshSlicingParams
|
|||
double resolution { 0 };
|
||||
};
|
||||
|
||||
// BBS: MusangKing - NEW: add paint-on support on vertical-faces
|
||||
// this SlabSlicingConfig aiming to distinguish if slice_slabs_make_lines() outputs lines by slab_slicing on vertical faces
|
||||
// e.g., for support enforcer operation: isVertical = true; for other color painting operations: isVertical = false (default).
|
||||
// solve conflicts STUDIO-1183/970/1285
|
||||
struct SlabSlicingConfig
|
||||
{
|
||||
SlabSlicingConfig()
|
||||
: isVertical(false)
|
||||
{}
|
||||
|
||||
bool isVertical;
|
||||
};
|
||||
|
||||
// All the following slicing functions shall produce consistent results with the same mesh, same transformation matrix and slicing parameters.
|
||||
// Namely, slice_mesh_slabs() shall produce consistent results with slice_mesh() and slice_mesh_ex() in the sense, that projections made by
|
||||
// slice_mesh_slabs() shall fall onto slicing planes produced by slice_mesh().
|
||||
|
@ -107,7 +120,9 @@ void slice_mesh_slabs(
|
|||
const Transform3d &trafo,
|
||||
std::vector<Polygons> *out_top,
|
||||
std::vector<Polygons> *out_bottom,
|
||||
std::function<void()> throw_on_cancel);
|
||||
std::function<void()> throw_on_cancel,
|
||||
// BBS: MusangKing
|
||||
SlabSlicingConfig config = SlabSlicingConfig());
|
||||
|
||||
// Project mesh upwards pointing surfaces / downwards pointing surfaces into 2D polygons.
|
||||
void project_mesh(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue