add intersection-toggle to thickness-tool

see: “Thickness tools is missing intersection-toogle”
https://forum.freecadweb.org/viewtopic.php?f=19&t=37952
This commit is contained in:
Matthias Berberich
2019-07-31 12:41:17 +02:00
committed by wmayer
parent c53d3074ae
commit b01ebbc01e
5 changed files with 44 additions and 1 deletions

View File

@@ -73,6 +73,9 @@ TaskThicknessParameters::TaskThicknessParameters(ViewProviderDressUp *DressUpVie
bool r = pcThickness->Reversed.getValue();
ui->checkReverse->setChecked(r);
bool i = pcThickness->Intersection.getValue();
ui->checkIntersection->setChecked(i);
std::vector<std::string> strings = pcThickness->Base.getSubValues();
for (std::vector<std::string>::const_iterator i = strings.begin(); i != strings.end(); i++)
{
@@ -85,6 +88,8 @@ TaskThicknessParameters::TaskThicknessParameters(ViewProviderDressUp *DressUpVie
this, SLOT(onValueChanged(double)));
connect(ui->checkReverse, SIGNAL(toggled(bool)),
this, SLOT(onReversedChanged(bool)));
connect(ui->checkIntersection, SIGNAL(toggled(bool)),
this, SLOT(onIntersectionChanged(bool)));
connect(ui->buttonRefAdd, SIGNAL(toggled(bool)),
this, SLOT(onButtonRefAdd(bool)));
connect(ui->buttonRefRemove, SIGNAL(toggled(bool)),
@@ -192,6 +197,18 @@ bool TaskThicknessParameters::getReversed(void) const
return ui->checkReverse->isChecked();
}
void TaskThicknessParameters::onIntersectionChanged(const bool on) {
clearButtons(none);
PartDesign::Thickness* pcThickness = static_cast<PartDesign::Thickness*>(DressUpView->getObject());
pcThickness->Intersection.setValue(on);
pcThickness->getDocument()->recomputeFeature(pcThickness);
}
bool TaskThicknessParameters::getIntersection(void) const
{
return ui->checkIntersection->isChecked();
}
int TaskThicknessParameters::getJoinType(void) const {
return ui->joinComboBox->currentIndex();
@@ -264,6 +281,7 @@ bool TaskDlgThicknessParameters::accept()
FCMD_OBJ_CMD(obj,"Value = " << draftparameter->getValue());
FCMD_OBJ_CMD(obj,"Reversed = " << draftparameter->getReversed());
FCMD_OBJ_CMD(obj,"Mode = " << draftparameter->getMode());
FCMD_OBJ_CMD(obj,"Intersection = " << draftparameter->getIntersection());
FCMD_OBJ_CMD(obj,"Join = " << draftparameter->getJoinType());
return TaskDlgDressUpParameters::accept();