ENH: improve is_support_necessary

Use tree support to detect if there are sharp tails and so on.

Jira: STUDIO-1898

Change-Id: I148e14ca4024849875133a646a8fdd36c265b2fb
(cherry picked from commit bc74015d45e96e409d34d611876e3a24e289e029)
This commit is contained in:
Arthur 2023-01-04 17:58:18 +08:00 committed by Lane.Wei
parent 43ba4b0712
commit 81ee7bb99b
3 changed files with 29 additions and 11 deletions

View file

@ -206,9 +206,9 @@ public:
* \param storage The data storage where the mesh data is gotten from and
* where the resulting support areas are stored.
*/
void generate_support_areas();
void generate();
void detect_object_overhangs();
void detect_overhangs();
enum NodeType {
eCircle,
@ -372,6 +372,8 @@ public:
int avg_node_per_layer = 0;
float nodes_angle = 0;
bool has_overhangs = false;
bool has_sharp_tails = false;
bool has_cantilever = false;
std::unique_ptr<FillLightning::Generator> generator;
std::unordered_map<double, size_t> printZ_to_lightninglayer;