From 2db409659e27750251e5b386f1eaf38e954afc12 Mon Sep 17 00:00:00 2001 From: Uwe Date: Fri, 7 Jan 2022 21:35:46 +0100 Subject: [PATCH] [TD] coding style fixes for new extensions all done by MSVC I do this since on one hand the readability is in this case really improved and because whenever I made a change, MSVC tries to fix the style and then the diffs are unnecessarily large. Also the MSVC style is almost what we use as the "standard" coding style. --- src/Mod/TechDraw/Gui/CommandExtensionDims.cpp | 982 +++++++-------- src/Mod/TechDraw/Gui/CommandExtensionPack.cpp | 1119 +++++++++-------- 2 files changed, 1053 insertions(+), 1048 deletions(-) diff --git a/src/Mod/TechDraw/Gui/CommandExtensionDims.cpp b/src/Mod/TechDraw/Gui/CommandExtensionDims.cpp index 68254f7ff5..08004b5fb2 100644 --- a/src/Mod/TechDraw/Gui/CommandExtensionDims.cpp +++ b/src/Mod/TechDraw/Gui/CommandExtensionDims.cpp @@ -79,56 +79,56 @@ using namespace TechDraw; using namespace std; namespace TechDrawGui { -//internal structures and sort functions -struct dimVertex{ - // save a dimension defining vertex and its point - std::string name; - Base::Vector3d point; -}; + //internal structures and sort functions + struct dimVertex { + // save a dimension defining vertex and its point + std::string name; + Base::Vector3d point; + }; -struct { - bool operator()(dimVertex a, dimVertex b) const {return a.point.x < b.point.x;} -} sortX; + struct { + bool operator()(dimVertex a, dimVertex b) const { return a.point.x < b.point.x; } + } sortX; -struct { - bool operator()(dimVertex a, dimVertex b) const {return a.point.y < b.point.y;} -} sortY; + struct { + bool operator()(dimVertex a, dimVertex b) const { return a.point.y < b.point.y; } + } sortY; -//internal helper functions -void _selectDimensionAttributes(Gui::Command* cmd); -std::vector_getDimensions(std::vector selection,std::string needDimType); -Base::Vector3d _getTrianglePoint(Base::Vector3d p1, Base::Vector3d d, Base::Vector3d p2); -std::vector _getVertexInfo(TechDraw::DrawViewPart* objFeat, - std::vector subNames); -TechDraw::DrawViewDimension* _createLinDimension(Gui::Command* cmd, - TechDraw::DrawViewPart* objFeat, - std::string startVertex, - std::string endVertex, - std::string dimType); -bool _checkSelection(Gui::Command* cmd, - std::vector& selection, - std::string message); -bool _checkSelAndObj(Gui::Command* cmd, - std::vector& selection, - TechDraw::DrawViewPart*& objFeat, - std::string message); + //internal helper functions + void _selectDimensionAttributes(Gui::Command* cmd); + std::vector_getDimensions(std::vector selection, std::string needDimType); + Base::Vector3d _getTrianglePoint(Base::Vector3d p1, Base::Vector3d d, Base::Vector3d p2); + std::vector _getVertexInfo(TechDraw::DrawViewPart* objFeat, + std::vector subNames); + TechDraw::DrawViewDimension* _createLinDimension(Gui::Command* cmd, + TechDraw::DrawViewPart* objFeat, + std::string startVertex, + std::string endVertex, + std::string dimType); + bool _checkSelection(Gui::Command* cmd, + std::vector& selection, + std::string message); + bool _checkSelAndObj(Gui::Command* cmd, + std::vector& selection, + TechDraw::DrawViewPart*& objFeat, + std::string message); } //=========================================================================== // TechDraw_ExtensionInsertDiameter //=========================================================================== -void execInsertPrefixChar(Gui::Command* cmd,std::string praefixChar){ +void execInsertPrefixChar(Gui::Command* cmd, std::string praefixChar) { // insert a praefix character into the format specifier std::vector selection; - if (_checkSelection(cmd,selection,"TechDraw Insert Prefix Character")){ + if (_checkSelection(cmd, selection, "TechDraw Insert Prefix Character")) { Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Insert Prefix Character")); - for (auto selected : selection){ + for (auto selected : selection) { auto object = selected.getObject(); - if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())){ + if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) { auto dim = dynamic_cast(selected.getObject()); std::string formatSpec = dim->FormatSpec.getStrValue(); - formatSpec = praefixChar+formatSpec; + formatSpec = praefixChar + formatSpec; dim->FormatSpec.setValue(formatSpec); } } @@ -139,23 +139,23 @@ void execInsertPrefixChar(Gui::Command* cmd,std::string praefixChar){ DEF_STD_CMD_A(CmdTechDrawExtensionInsertDiameter) CmdTechDrawExtensionInsertDiameter::CmdTechDrawExtensionInsertDiameter() - : Command("TechDraw_ExtensionInsertDiameter") + : Command("TechDraw_ExtensionInsertDiameter") { - sAppModule = "TechDraw"; - sGroup = QT_TR_NOOP("TechDraw"); - sMenuText = QT_TR_NOOP("Insert '⌀' sign"); - sToolTipText = QT_TR_NOOP("Insert '⌀' sign in a measure\n\ + sAppModule = "TechDraw"; + sGroup = QT_TR_NOOP("TechDraw"); + sMenuText = QT_TR_NOOP("Insert '⌀' sign"); + sToolTipText = QT_TR_NOOP("Insert '⌀' sign in a measure\n\ - select many measures\n\ - click this button"); - sWhatsThis = "TechDraw_ExtensionInsertDiameter"; - sStatusTip = sToolTipText; - sPixmap = "TechDraw_ExtensionInsertDiameter"; + sWhatsThis = "TechDraw_ExtensionInsertDiameter"; + sStatusTip = sToolTipText; + sPixmap = "TechDraw_ExtensionInsertDiameter"; } void CmdTechDrawExtensionInsertDiameter::activated(int iMsg) { Q_UNUSED(iMsg); - execInsertPrefixChar(this,"⌀"); + execInsertPrefixChar(this, "⌀"); } bool CmdTechDrawExtensionInsertDiameter::isActive(void) @@ -172,23 +172,23 @@ bool CmdTechDrawExtensionInsertDiameter::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionInsertSquare) CmdTechDrawExtensionInsertSquare::CmdTechDrawExtensionInsertSquare() - : Command("TechDraw_ExtensionInsertSquare") + : Command("TechDraw_ExtensionInsertSquare") { - sAppModule = "TechDraw"; - sGroup = QT_TR_NOOP("TechDraw"); - sMenuText = QT_TR_NOOP("Insert '〼' sign"); - sToolTipText = QT_TR_NOOP("Insert '〼' sign in a measure\n\ + sAppModule = "TechDraw"; + sGroup = QT_TR_NOOP("TechDraw"); + sMenuText = QT_TR_NOOP("Insert '〼' sign"); + sToolTipText = QT_TR_NOOP("Insert '〼' sign in a measure\n\ - select many measures\n\ - click this button"); - sWhatsThis = "TechDraw_ExtensionInsertSquare"; - sStatusTip = sToolTipText; - sPixmap = "TechDraw_ExtensionInsertSquare"; + sWhatsThis = "TechDraw_ExtensionInsertSquare"; + sStatusTip = sToolTipText; + sPixmap = "TechDraw_ExtensionInsertSquare"; } void CmdTechDrawExtensionInsertSquare::activated(int iMsg) { Q_UNUSED(iMsg); - execInsertPrefixChar(this,"〼"); + execInsertPrefixChar(this, "〼"); } bool CmdTechDrawExtensionInsertSquare::isActive(void) @@ -205,22 +205,22 @@ bool CmdTechDrawExtensionInsertSquare::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionInsertPrefixGroup) CmdTechDrawExtensionInsertPrefixGroup::CmdTechDrawExtensionInsertPrefixGroup() - : Command("TechDraw_ExtensionInsertPrefixGroup") + : Command("TechDraw_ExtensionInsertPrefixGroup") { - sAppModule = "TechDraw"; - sGroup = QT_TR_NOOP("TechDraw"); - sMenuText = QT_TR_NOOP("Insert a '⌀' sign in a measure"); - sToolTipText = QT_TR_NOOP("Insert a '⌀' sign in a measure:\n\ + sAppModule = "TechDraw"; + sGroup = QT_TR_NOOP("TechDraw"); + sMenuText = QT_TR_NOOP("Insert a '⌀' sign in a measure"); + sToolTipText = QT_TR_NOOP("Insert a '⌀' sign in a measure:\n\ - select many measures\n\ - click this button"); - sWhatsThis = "TechDraw_ExtensionInsertPrefixGroup"; - sStatusTip = sToolTipText; + sWhatsThis = "TechDraw_ExtensionInsertPrefixGroup"; + sStatusTip = sToolTipText; } void CmdTechDrawExtensionInsertPrefixGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionLinePPGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionLinePPGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -229,19 +229,19 @@ void CmdTechDrawExtensionInsertPrefixGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //insert "⌀" as praefix - execInsertPrefixChar(this,"⌀"); - break; - case 1: //insert "〼" as praefix - execInsertPrefixChar(this,"〼"); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //insert "⌀" as praefix + execInsertPrefixChar(this, "⌀"); + break; + case 1: //insert "〼" as praefix + execInsertPrefixChar(this, "〼"); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionInsertPrefixGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionInsertPrefixGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -276,14 +276,14 @@ void CmdTechDrawExtensionInsertPrefixGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Insert '⌀' sign in a measure")); - arc1->setToolTip(QApplication::translate("TechDraw_Extension","Insert a '⌀' sign in a measure:\n\ + arc1->setText(QApplication::translate("TechDraw_Extension", "Insert '⌀' sign in a measure")); + arc1->setToolTip(QApplication::translate("TechDraw_Extension", "Insert a '⌀' sign in a measure:\n\ - select many measures\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Insert a '〼' sign in a measure")); - arc2->setToolTip(QApplication::translate("TechDraw_Extension","Insert a '〼' sign in a measure:\n\ + arc2->setText(QApplication::translate("TechDraw_Extension", "Insert a '〼' sign in a measure")); + arc2->setToolTip(QApplication::translate("TechDraw_Extension", "Insert a '〼' sign in a measure:\n\ - select many measures\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); @@ -300,25 +300,25 @@ bool CmdTechDrawExtensionInsertPrefixGroup::isActive(void) // TechDraw_ExtensionIncreaseDecimal //=========================================================================== -void execIncreaseDecreaseDecimal(Gui::Command* cmd, int delta){ +void execIncreaseDecreaseDecimal(Gui::Command* cmd, int delta) { // increase or decrease number of decimal places of a measure std::vector selection; - if (_checkSelection(cmd,selection,"TechDraw Increase/Decrease Decimal")){ + if (_checkSelection(cmd, selection, "TechDraw Increase/Decrease Decimal")) { Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Increase/Decrease Decimal")); std::string numStr; - for (auto selected : selection){ + for (auto selected : selection) { auto object = selected.getObject(); - if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())){ + if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) { auto dim = dynamic_cast(selected.getObject()); std::string formatSpec = dim->FormatSpec.getStrValue(); - std::string searchStr ("%."); - int numFound = formatSpec.find(searchStr)+2; + std::string searchStr("%."); + int numFound = formatSpec.find(searchStr) + 2; numStr = formatSpec[numFound]; - int numInt = std::stoi(numStr,nullptr); - numInt = numInt+delta; - if (numInt >= 0 && numInt <= 9){ + int numInt = std::stoi(numStr, nullptr); + numInt = numInt + delta; + if (numInt >= 0 && numInt <= 9) { numStr = std::to_string(numInt); - formatSpec.replace(numFound,1,numStr); + formatSpec.replace(numFound, 1, numStr); dim->FormatSpec.setValue(formatSpec); } } @@ -330,7 +330,7 @@ void execIncreaseDecreaseDecimal(Gui::Command* cmd, int delta){ DEF_STD_CMD_A(CmdTechDrawExtensionIncreaseDecimal) CmdTechDrawExtensionIncreaseDecimal::CmdTechDrawExtensionIncreaseDecimal() - : Command("TechDraw_ExtensionIncreaseDecimal") + : Command("TechDraw_ExtensionIncreaseDecimal") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -346,7 +346,7 @@ CmdTechDrawExtensionIncreaseDecimal::CmdTechDrawExtensionIncreaseDecimal() void CmdTechDrawExtensionIncreaseDecimal::activated(int iMsg) { Q_UNUSED(iMsg); - execIncreaseDecreaseDecimal(this,1); + execIncreaseDecreaseDecimal(this, 1); } bool CmdTechDrawExtensionIncreaseDecimal::isActive(void) @@ -363,7 +363,7 @@ bool CmdTechDrawExtensionIncreaseDecimal::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionDecreaseDecimal) CmdTechDrawExtensionDecreaseDecimal::CmdTechDrawExtensionDecreaseDecimal() - : Command("TechDraw_ExtensionDecreaseDecimal") + : Command("TechDraw_ExtensionDecreaseDecimal") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -379,7 +379,7 @@ CmdTechDrawExtensionDecreaseDecimal::CmdTechDrawExtensionDecreaseDecimal() void CmdTechDrawExtensionDecreaseDecimal::activated(int iMsg) { Q_UNUSED(iMsg); - execIncreaseDecreaseDecimal(this,-1); + execIncreaseDecreaseDecimal(this, -1); } bool CmdTechDrawExtensionDecreaseDecimal::isActive(void) @@ -396,7 +396,7 @@ bool CmdTechDrawExtensionDecreaseDecimal::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionIncreaseDecreaseGroup) CmdTechDrawExtensionIncreaseDecreaseGroup::CmdTechDrawExtensionIncreaseDecreaseGroup() - : Command("TechDraw_ExtensionIncreaseDecreaseGroup") + : Command("TechDraw_ExtensionIncreaseDecreaseGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -410,8 +410,8 @@ CmdTechDrawExtensionIncreaseDecreaseGroup::CmdTechDrawExtensionIncreaseDecreaseG void CmdTechDrawExtensionIncreaseDecreaseGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionIncreaseDecreaseGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionIncreaseDecreaseGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -420,19 +420,19 @@ void CmdTechDrawExtensionIncreaseDecreaseGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //increase decimal places - execIncreaseDecreaseDecimal(this,1); - break; - case 1: //decrease decimal places - execIncreaseDecreaseDecimal(this,-1); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //increase decimal places + execIncreaseDecreaseDecimal(this, 1); + break; + case 1: //decrease decimal places + execIncreaseDecreaseDecimal(this, -1); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionIncreaseDecreaseGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionIncreaseDecreaseGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -467,14 +467,14 @@ void CmdTechDrawExtensionIncreaseDecreaseGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Increase Decimal Places")); - arc1->setToolTip(QApplication::translate("TechDraw_Extension","Increase Decimal Places of a Measure\n\ + arc1->setText(QApplication::translate("TechDraw_Extension", "Increase Decimal Places")); + arc1->setToolTip(QApplication::translate("TechDraw_Extension", "Increase Decimal Places of a Measure\n\ - select many measures\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Decrease Decimal Places")); - arc2->setToolTip(QApplication::translate("TechDraw_Extension","Decrease Decimal Places of a Measure\n\ + arc2->setText(QApplication::translate("TechDraw_Extension", "Decrease Decimal Places")); + arc2->setToolTip(QApplication::translate("TechDraw_Extension", "Decrease Decimal Places of a Measure\n\ - select many measures\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); @@ -491,26 +491,26 @@ bool CmdTechDrawExtensionIncreaseDecreaseGroup::isActive(void) // TechDraw_ExtensionPosHorizChainDimension //=========================================================================== -void execPosHorizChainDimension(Gui::Command* cmd){ +void execPosHorizChainDimension(Gui::Command* cmd) { // position a horizontal dimension chain std::vector selection; - if (_checkSelection(cmd,selection,"TechDraw PosHorizChainDimension")){ + if (_checkSelection(cmd, selection, "TechDraw PosHorizChainDimension")) { Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Pos Horiz Chain Dim")); std::vector validDimension; - validDimension = _getDimensions(selection,"DistanceX"); - if( validDimension.empty() ) { + validDimension = _getDimensions(selection, "DistanceX"); + if (validDimension.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw PosHorizChainDimension"), - QObject::tr("No horizontal dimensions selected")); + QObject::tr("TechDraw PosHorizChainDimension"), + QObject::tr("No horizontal dimensions selected")); return; } float yMaster = validDimension[0]->Y.getValue(); - for (auto dim : validDimension){ + for (auto dim : validDimension) { dim->Y.setValue(yMaster); pointPair pp = dim->getLinearPoints(); Base::Vector3d p1 = pp.first; Base::Vector3d p2 = pp.second; - dim->X.setValue((p1.x+p2.x)/2.0); + dim->X.setValue((p1.x + p2.x) / 2.0); } Gui::Command::commitCommand(); } @@ -519,7 +519,7 @@ void execPosHorizChainDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionPosHorizChainDimension) CmdTechDrawExtensionPosHorizChainDimension::CmdTechDrawExtensionPosHorizChainDimension() - : Command("TechDraw_ExtensionPosHorizChainDimension") + : Command("TechDraw_ExtensionPosHorizChainDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -549,26 +549,26 @@ bool CmdTechDrawExtensionPosHorizChainDimension::isActive(void) // TechDraw_ExtensionPosVertChainDimension //=========================================================================== -void execPosVertChainDimension(Gui::Command* cmd){ +void execPosVertChainDimension(Gui::Command* cmd) { // position a vertical dimension chain std::vector selection; - if (_checkSelection(cmd,selection,"TechDraw PosVertChainDimension")){ + if (_checkSelection(cmd, selection, "TechDraw PosVertChainDimension")) { Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Pos Vert Chain Dim")); std::vector validDimension; - validDimension = _getDimensions(selection,"DistanceY"); - if( validDimension.empty() ) { + validDimension = _getDimensions(selection, "DistanceY"); + if (validDimension.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw PosVertChainDimension"), - QObject::tr("No vertical dimensions selected")); + QObject::tr("TechDraw PosVertChainDimension"), + QObject::tr("No vertical dimensions selected")); return; - } + } float xMaster = validDimension[0]->X.getValue(); - for (auto dim : validDimension){ + for (auto dim : validDimension) { dim->X.setValue(xMaster); pointPair pp = dim->getLinearPoints(); Base::Vector3d p1 = pp.first; Base::Vector3d p2 = pp.second; - dim->Y.setValue((p1.y+p2.y)/-2.0); + dim->Y.setValue((p1.y + p2.y) / -2.0); } Gui::Command::commitCommand(); } @@ -577,7 +577,7 @@ void execPosVertChainDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionPosVertChainDimension) CmdTechDrawExtensionPosVertChainDimension::CmdTechDrawExtensionPosVertChainDimension() - : Command("TechDraw_ExtensionPosVertChainDimension") + : Command("TechDraw_ExtensionPosVertChainDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -607,30 +607,30 @@ bool CmdTechDrawExtensionPosVertChainDimension::isActive(void) // TechDraw_ExtensionPosObliqueChainDimension //=========================================================================== -void execPosObliqueChainDimension(Gui::Command* cmd){ +void execPosObliqueChainDimension(Gui::Command* cmd) { // position an oblique dimension chain std::vector selection; - if (_checkSelection(cmd,selection,"TechDraw PosObliqueChainDimension")){ + if (_checkSelection(cmd, selection, "TechDraw PosObliqueChainDimension")) { Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Pos Oblique Chain Dim")); std::vector validDimension; - validDimension = _getDimensions(selection,"Distance"); - if( validDimension.empty() ) { + validDimension = _getDimensions(selection, "Distance"); + if (validDimension.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw PosObliqueChainDimension"), - QObject::tr("No oblique dimensions selected")); + QObject::tr("TechDraw PosObliqueChainDimension"), + QObject::tr("No oblique dimensions selected")); return; } float xMaster = validDimension[0]->X.getValue(); float yMaster = validDimension[0]->Y.getValue(); - Base::Vector3d pMaster(xMaster,yMaster,0.0); + Base::Vector3d pMaster(xMaster, yMaster, 0.0); pointPair pp = validDimension[0]->getLinearPoints(); - Base::Vector3d dirMaster = pp.second-pp.first; + Base::Vector3d dirMaster = pp.second - pp.first; dirMaster.y = -dirMaster.y; - for (auto dim : validDimension){ + for (auto dim : validDimension) { float xDim = dim->X.getValue(); float yDim = dim->Y.getValue(); - Base::Vector3d pDim(xDim,yDim,0.0); - Base::Vector3d p3 = _getTrianglePoint(pMaster,dirMaster,pDim); + Base::Vector3d pDim(xDim, yDim, 0.0); + Base::Vector3d p3 = _getTrianglePoint(pMaster, dirMaster, pDim); dim->X.setValue(p3.x); dim->Y.setValue(p3.y); } @@ -641,7 +641,7 @@ void execPosObliqueChainDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionPosObliqueChainDimension) CmdTechDrawExtensionPosObliqueChainDimension::CmdTechDrawExtensionPosObliqueChainDimension() - : Command("TechDraw_ExtensionPosObliqueChainDimension") + : Command("TechDraw_ExtensionPosObliqueChainDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -675,7 +675,7 @@ bool CmdTechDrawExtensionPosObliqueChainDimension::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionPosChainDimensionGroup) CmdTechDrawExtensionPosChainDimensionGroup::CmdTechDrawExtensionPosChainDimensionGroup() - : Command("TechDraw_ExtensionPosChainDimensionGroup") + : Command("TechDraw_ExtensionPosChainDimensionGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -689,8 +689,8 @@ CmdTechDrawExtensionPosChainDimensionGroup::CmdTechDrawExtensionPosChainDimensio void CmdTechDrawExtensionPosChainDimensionGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionPosChainDimensionGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionPosChainDimensionGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -699,22 +699,22 @@ void CmdTechDrawExtensionPosChainDimensionGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //position horizontal chain dimensions - execPosHorizChainDimension(this); - break; - case 1: //position vertical chain dimensions - execPosVertChainDimension(this); - break; - case 2: //position oblique chain dimensions - execPosObliqueChainDimension(this); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //position horizontal chain dimensions + execPosHorizChainDimension(this); + break; + case 1: //position vertical chain dimensions + execPosVertChainDimension(this); + break; + case 2: //position oblique chain dimensions + execPosObliqueChainDimension(this); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionPosChainDimensionGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionPosChainDimensionGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -753,23 +753,23 @@ void CmdTechDrawExtensionPosChainDimensionGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Position Horizontal Chain Dimensions")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Position Horizontal Chain Dimensions")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Arranges the selected horizontal dimensions on the same line:\n\ + "Arranges the selected horizontal dimensions on the same line:\n\ - select two or more measures\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Position Vertical Chain Dimensions")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Position Vertical Chain Dimensions")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Arranges the selected vertical dimensions on the same line:\n\ + "Arranges the selected vertical dimensions on the same line:\n\ - select two or more measures\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); QAction* arc3 = a[2]; - arc3->setText(QApplication::translate("TechDraw_Extension","Position Oblique Chain Dimensions")); + arc3->setText(QApplication::translate("TechDraw_Extension", "Position Oblique Chain Dimensions")); arc3->setToolTip(QApplication::translate("TechDraw_Extension", - "Arranges the selected oblique dimensions on the same line:\n\ + "Arranges the selected oblique dimensions on the same line:\n\ - select two or more measures\n\ - click this button")); arc3->setStatusTip(arc3->toolTip()); @@ -786,30 +786,30 @@ bool CmdTechDrawExtensionPosChainDimensionGroup::isActive(void) // TechDraw_ExtensionCascadeHorizDimension //=========================================================================== -void execCascadeHorizDimension(Gui::Command* cmd){ +void execCascadeHorizDimension(Gui::Command* cmd) { // cascade horizontal dimensions std::vector selection; - if (_checkSelection(cmd,selection,"TechDraw CascadeHorizDimension")){ + if (_checkSelection(cmd, selection, "TechDraw CascadeHorizDimension")) { Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Cascade Horiz Dim")); std::vector validDimension; - validDimension = _getDimensions(selection,"DistanceX"); - if( validDimension.empty() ) { + validDimension = _getDimensions(selection, "DistanceX"); + if (validDimension.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw CascadeHorizDimension"), - QObject::tr("No horizontal dimensions selected")); + QObject::tr("TechDraw CascadeHorizDimension"), + QObject::tr("No horizontal dimensions selected")); return; } float yMaster = validDimension[0]->Y.getValue(); float dimDistance = activeDimAttributes.getCascadeSpacing(); if (signbit(yMaster)) dimDistance = -dimDistance; - for (auto dim : validDimension){ + for (auto dim : validDimension) { dim->Y.setValue(yMaster); pointPair pp = dim->getLinearPoints(); Base::Vector3d p1 = pp.first; Base::Vector3d p2 = pp.second; - dim->X.setValue((p1.x+p2.x)/2.0); - yMaster = yMaster+dimDistance; + dim->X.setValue((p1.x + p2.x) / 2.0); + yMaster = yMaster + dimDistance; } Gui::Command::commitCommand(); } @@ -818,7 +818,7 @@ void execCascadeHorizDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCascadeHorizDimension) CmdTechDrawExtensionCascadeHorizDimension::CmdTechDrawExtensionCascadeHorizDimension() - : Command("TechDraw_ExtensionCascadeHorizDimension") + : Command("TechDraw_ExtensionCascadeHorizDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -848,30 +848,30 @@ bool CmdTechDrawExtensionCascadeHorizDimension::isActive(void) // TechDraw_ExtensionCascadeVertDimension //=========================================================================== -void execCascadeVertDimension(Gui::Command* cmd){ +void execCascadeVertDimension(Gui::Command* cmd) { // cascade horizontal dimensions std::vector selection; - if (_checkSelection(cmd,selection,"TechDraw CascadeVertDimension")){ + if (_checkSelection(cmd, selection, "TechDraw CascadeVertDimension")) { Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Cascade Vert Dim")); std::vector validDimension; - validDimension = _getDimensions(selection,"DistanceY"); - if( validDimension.empty() ) { + validDimension = _getDimensions(selection, "DistanceY"); + if (validDimension.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw CascadeVertDimension"), - QObject::tr("No vertical dimensions selected")); + QObject::tr("TechDraw CascadeVertDimension"), + QObject::tr("No vertical dimensions selected")); return; } float xMaster = validDimension[0]->X.getValue(); float dimDistance = activeDimAttributes.getCascadeSpacing(); if (signbit(xMaster)) dimDistance = -dimDistance; - for (auto dim : validDimension){ + for (auto dim : validDimension) { dim->X.setValue(xMaster); pointPair pp = dim->getLinearPoints(); Base::Vector3d p1 = pp.first; Base::Vector3d p2 = pp.second; - dim->Y.setValue((p1.y+p2.y)/-2.0); - xMaster = xMaster+dimDistance; + dim->Y.setValue((p1.y + p2.y) / -2.0); + xMaster = xMaster + dimDistance; } Gui::Command::commitCommand(); } @@ -880,7 +880,7 @@ void execCascadeVertDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCascadeVertDimension) CmdTechDrawExtensionCascadeVertDimension::CmdTechDrawExtensionCascadeVertDimension() - : Command("TechDraw_ExtensionCascadeVertDimension") + : Command("TechDraw_ExtensionCascadeVertDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -910,39 +910,39 @@ bool CmdTechDrawExtensionCascadeVertDimension::isActive(void) // TechDraw_ExtensionCascadeObliqueDimension //=========================================================================== -void execCascadeObliqueDimension(Gui::Command* cmd){ +void execCascadeObliqueDimension(Gui::Command* cmd) { // cascade oblique dimensions std::vector selection; - if (_checkSelection(cmd,selection,"TechDraw CascadeObliqueDimension")){ + if (_checkSelection(cmd, selection, "TechDraw CascadeObliqueDimension")) { Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Cascade Oblique Dim")); std::vector validDimension; - validDimension = _getDimensions(selection,"Distance"); - if( validDimension.empty() ) { + validDimension = _getDimensions(selection, "Distance"); + if (validDimension.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw CascadeObliqueDimension"), - QObject::tr("No oblique dimensions selected")); + QObject::tr("TechDraw CascadeObliqueDimension"), + QObject::tr("No oblique dimensions selected")); return; } float xMaster = validDimension[0]->X.getValue(); float yMaster = validDimension[0]->Y.getValue(); - Base::Vector3d pMaster(xMaster,yMaster,0.0); + Base::Vector3d pMaster(xMaster, yMaster, 0.0); pointPair pp = validDimension[0]->getLinearPoints(); - Base::Vector3d dirMaster = pp.second-pp.first; + Base::Vector3d dirMaster = pp.second - pp.first; dirMaster.y = -dirMaster.y; - Base::Vector3d origin(0.0,0.0,0.0); - Base::Vector3d ipDelta = _getTrianglePoint(pMaster,dirMaster,origin); + Base::Vector3d origin(0.0, 0.0, 0.0); + Base::Vector3d ipDelta = _getTrianglePoint(pMaster, dirMaster, origin); float dimDistance = activeDimAttributes.getCascadeSpacing(); - Base::Vector3d delta = ipDelta.Normalize()*dimDistance; + Base::Vector3d delta = ipDelta.Normalize() * dimDistance; int i = 0; - for (auto dim : validDimension){ + for (auto dim : validDimension) { float xDim = dim->X.getValue(); float yDim = dim->Y.getValue(); - Base::Vector3d pDim(xDim,yDim,0.0); - Base::Vector3d p3 = _getTrianglePoint(pMaster,dirMaster,pDim); - p3 = p3+delta*i; + Base::Vector3d pDim(xDim, yDim, 0.0); + Base::Vector3d p3 = _getTrianglePoint(pMaster, dirMaster, pDim); + p3 = p3 + delta * i; dim->X.setValue(p3.x); dim->Y.setValue(p3.y); - i = i+1; + i = i + 1; } Gui::Command::commitCommand(); } @@ -951,7 +951,7 @@ void execCascadeObliqueDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCascadeObliqueDimension) CmdTechDrawExtensionCascadeObliqueDimension::CmdTechDrawExtensionCascadeObliqueDimension() - : Command("TechDraw_ExtensionCascadeObliqueDimension") + : Command("TechDraw_ExtensionCascadeObliqueDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -986,7 +986,7 @@ bool CmdTechDrawExtensionCascadeObliqueDimension::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionCascadeDimensionGroup) CmdTechDrawExtensionCascadeDimensionGroup::CmdTechDrawExtensionCascadeDimensionGroup() - : Command("TechDraw_ExtensionCascadeDimensionGroup") + : Command("TechDraw_ExtensionCascadeDimensionGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1000,8 +1000,8 @@ CmdTechDrawExtensionCascadeDimensionGroup::CmdTechDrawExtensionCascadeDimensionG void CmdTechDrawExtensionCascadeDimensionGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionCascadeDimansionGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionCascadeDimansionGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -1010,22 +1010,22 @@ void CmdTechDrawExtensionCascadeDimensionGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //cascade horizontal dimensions - execCascadeHorizDimension(this); - break; - case 1: //cascade vertical dimensions - execCascadeVertDimension(this); - break; - case 2: //cascade oblique dimensions - execCascadeObliqueDimension(this); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //cascade horizontal dimensions + execCascadeHorizDimension(this); + break; + case 1: //cascade vertical dimensions + execCascadeVertDimension(this); + break; + case 2: //cascade oblique dimensions + execCascadeObliqueDimension(this); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionCascadeDimensionGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionCascadeDimensionGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -1064,23 +1064,23 @@ void CmdTechDrawExtensionCascadeDimensionGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Cascade Horizontal Dimensions")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Cascade Horizontal Dimensions")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Spaces (vertically), the selected horizontal dimensions:\n\ + "Spaces (vertically), the selected horizontal dimensions:\n\ - select two or more horizontal dimensions\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Cascade Vertical Dimensions")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Cascade Vertical Dimensions")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Spaces (horizontally), the selected vertical dimensions:\n\ + "Spaces (horizontally), the selected vertical dimensions:\n\ - select two or more vertical dimensions\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); QAction* arc3 = a[2]; - arc3->setText(QApplication::translate("TechDraw_Extension","Cascade Oblique Dimensions")); + arc3->setText(QApplication::translate("TechDraw_Extension", "Cascade Oblique Dimensions")); arc3->setToolTip(QApplication::translate("TechDraw_Extension", - "Cascade oblique dimensions\n\ + "Cascade oblique dimensions\n\ - select some parallel oblique measures\n\ - the first selected maesure defines the position\n\ - click this button")); @@ -1098,27 +1098,27 @@ bool CmdTechDrawExtensionCascadeDimensionGroup::isActive(void) // TechDraw_ExtensionCreateHorizChainDimension //=========================================================================== -void execCreateHorizChainDimension(Gui::Command* cmd){ +void execCreateHorizChainDimension(Gui::Command* cmd) { //create a horizontal chain dimension std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSelAndObj(cmd,selection,objFeat,"TechDraw Create Horizontal Chain Dimension")) + if (!_checkSelAndObj(cmd, selection, objFeat, "TechDraw Create Horizontal Chain Dimension")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Horiz Chain Dim")); const std::vector subNames = selection[0].getSubNames(); std::vector allVertexes; - allVertexes = _getVertexInfo(objFeat,subNames); - if (!allVertexes.empty()){ - if (allVertexes.size() > 1){ - std::sort(allVertexes.begin(),allVertexes.end(),sortX); + allVertexes = _getVertexInfo(objFeat, subNames); + if (!allVertexes.empty()) { + if (allVertexes.size() > 1) { + std::sort(allVertexes.begin(), allVertexes.end(), sortX); float yMaster = 0.0; - for(long unsigned int n=0;ngetLinearPoints(); - Base::Vector3d mid = (pp.first + pp.second)/2.0; + Base::Vector3d mid = (pp.first + pp.second) / 2.0; dim->X.setValue(mid.x); - if(n == 0) + if (n == 0) yMaster = -mid.y; dim->Y.setValue(yMaster); } @@ -1133,7 +1133,7 @@ void execCreateHorizChainDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCreateHorizChainDimension) CmdTechDrawExtensionCreateHorizChainDimension::CmdTechDrawExtensionCreateHorizChainDimension() - : Command("TechDraw_ExtensionCreateHorizChainDimension") + : Command("TechDraw_ExtensionCreateHorizChainDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1164,26 +1164,26 @@ bool CmdTechDrawExtensionCreateHorizChainDimension::isActive(void) // TechDraw_ExtensionCreateVertChainDimension //=========================================================================== -void execCreateVertChainDimension(Gui::Command* cmd){ +void execCreateVertChainDimension(Gui::Command* cmd) { //create a vertical chain dimension std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSelAndObj(cmd,selection,objFeat,"TechDraw Create Vertical Chain Dimension")) + if (!_checkSelAndObj(cmd, selection, objFeat, "TechDraw Create Vertical Chain Dimension")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Vert Chain Dim")); const std::vector subNames = selection[0].getSubNames(); std::vector allVertexes; - allVertexes = _getVertexInfo(objFeat,subNames); - if (!allVertexes.empty()){ - if (allVertexes.size() > 1){ - std::sort(allVertexes.begin(),allVertexes.end(),sortY); + allVertexes = _getVertexInfo(objFeat, subNames); + if (!allVertexes.empty()) { + if (allVertexes.size() > 1) { + std::sort(allVertexes.begin(), allVertexes.end(), sortY); float xMaster = 0.0; - for(long unsigned int n=0;ngetLinearPoints(); - Base::Vector3d mid = (pp.first + pp.second)/2.0; - if(n == 0) + Base::Vector3d mid = (pp.first + pp.second) / 2.0; + if (n == 0) xMaster = mid.x; dim->X.setValue(xMaster); dim->Y.setValue(-mid.y); @@ -1199,7 +1199,7 @@ void execCreateVertChainDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCreateVertChainDimension) CmdTechDrawExtensionCreateVertChainDimension::CmdTechDrawExtensionCreateVertChainDimension() - : Command("TechDraw_ExtensionCreateVertChainDimension") + : Command("TechDraw_ExtensionCreateVertChainDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1229,30 +1229,30 @@ bool CmdTechDrawExtensionCreateVertChainDimension::isActive(void) // TechDraw_ExtensionCreateObliqueChainDimension //=========================================================================== -void execCreateObliqueChainDimension(Gui::Command* cmd){ +void execCreateObliqueChainDimension(Gui::Command* cmd) { // create an oblique chain dimension std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSelAndObj(cmd,selection,objFeat,"TechDraw Create Oblique Chain Dimension")) + if (!_checkSelAndObj(cmd, selection, objFeat, "TechDraw Create Oblique Chain Dimension")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Oblique Chain Dim")); const std::vector subNames = selection[0].getSubNames(); std::vector allVertexes, carrierVertexes; - allVertexes = _getVertexInfo(objFeat,subNames); - if (!allVertexes.empty()){ - if (allVertexes.size() > 1){ + allVertexes = _getVertexInfo(objFeat, subNames); + if (!allVertexes.empty()) { + if (allVertexes.size() > 1) { Base::Vector3d pMaster = allVertexes[0].point; - Base::Vector3d dirMaster = pMaster-allVertexes[1].point; - Base::Vector3d origin(0.0,0.0,0.0); - Base::Vector3d delta = _getTrianglePoint(pMaster,dirMaster,origin); - delta = delta.Normalize()*7.0; + Base::Vector3d dirMaster = pMaster - allVertexes[1].point; + Base::Vector3d origin(0.0, 0.0, 0.0); + Base::Vector3d delta = _getTrianglePoint(pMaster, dirMaster, origin); + delta = delta.Normalize() * 7.0; double scale = objFeat->getScale(); - for (dimVertex oldVertex : allVertexes){ - Base::Vector3d nextPoint = _getTrianglePoint(pMaster,dirMaster,oldVertex.point); + for (dimVertex oldVertex : allVertexes) { + Base::Vector3d nextPoint = _getTrianglePoint(pMaster, dirMaster, oldVertex.point); nextPoint.y = -nextPoint.y; oldVertex.point.y = -oldVertex.point.y; - if ((oldVertex.point-nextPoint).Length() > 0.01){ - std::string vertTag = objFeat->addCosmeticVertex(nextPoint/scale); + if ((oldVertex.point - nextPoint).Length() > 0.01) { + std::string vertTag = objFeat->addCosmeticVertex(nextPoint / scale); int vertNumber = objFeat->add1CVToGV(vertTag); std::stringstream ss; ss << "Vertex" << vertNumber; @@ -1260,20 +1260,21 @@ void execCreateObliqueChainDimension(Gui::Command* cmd){ newVertex.name = ss.str(); newVertex.point = nextPoint; carrierVertexes.push_back(newVertex); - std::string edgeTag = objFeat->addCosmeticEdge(oldVertex.point/scale, nextPoint/scale); - auto edge = objFeat->getCosmeticEdge(edgeTag); + std::string edgeTag = objFeat->addCosmeticEdge(oldVertex.point / scale, nextPoint / scale); + auto edge = objFeat->getCosmeticEdge(edgeTag); edge->m_format.m_style = 1; edge->m_format.m_weight = 0.15; - edge->m_format.m_color = App::Color(0.0f,0.0f,0.0f); - } else + edge->m_format.m_color = App::Color(0.0f, 0.0f, 0.0f); + } + else carrierVertexes.push_back(oldVertex); } - std::sort(carrierVertexes.begin(),carrierVertexes.end(),sortX); - for(long unsigned int n=0;ngetLinearPoints(); - Base::Vector3d mid = (pp.first + pp.second)/2.0+delta; + Base::Vector3d mid = (pp.first + pp.second) / 2.0 + delta; dim->X.setValue(mid.x); dim->Y.setValue(-mid.y); } @@ -1288,7 +1289,7 @@ void execCreateObliqueChainDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCreateObliqueChainDimension) CmdTechDrawExtensionCreateObliqueChainDimension::CmdTechDrawExtensionCreateObliqueChainDimension() - : Command("TechDraw_ExtensionCreateObliqueChainDimension") + : Command("TechDraw_ExtensionCreateObliqueChainDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1322,7 +1323,7 @@ bool CmdTechDrawExtensionCreateObliqueChainDimension::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionCreateChainDimensionGroup) CmdTechDrawExtensionCreateChainDimensionGroup::CmdTechDrawExtensionCreateChainDimensionGroup() - : Command("TechDraw_ExtensionCreateChainDimensionGroup") + : Command("TechDraw_ExtensionCreateChainDimensionGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1336,8 +1337,8 @@ CmdTechDrawExtensionCreateChainDimensionGroup::CmdTechDrawExtensionCreateChainDi void CmdTechDrawExtensionCreateChainDimensionGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionCascadeDimansionGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionCascadeDimansionGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -1346,22 +1347,22 @@ void CmdTechDrawExtensionCreateChainDimensionGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //create horizontal chain dimensions - execCreateHorizChainDimension(this); - break; - case 1: //create vertical chain dimensions - execCreateVertChainDimension(this); - break; - case 2: //create oblique chain dimensions - execCreateObliqueChainDimension(this); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //create horizontal chain dimensions + execCreateHorizChainDimension(this); + break; + case 1: //create vertical chain dimensions + execCreateVertChainDimension(this); + break; + case 2: //create oblique chain dimensions + execCreateObliqueChainDimension(this); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionCreateChainDimensionGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionCreateChainDimensionGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -1400,23 +1401,23 @@ void CmdTechDrawExtensionCreateChainDimensionGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Create Horizontal Chain Dimensions")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Create Horizontal Chain Dimensions")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Create a horizontal chain dimension\n\ + "Create a horizontal chain dimension\n\ - Select three or more vertexes\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Create Vertical Chain Dimensions")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Create Vertical Chain Dimensions")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Create vertical chain dimension\n\ + "Create vertical chain dimension\n\ - Select three or more vertexes\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); QAction* arc3 = a[2]; - arc3->setText(QApplication::translate("TechDraw_Extension","Create Oblique Chain Dimensions")); + arc3->setText(QApplication::translate("TechDraw_Extension", "Create Oblique Chain Dimensions")); arc3->setToolTip(QApplication::translate("TechDraw_Extension", - "Create an oblique dimension chain\n\ + "Create an oblique dimension chain\n\ - select three or more vertexes\n\ - the first two define the direction\n\ - click this button")); @@ -1434,30 +1435,30 @@ bool CmdTechDrawExtensionCreateChainDimensionGroup::isActive(void) // TechDraw_ExtensionCreateHorizCoordDimension //=========================================================================== -void execCreateHorizCoordDimension(Gui::Command* cmd){ +void execCreateHorizCoordDimension(Gui::Command* cmd) { //create horizontal coordinate dimensions std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSelAndObj(cmd,selection,objFeat,"TechDraw Create Horizontal Coord Dimension")) + if (!_checkSelAndObj(cmd, selection, objFeat, "TechDraw Create Horizontal Coord Dimension")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Horiz Coord Dim")); const std::vector subNames = selection[0].getSubNames(); std::vector allVertexes; - allVertexes = _getVertexInfo(objFeat,subNames); - if (!allVertexes.empty()){ - if (allVertexes.size() > 1){ - std::sort(allVertexes.begin(),allVertexes.end(),sortX); + allVertexes = _getVertexInfo(objFeat, subNames); + if (!allVertexes.empty()) { + if (allVertexes.size() > 1) { + std::sort(allVertexes.begin(), allVertexes.end(), sortX); float dimDistance = activeDimAttributes.getCascadeSpacing(); - float yMaster = allVertexes[0].point.y-dimDistance; + float yMaster = allVertexes[0].point.y - dimDistance; if (signbit(yMaster)) dimDistance = -dimDistance; - for(long unsigned int n=0;ngetLinearPoints(); - Base::Vector3d mid = (pp.first + pp.second)/2.0; + Base::Vector3d mid = (pp.first + pp.second) / 2.0; dim->X.setValue(mid.x); - dim->Y.setValue(-yMaster-dimDistance*n); + dim->Y.setValue(-yMaster - dimDistance * n); } } } @@ -1470,7 +1471,7 @@ void execCreateHorizCoordDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCreateHorizCoordDimension) CmdTechDrawExtensionCreateHorizCoordDimension::CmdTechDrawExtensionCreateHorizCoordDimension() - : Command("TechDraw_ExtensionCreateHorizCoordDimension") + : Command("TechDraw_ExtensionCreateHorizCoordDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1500,30 +1501,30 @@ bool CmdTechDrawExtensionCreateHorizCoordDimension::isActive(void) // TechDraw_ExtensionCreateVertCoordDimension //=========================================================================== -void execCreateVertCoordDimension(Gui::Command* cmd){ +void execCreateVertCoordDimension(Gui::Command* cmd) { //create vertical coordinate dimensions std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSelAndObj(cmd,selection,objFeat,"TechDraw Create Vertical Coord Dimension")) + if (!_checkSelAndObj(cmd, selection, objFeat, "TechDraw Create Vertical Coord Dimension")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Vert Coord Dim")); const std::vector subNames = selection[0].getSubNames(); std::vector allVertexes; - allVertexes = _getVertexInfo(objFeat,subNames); - if (!allVertexes.empty()){ - if (allVertexes.size() > 1){ - std::sort(allVertexes.begin(),allVertexes.end(),sortY); - std::reverse(allVertexes.begin(),allVertexes.end()); + allVertexes = _getVertexInfo(objFeat, subNames); + if (!allVertexes.empty()) { + if (allVertexes.size() > 1) { + std::sort(allVertexes.begin(), allVertexes.end(), sortY); + std::reverse(allVertexes.begin(), allVertexes.end()); float dimDistance = activeDimAttributes.getCascadeSpacing(); - float xMaster = allVertexes[0].point.x+dimDistance; + float xMaster = allVertexes[0].point.x + dimDistance; if (signbit(xMaster)) dimDistance = -dimDistance; - for(long unsigned int n=0;ngetLinearPoints(); - Base::Vector3d mid = (pp.first + pp.second)/2.0; - dim->X.setValue(xMaster+dimDistance*n); + Base::Vector3d mid = (pp.first + pp.second) / 2.0; + dim->X.setValue(xMaster + dimDistance * n); dim->Y.setValue(-mid.y); } } @@ -1537,7 +1538,7 @@ void execCreateVertCoordDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCreateVertCoordDimension) CmdTechDrawExtensionCreateVertCoordDimension::CmdTechDrawExtensionCreateVertCoordDimension() - : Command("TechDraw_ExtensionCreateVertCoordDimension") + : Command("TechDraw_ExtensionCreateVertCoordDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1567,31 +1568,31 @@ bool CmdTechDrawExtensionCreateVertCoordDimension::isActive(void) // TechDraw_ExtensionCreateObliqueCoordDimension //=========================================================================== -void execCreateObliqueCoordDimension(Gui::Command* cmd){ +void execCreateObliqueCoordDimension(Gui::Command* cmd) { //create oblique coordinate dimensions std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSelAndObj(cmd,selection,objFeat,"TechDraw Create Oblique Coord Dimension")) + if (!_checkSelAndObj(cmd, selection, objFeat, "TechDraw Create Oblique Coord Dimension")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Oblique Coord Dim")); const std::vector subNames = selection[0].getSubNames(); std::vector allVertexes, carrierVertexes; - allVertexes = _getVertexInfo(objFeat,subNames); - if (!allVertexes.empty()){ - if (allVertexes.size() > 1){ + allVertexes = _getVertexInfo(objFeat, subNames); + if (!allVertexes.empty()) { + if (allVertexes.size() > 1) { Base::Vector3d pMaster = allVertexes[0].point; - Base::Vector3d dirMaster = pMaster-allVertexes[1].point; - Base::Vector3d origin(0.0,0.0,0.0); - Base::Vector3d delta = _getTrianglePoint(pMaster,dirMaster,origin); + Base::Vector3d dirMaster = pMaster - allVertexes[1].point; + Base::Vector3d origin(0.0, 0.0, 0.0); + Base::Vector3d delta = _getTrianglePoint(pMaster, dirMaster, origin); float dimDistance = activeDimAttributes.getCascadeSpacing(); - delta = delta.Normalize()*dimDistance; + delta = delta.Normalize() * dimDistance; double scale = objFeat->getScale(); - for (dimVertex oldVertex : allVertexes){ - Base::Vector3d nextPoint = _getTrianglePoint(pMaster,dirMaster,oldVertex.point); + for (dimVertex oldVertex : allVertexes) { + Base::Vector3d nextPoint = _getTrianglePoint(pMaster, dirMaster, oldVertex.point); nextPoint.y = -nextPoint.y; oldVertex.point.y = -oldVertex.point.y; - if ((oldVertex.point-nextPoint).Length() > 0.01){ - std::string vertTag = objFeat->addCosmeticVertex(nextPoint/scale); + if ((oldVertex.point - nextPoint).Length() > 0.01) { + std::string vertTag = objFeat->addCosmeticVertex(nextPoint / scale); int vertNumber = objFeat->add1CVToGV(vertTag); std::stringstream ss; ss << "Vertex" << vertNumber; @@ -1599,20 +1600,21 @@ void execCreateObliqueCoordDimension(Gui::Command* cmd){ newVertex.name = ss.str(); newVertex.point = nextPoint; carrierVertexes.push_back(newVertex); - std::string edgeTag = objFeat->addCosmeticEdge(oldVertex.point/scale, nextPoint/scale); - auto edge = objFeat->getCosmeticEdge(edgeTag); + std::string edgeTag = objFeat->addCosmeticEdge(oldVertex.point / scale, nextPoint / scale); + auto edge = objFeat->getCosmeticEdge(edgeTag); edge->m_format.m_style = 1; edge->m_format.m_weight = 0.15; - edge->m_format.m_color = App::Color(0.0f,0.0f,0.0f); - } else + edge->m_format.m_color = App::Color(0.0f, 0.0f, 0.0f); + } + else carrierVertexes.push_back(oldVertex); } - std::sort(carrierVertexes.begin(),carrierVertexes.end(),sortX); - for(long unsigned int n=0;ngetLinearPoints(); - Base::Vector3d mid = (pp.first + pp.second)/2.0+delta*(n+1); + Base::Vector3d mid = (pp.first + pp.second) / 2.0 + delta * (n + 1); dim->X.setValue(mid.x); dim->Y.setValue(-mid.y); } @@ -1627,7 +1629,7 @@ void execCreateObliqueCoordDimension(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCreateObliqueCoordDimension) CmdTechDrawExtensionCreateObliqueCoordDimension::CmdTechDrawExtensionCreateObliqueCoordDimension() - : Command("TechDraw_ExtensionCreateObliqueCoordDimension") + : Command("TechDraw_ExtensionCreateObliqueCoordDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1661,7 +1663,7 @@ bool CmdTechDrawExtensionCreateObliqueCoordDimension::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionCreateCoordDimensionGroup) CmdTechDrawExtensionCreateCoordDimensionGroup::CmdTechDrawExtensionCreateCoordDimensionGroup() - : Command("TechDraw_ExtensionCreateCoordDimensionGroup") + : Command("TechDraw_ExtensionCreateCoordDimensionGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1675,8 +1677,8 @@ CmdTechDrawExtensionCreateCoordDimensionGroup::CmdTechDrawExtensionCreateCoordDi void CmdTechDrawExtensionCreateCoordDimensionGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionCascadeDimansionGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionCascadeDimansionGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -1685,22 +1687,22 @@ void CmdTechDrawExtensionCreateCoordDimensionGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //create horizontal coordinate dimensions - execCreateHorizCoordDimension(this); - break; - case 1: //create vertical coordinate dimensions - execCreateVertCoordDimension(this); - break; - case 2: //create oblique coordinate dimensions - execCreateObliqueCoordDimension(this); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //create horizontal coordinate dimensions + execCreateHorizCoordDimension(this); + break; + case 1: //create vertical coordinate dimensions + execCreateVertCoordDimension(this); + break; + case 2: //create oblique coordinate dimensions + execCreateObliqueCoordDimension(this); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionCreateCoordDimensionGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionCreateCoordDimensionGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -1739,23 +1741,23 @@ void CmdTechDrawExtensionCreateCoordDimensionGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Create Horizontal Coordinate Dimensions")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Create Horizontal Coordinate Dimensions")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Create horizontal coordinate dimensions\n\ + "Create horizontal coordinate dimensions\n\ - select three or more vertexes\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Create Vertical Coordinate Dimensions")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Create Vertical Coordinate Dimensions")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Create vertical coordinate dimensions\n\ + "Create vertical coordinate dimensions\n\ - select three or more vertexes\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); QAction* arc3 = a[2]; - arc3->setText(QApplication::translate("TechDraw_Extension","Create Oblique Coordinate Dimensions")); + arc3->setText(QApplication::translate("TechDraw_Extension", "Create Oblique Coordinate Dimensions")); arc3->setToolTip(QApplication::translate("TechDraw_Extension", - "Create an oblique coordinate dimension\n\ + "Create an oblique coordinate dimension\n\ - select three or more vertexes\n\ - the first two define the direction\n\ - click this button")); @@ -1812,7 +1814,7 @@ void execCreateHorizChamferDimension(Gui::Command* cmd) { DEF_STD_CMD_A(CmdTechDrawExtensionCreateHorizChamferDimension) CmdTechDrawExtensionCreateHorizChamferDimension::CmdTechDrawExtensionCreateHorizChamferDimension() - : Command("TechDraw_ExtensionCreateHorizChamferDimension") + : Command("TechDraw_ExtensionCreateHorizChamferDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1881,7 +1883,7 @@ void execCreateVertChamferDimension(Gui::Command* cmd) { DEF_STD_CMD_A(CmdTechDrawExtensionCreateVertChamferDimension) CmdTechDrawExtensionCreateVertChamferDimension::CmdTechDrawExtensionCreateVertChamferDimension() - : Command("TechDraw_ExtensionCreateVertChamferDimension") + : Command("TechDraw_ExtensionCreateVertChamferDimension") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1914,7 +1916,7 @@ bool CmdTechDrawExtensionCreateVertChamferDimension::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionChamferDimensionGroup) CmdTechDrawExtensionChamferDimensionGroup::CmdTechDrawExtensionChamferDimensionGroup() - : Command("TechDraw_ExtensionChamferDimensionGroup") + : Command("TechDraw_ExtensionChamferDimensionGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1928,8 +1930,8 @@ CmdTechDrawExtensionChamferDimensionGroup::CmdTechDrawExtensionChamferDimensionG void CmdTechDrawExtensionChamferDimensionGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionIncreaseDecreaseGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionIncreaseDecreaseGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -1938,19 +1940,19 @@ void CmdTechDrawExtensionChamferDimensionGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //create a horizontal chamfer dimension - execCreateHorizChamferDimension(this); - break; - case 1: //create a vertical chamfer dimension - execCreateVertChamferDimension(this); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //create a horizontal chamfer dimension + execCreateHorizChamferDimension(this); + break; + case 1: //create a vertical chamfer dimension + execCreateVertChamferDimension(this); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionChamferDimensionGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionChamferDimensionGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -1985,14 +1987,14 @@ void CmdTechDrawExtensionChamferDimensionGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Create Horizontal Chamfer Dimension")); - arc1->setToolTip(QApplication::translate("TechDraw_Extension","Create Horizontal Chamfer Dimension\n\ + arc1->setText(QApplication::translate("TechDraw_Extension", "Create Horizontal Chamfer Dimension")); + arc1->setToolTip(QApplication::translate("TechDraw_Extension", "Create Horizontal Chamfer Dimension\n\ - select two vertexes\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Create Vertical Chamfer Dimension")); - arc2->setToolTip(QApplication::translate("TechDraw_Extension","Create Vertical Chamfer Dimension\n\ + arc2->setText(QApplication::translate("TechDraw_Extension", "Create Vertical Chamfer Dimension")); + arc2->setToolTip(QApplication::translate("TechDraw_Extension", "Create Vertical Chamfer Dimension\n\ - select two vertexes\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); @@ -2012,7 +2014,7 @@ bool CmdTechDrawExtensionChamferDimensionGroup::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionCreateLengthArc) CmdTechDrawExtensionCreateLengthArc::CmdTechDrawExtensionCreateLengthArc() - : Command("TechDraw_ExtensionCreateLengthArc") + : Command("TechDraw_ExtensionCreateLengthArc") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -2025,20 +2027,20 @@ CmdTechDrawExtensionCreateLengthArc::CmdTechDrawExtensionCreateLengthArc() sPixmap = "TechDraw_ExtensionCreateLengthArc"; } -void CmdTechDrawExtensionCreateLengthArc::activated(int iMsg){ +void CmdTechDrawExtensionCreateLengthArc::activated(int iMsg) { // create a development/length arc dimension Q_UNUSED(iMsg); std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSelAndObj(this,selection,objFeat,"TechDraw Create Development/length arc")) + if (!_checkSelAndObj(this, selection, objFeat, "TechDraw Create Development/length arc")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Length Arc")); const std::vector subNames = selection[0].getSubNames(); int geoId = TechDraw::DrawUtil::getIndexFromName(subNames[0]); TechDraw::BaseGeomPtr geom = objFeat->getGeomByIndex(geoId); std::string geoType = TechDraw::DrawUtil::getGeomTypeFromName(subNames[0]); - if (geoType == "Edge"){ - if (geom->geomType == TechDraw::ARCOFCIRCLE){ + if (geoType == "Edge") { + if (geom->geomType == TechDraw::ARCOFCIRCLE) { TechDraw::AOCPtr arcTag = std::static_pointer_cast(geom); float radius = arcTag->radius; Base::Vector3d centerPt = arcTag->center; @@ -2049,22 +2051,22 @@ void CmdTechDrawExtensionCreateLengthArc::activated(int iMsg){ endPt.y = -endPt.y; std::stringstream startName, endName, formatSpec; double scale = objFeat->getScale(); - std::string startVertTag = objFeat->addCosmeticVertex(startPt/scale); + std::string startVertTag = objFeat->addCosmeticVertex(startPt / scale); int startVertNumber = objFeat->add1CVToGV(startVertTag); startName << "Vertex" << startVertNumber; - std::string endVertTag = objFeat->addCosmeticVertex(endPt/scale); + std::string endVertTag = objFeat->addCosmeticVertex(endPt / scale); int endVertNumber = objFeat->add1CVToGV(endVertTag); endName << "Vertex" << endVertNumber; TechDraw::DrawViewDimension* dim; - dim = _createLinDimension(this,objFeat,startName.str(),endName.str(),"Distance"); + dim = _createLinDimension(this, objFeat, startName.str(), endName.str(), "Distance"); TechDraw::pointPair pp = dim->getLinearPoints(); - Base::Vector3d mid = (pp.first + pp.second)/2.0; + Base::Vector3d mid = (pp.first + pp.second) / 2.0; dim->X.setValue(mid.x); - dim->Y.setValue(-mid.y); - Base::Vector3d radVec1 = startPt-centerPt; - Base::Vector3d radVec2 = endPt-centerPt; - float alpha = acos((radVec1*radVec2)/(radVec1.Length()*radVec2.Length())); - float arcLength = alpha*radius/scale; + dim->Y.setValue(-mid.y); + Base::Vector3d radVec1 = startPt - centerPt; + Base::Vector3d radVec2 = endPt - centerPt; + float alpha = acos((radVec1 * radVec2) / (radVec1.Length() * radVec2.Length())); + float arcLength = alpha * radius / scale; dim->Arbitrary.setValue(true); formatSpec << "∩ " << arcLength; dim->FormatSpec.setValue(formatSpec.str()); @@ -2084,126 +2086,126 @@ bool CmdTechDrawExtensionCreateLengthArc::isActive(void) } namespace TechDrawGui { -//=========================================================================== -// internal helper routines -//=========================================================================== + //=========================================================================== + // internal helper routines + //=========================================================================== -bool _checkSelection(Gui::Command* cmd, - std::vector& selection, - std::string message){ - // check selection of getSelectionEx() - bool OK = true; - selection = cmd->getSelection().getSelectionEx(); - if( selection.empty() ) { - QMessageBox::warning(Gui::getMainWindow(), - QObject::tr(message.c_str()), - QObject::tr("Selection is empty")); - OK = false; - } - return OK; -} - -bool _checkSelAndObj(Gui::Command* cmd, - std::vector& selection, - TechDraw::DrawViewPart*& objFeat, - std::string message){ - // check selection of getSelectionEx() and selection[0].getObject() - bool OK = true; - OK = _checkSelection(cmd,selection,message); - if (OK) { - objFeat = dynamic_cast(selection[0].getObject()); - if( objFeat == nullptr ) { + bool _checkSelection(Gui::Command* cmd, + std::vector& selection, + std::string message) { + // check selection of getSelectionEx() + bool OK = true; + selection = cmd->getSelection().getSelectionEx(); + if (selection.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr(message.c_str()), - QObject::tr("No object selected")); + QObject::tr(message.c_str()), + QObject::tr("Selection is empty")); OK = false; } + return OK; } - return OK; -} -TechDraw::DrawViewDimension* _createLinDimension(Gui::Command* cmd, - TechDraw::DrawViewPart* objFeat, - std::string startVertex, - std::string endVertex, - std::string dimType) - // create a new linear dimension -{ - TechDraw::DrawPage* page = objFeat->findParentPage(); - std::string PageName = page->getNameInDocument(); - TechDraw::DrawViewDimension* dim = 0; - std::string FeatName = cmd->getUniqueObjectName("Dimension"); - std::vector objs; - std::vector subs; - objs.push_back(objFeat); - objs.push_back(objFeat); - subs.push_back(startVertex); - subs.push_back(endVertex); - cmd->doCommand(cmd->Doc,"App.activeDocument().addObject('TechDraw::DrawViewDimension','%s')",FeatName.c_str()); - cmd->doCommand(cmd->Doc,"App.activeDocument().%s.Type = '%s'",FeatName.c_str(),dimType.c_str()); - dim = dynamic_cast(cmd->getDocument()->getObject(FeatName.c_str())); - if (!dim) - throw Base::TypeError("CmdTechDrawExtensionCreateLinDimension - dim not found\n"); - dim->References2D.setValues(objs, subs); - cmd->doCommand(cmd->Doc,"App.activeDocument().%s.addView(App.activeDocument().%s)",PageName.c_str(),FeatName.c_str()); - dim->recomputeFeature(); - return dim; -} - -std::vector _getVertexInfo(TechDraw::DrawViewPart* objFeat, - std::vector subNames){ - // get subNames and coordinates of all selected vertexes - std::vector vertexes; - dimVertex nextVertex; - for (std::string name : subNames){ - std::string geoType = TechDraw::DrawUtil::getGeomTypeFromName(name); - if (geoType == "Vertex"){ - int geoId = TechDraw::DrawUtil::getIndexFromName(name); - TechDraw::VertexPtr vert = objFeat->getProjVertexByIndex(geoId); - nextVertex.name = name; - nextVertex.point.x = vert->point().x; - nextVertex.point.y = vert->point().y; - nextVertex.point.z = 0.0; - vertexes.push_back(nextVertex); + bool _checkSelAndObj(Gui::Command* cmd, + std::vector& selection, + TechDraw::DrawViewPart*& objFeat, + std::string message) { + // check selection of getSelectionEx() and selection[0].getObject() + bool OK = true; + OK = _checkSelection(cmd, selection, message); + if (OK) { + objFeat = dynamic_cast(selection[0].getObject()); + if (objFeat == nullptr) { + QMessageBox::warning(Gui::getMainWindow(), + QObject::tr(message.c_str()), + QObject::tr("No object selected")); + OK = false; + } } + return OK; } - return vertexes; -} -Base::Vector3d _getTrianglePoint(Base::Vector3d p1, Base::Vector3d dir, Base::Vector3d p2){ - // get third point of a perpendicular triangle - // p1, p2 ...vertexes of hypothenusis, dir ...direction of one kathete, p3 ...3rd vertex - float a = -dir.y; - float b = dir.x; - float c1 = p1.x*a+p1.y*b; - float c2 = -p2.x*b+p2.y*a; - float ab = a*a+b*b; - float x = (c1*a-c2*b)/ab; - float y = (c2*a+c1*b)/ab; - Base::Vector3d p3(x,y,0.0); - return p3; -} + TechDraw::DrawViewDimension* _createLinDimension(Gui::Command* cmd, + TechDraw::DrawViewPart* objFeat, + std::string startVertex, + std::string endVertex, + std::string dimType) + // create a new linear dimension + { + TechDraw::DrawPage* page = objFeat->findParentPage(); + std::string PageName = page->getNameInDocument(); + TechDraw::DrawViewDimension* dim = 0; + std::string FeatName = cmd->getUniqueObjectName("Dimension"); + std::vector objs; + std::vector subs; + objs.push_back(objFeat); + objs.push_back(objFeat); + subs.push_back(startVertex); + subs.push_back(endVertex); + cmd->doCommand(cmd->Doc, "App.activeDocument().addObject('TechDraw::DrawViewDimension','%s')", FeatName.c_str()); + cmd->doCommand(cmd->Doc, "App.activeDocument().%s.Type = '%s'", FeatName.c_str(), dimType.c_str()); + dim = dynamic_cast(cmd->getDocument()->getObject(FeatName.c_str())); + if (!dim) + throw Base::TypeError("CmdTechDrawExtensionCreateLinDimension - dim not found\n"); + dim->References2D.setValues(objs, subs); + cmd->doCommand(cmd->Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), FeatName.c_str()); + dim->recomputeFeature(); + return dim; + } -std::vector_getDimensions(std::vector selection,std::string needDimType){ - // get all selected dimensions of type needDimType - std::vector validDimension; - for (auto selected : selection){ - auto object = selected.getObject(); - if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())){ - auto dim = dynamic_cast(selected.getObject()); - std::string dimType = dim->Type.getValueAsString(); - if (dimType == needDimType) - validDimension.push_back(dim); + std::vector _getVertexInfo(TechDraw::DrawViewPart* objFeat, + std::vector subNames) { + // get subNames and coordinates of all selected vertexes + std::vector vertexes; + dimVertex nextVertex; + for (std::string name : subNames) { + std::string geoType = TechDraw::DrawUtil::getGeomTypeFromName(name); + if (geoType == "Vertex") { + int geoId = TechDraw::DrawUtil::getIndexFromName(name); + TechDraw::VertexPtr vert = objFeat->getProjVertexByIndex(geoId); + nextVertex.name = name; + nextVertex.point.x = vert->point().x; + nextVertex.point.y = vert->point().y; + nextVertex.point.z = 0.0; + vertexes.push_back(nextVertex); + } } + return vertexes; + } + + Base::Vector3d _getTrianglePoint(Base::Vector3d p1, Base::Vector3d dir, Base::Vector3d p2) { + // get third point of a perpendicular triangle + // p1, p2 ...vertexes of hypothenusis, dir ...direction of one kathete, p3 ...3rd vertex + float a = -dir.y; + float b = dir.x; + float c1 = p1.x * a + p1.y * b; + float c2 = -p2.x * b + p2.y * a; + float ab = a * a + b * b; + float x = (c1 * a - c2 * b) / ab; + float y = (c2 * a + c1 * b) / ab; + Base::Vector3d p3(x, y, 0.0); + return p3; + } + + std::vector_getDimensions(std::vector selection, std::string needDimType) { + // get all selected dimensions of type needDimType + std::vector validDimension; + for (auto selected : selection) { + auto object = selected.getObject(); + if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) { + auto dim = dynamic_cast(selected.getObject()); + std::string dimType = dim->Type.getValueAsString(); + if (dimType == needDimType) + validDimension.push_back(dim); + } + } + return validDimension; } - return validDimension; -} } //------------------------------------------------------------------------------ void CreateTechDrawCommandsExtensionDims(void) { - Gui::CommandManager &rcCmdMgr = Gui::Application::Instance->commandManager(); + Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager(); rcCmdMgr.addCommand(new CmdTechDrawExtensionInsertPrefixGroup()); rcCmdMgr.addCommand(new CmdTechDrawExtensionInsertDiameter()); diff --git a/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp b/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp index 7db21d891f..d550a1cf55 100644 --- a/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp +++ b/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp @@ -80,91 +80,91 @@ using namespace TechDraw; using namespace std; namespace TechDrawGui { -//LineAttributes activeAttributes; // container holding global line attributes + //LineAttributes activeAttributes; // container holding global line attributes -//internal helper functions -lineAttributes& _getActiveLineAttributes(); -bool _circulation(Base::Vector3d A, Base::Vector3d B, Base::Vector3d C); -Base::Vector3d _circleCenter(Base::Vector3d p1, Base::Vector3d p2, Base::Vector3d p3); -void _createThreadCircle(std::string Name, TechDraw::DrawViewPart* objFeat, float factor); -void _createThreadLines(std::vector SubNames, TechDraw::DrawViewPart* objFeat, float factor); -void _setLineAttributes(TechDraw::CosmeticEdge* cosEdge); -void _setLineAttributes(TechDraw::CenterLine* cosEdge); -void _setLineAttributes(TechDraw::CosmeticEdge* cosEdge, int style, float weight, App::Color color); -void _intersection(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints); -void _intersectionLL(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints); -void _intersectionCL(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints); -void _intersectionCC(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints); -float _getAngle(Base::Vector3d center, Base::Vector3d point); -std::vector _getVertexPoints(std::vector SubNames,TechDraw::DrawViewPart* objFeat); -bool _checkSel(Gui::Command* cmd, - std::vector& selection, - TechDraw::DrawViewPart*& objFeat, - std::string message); + //internal helper functions + lineAttributes& _getActiveLineAttributes(); + bool _circulation(Base::Vector3d A, Base::Vector3d B, Base::Vector3d C); + Base::Vector3d _circleCenter(Base::Vector3d p1, Base::Vector3d p2, Base::Vector3d p3); + void _createThreadCircle(std::string Name, TechDraw::DrawViewPart* objFeat, float factor); + void _createThreadLines(std::vector SubNames, TechDraw::DrawViewPart* objFeat, float factor); + void _setLineAttributes(TechDraw::CosmeticEdge* cosEdge); + void _setLineAttributes(TechDraw::CenterLine* cosEdge); + void _setLineAttributes(TechDraw::CosmeticEdge* cosEdge, int style, float weight, App::Color color); + void _intersection(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints); + void _intersectionLL(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints); + void _intersectionCL(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints); + void _intersectionCC(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints); + float _getAngle(Base::Vector3d center, Base::Vector3d point); + std::vector _getVertexPoints(std::vector SubNames, TechDraw::DrawViewPart* objFeat); + bool _checkSel(Gui::Command* cmd, + std::vector& selection, + TechDraw::DrawViewPart*& objFeat, + std::string message); -//=========================================================================== -// TechDraw_ExtensionHoleCircle -//=========================================================================== + //=========================================================================== + // TechDraw_ExtensionHoleCircle + //=========================================================================== -void execHoleCircle(Gui::Command* cmd){ - //create centerlines of a hole/bolt circle - std::vector selection; - TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Hole Circle")) - return; - const std::vector SubNames = selection[0].getSubNames(); - std::vector Circles; - for (std::string Name : SubNames){ - int GeoId = TechDraw::DrawUtil::getIndexFromName(Name); - std::string GeoType = TechDraw::DrawUtil::getGeomTypeFromName(Name); - TechDraw::BaseGeomPtr geom = objFeat->getGeomByIndex(GeoId); - if (GeoType == "Edge"){ - if (geom->geomType == TechDraw::CIRCLE || - geom->geomType == TechDraw::ARCOFCIRCLE){ - TechDraw::CirclePtr cgen = std::static_pointer_cast(geom); - Circles.push_back(cgen); + void execHoleCircle(Gui::Command* cmd) { + //create centerlines of a hole/bolt circle + std::vector selection; + TechDraw::DrawViewPart* objFeat; + if (!_checkSel(cmd, selection, objFeat, "TechDraw Hole Circle")) + return; + const std::vector SubNames = selection[0].getSubNames(); + std::vector Circles; + for (std::string Name : SubNames) { + int GeoId = TechDraw::DrawUtil::getIndexFromName(Name); + std::string GeoType = TechDraw::DrawUtil::getGeomTypeFromName(Name); + TechDraw::BaseGeomPtr geom = objFeat->getGeomByIndex(GeoId); + if (GeoType == "Edge") { + if (geom->geomType == TechDraw::CIRCLE || + geom->geomType == TechDraw::ARCOFCIRCLE) { + TechDraw::CirclePtr cgen = std::static_pointer_cast(geom); + Circles.push_back(cgen); + } } } + if (Circles.size() <= 2) { + QMessageBox::warning(Gui::getMainWindow(), + QObject::tr("TechDraw Hole Circle"), + QObject::tr("Less then three circles selected")); + return; + } + Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Draw bolt circle centerlines")); + double scale = objFeat->getScale(); + Base::Vector3d bigCenter = _circleCenter(Circles[0]->center, + Circles[1]->center, + Circles[2]->center); + float bigRadius = (Circles[0]->center - bigCenter).Length(); + TechDraw::BaseGeomPtr bigCircle = std::make_shared(bigCenter / scale, bigRadius / scale); + std::string bigCircleTag = objFeat->addCosmeticEdge(bigCircle); + TechDraw::CosmeticEdge* ceCircle = objFeat->getCosmeticEdge(bigCircleTag); + _setLineAttributes(ceCircle); + for (TechDraw::CirclePtr oneCircle : Circles) { + Base::Vector3d oneCircleCenter = oneCircle->center; + float oneRadius = oneCircle->radius; + Base::Vector3d delta = (oneCircle->center - bigCenter).Normalize() * (oneRadius + 2); + Base::Vector3d startPt = oneCircleCenter + delta; + Base::Vector3d endPt = oneCircleCenter - delta; + startPt.y = -startPt.y; + endPt.y = -endPt.y; + std::string oneLineTag = objFeat->addCosmeticEdge(startPt / scale, endPt / scale); + TechDraw::CosmeticEdge* ceLine = objFeat->getCosmeticEdge(oneLineTag); + _setLineAttributes(ceLine); + } + cmd->getSelection().clearSelection(); + objFeat->refreshCEGeoms(); + objFeat->requestPaint(); + Gui::Command::commitCommand(); } - if (Circles.size() <= 2) { - QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw Hole Circle"), - QObject::tr("Less then three circles selected")); - return; - } - Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Draw bolt circle centerlines")); - double scale = objFeat->getScale(); - Base::Vector3d bigCenter = _circleCenter(Circles[0]->center, - Circles[1]->center, - Circles[2]->center); - float bigRadius = (Circles[0]->center-bigCenter).Length(); - TechDraw::BaseGeomPtr bigCircle = std::make_shared (bigCenter/scale,bigRadius/scale); - std::string bigCircleTag = objFeat->addCosmeticEdge(bigCircle); - TechDraw::CosmeticEdge* ceCircle = objFeat->getCosmeticEdge(bigCircleTag); - _setLineAttributes(ceCircle); - for (TechDraw::CirclePtr oneCircle : Circles){ - Base::Vector3d oneCircleCenter = oneCircle->center; - float oneRadius = oneCircle->radius; - Base::Vector3d delta = (oneCircle->center-bigCenter).Normalize()*(oneRadius+2); - Base::Vector3d startPt = oneCircleCenter+delta; - Base::Vector3d endPt = oneCircleCenter-delta; - startPt.y = -startPt.y; - endPt.y = -endPt.y; - std::string oneLineTag = objFeat->addCosmeticEdge(startPt/scale,endPt/scale); - TechDraw::CosmeticEdge* ceLine = objFeat->getCosmeticEdge(oneLineTag); - _setLineAttributes(ceLine); - } - cmd->getSelection().clearSelection(); - objFeat->refreshCEGeoms(); - objFeat->requestPaint(); - Gui::Command::commitCommand(); -} } DEF_STD_CMD_A(CmdTechDrawExtensionHoleCircle) CmdTechDrawExtensionHoleCircle::CmdTechDrawExtensionHoleCircle() - : Command("TechDraw_ExtensionHoleCircle") + : Command("TechDraw_ExtensionHoleCircle") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -196,11 +196,11 @@ bool CmdTechDrawExtensionHoleCircle::isActive(void) // TechDraw_ExtensionCircleCenterLines //=========================================================================== -void execCircleCenterLines(Gui::Command* cmd){ +void execCircleCenterLines(Gui::Command* cmd) { // create centerline cross at circles std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Circle Centerlines")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Circle Centerlines")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Draw Circle Centerlines")); double scale = objFeat->getScale(); @@ -209,19 +209,19 @@ void execCircleCenterLines(Gui::Command* cmd){ int GeoId = TechDraw::DrawUtil::getIndexFromName(Name); TechDraw::BaseGeomPtr geom = objFeat->getGeomByIndex(GeoId); std::string GeoType = TechDraw::DrawUtil::getGeomTypeFromName(Name); - if (GeoType == "Edge"){ + if (GeoType == "Edge") { if (geom->geomType == TechDraw::CIRCLE || - geom->geomType == TechDraw::ARCOFCIRCLE){ + geom->geomType == TechDraw::ARCOFCIRCLE) { TechDraw::CirclePtr cgen = std::static_pointer_cast(geom); Base::Vector3d center = cgen->center; center.y = -center.y; float radius = cgen->radius; - Base::Vector3d right(center.x+radius+2.0,center.y,0.0); - Base::Vector3d top(center.x,center.y+radius+2.0,0.0); - Base::Vector3d left(center.x-radius-2.0,center.y,0.0); - Base::Vector3d bottom(center.x,center.y-radius-2.0,0.0); - std::string line1tag = objFeat->addCosmeticEdge(right/scale, left/scale); - std::string line2tag = objFeat->addCosmeticEdge(top/scale, bottom/scale); + Base::Vector3d right(center.x + radius + 2.0, center.y, 0.0); + Base::Vector3d top(center.x, center.y + radius + 2.0, 0.0); + Base::Vector3d left(center.x - radius - 2.0, center.y, 0.0); + Base::Vector3d bottom(center.x, center.y - radius - 2.0, 0.0); + std::string line1tag = objFeat->addCosmeticEdge(right / scale, left / scale); + std::string line2tag = objFeat->addCosmeticEdge(top / scale, bottom / scale); TechDraw::CosmeticEdge* horiz = objFeat->getCosmeticEdge(line1tag); _setLineAttributes(horiz); TechDraw::CosmeticEdge* vert = objFeat->getCosmeticEdge(line2tag); @@ -238,7 +238,7 @@ void execCircleCenterLines(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionCircleCenterLines) CmdTechDrawExtensionCircleCenterLines::CmdTechDrawExtensionCircleCenterLines() - : Command("TechDraw_ExtensionCircleCenterLines") + : Command("TechDraw_ExtensionCircleCenterLines") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -272,7 +272,7 @@ bool CmdTechDrawExtensionCircleCenterLines::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionCircleCenterLinesGroup) CmdTechDrawExtensionCircleCenterLinesGroup::CmdTechDrawExtensionCircleCenterLinesGroup() - : Command("TechDraw_ExtensionCircleCenterLinesGroup") + : Command("TechDraw_ExtensionCircleCenterLinesGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -286,8 +286,8 @@ CmdTechDrawExtensionCircleCenterLinesGroup::CmdTechDrawExtensionCircleCenterLine } -void CmdTechDrawExtensionCircleCenterLinesGroup::activated(int iMsg){ - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); +void CmdTechDrawExtensionCircleCenterLinesGroup::activated(int iMsg) { + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -296,19 +296,19 @@ void CmdTechDrawExtensionCircleCenterLinesGroup::activated(int iMsg){ Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //circle center lines - execCircleCenterLines(this); - break; - case 1: //bolt circle center lines - execHoleCircle(this); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //circle center lines + execCircleCenterLines(this); + break; + case 1: //bolt circle center lines + execHoleCircle(this); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionCircleCenterLinesGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionCircleCenterLinesGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -343,17 +343,17 @@ void CmdTechDrawExtensionCircleCenterLinesGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Add Centerlines to Circles")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Add Centerlines to Circles")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Draw circle center line cross at circles\n\ + "Draw circle center line cross at circles\n\ - pick favoured line attributes\n\ - select many circles or arcs\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Add Centerlines to Boltcircle")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Add Centerlines to Boltcircle")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Draw the centerlines of a bolt circle\n\ + "Draw the centerlines of a bolt circle\n\ - pick favoured line attributes\n\ - select at least three circles of a bolt circle\n\ - click this buttone")); @@ -371,11 +371,11 @@ bool CmdTechDrawExtensionCircleCenterLinesGroup::isActive(void) // TechDraw_ExtensionThreadHoleSide //=========================================================================== -void execThreadHoleSide(Gui::Command* cmd){ +void execThreadHoleSide(Gui::Command* cmd) { // create symbolic thread in a hole seen from side std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Thread Hole Side")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Thread Hole Side")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Thread Hole Side")); const std::vector SubNames = selection[0].getSubNames(); @@ -391,7 +391,7 @@ void execThreadHoleSide(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionThreadHoleSide) CmdTechDrawExtensionThreadHoleSide::CmdTechDrawExtensionThreadHoleSide() - : Command("TechDraw_ExtensionThreadHoleSide") + : Command("TechDraw_ExtensionThreadHoleSide") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -422,11 +422,11 @@ bool CmdTechDrawExtensionThreadHoleSide::isActive(void) // TechDraw_ExtensionThreadBoltSide //=========================================================================== -void execThreadBoltSide(Gui::Command* cmd){ +void execThreadBoltSide(Gui::Command* cmd) { // create symbolic thread at a bolt seen from side std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Thread Bolt Side")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Thread Bolt Side")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Thread Bolt Side")); const std::vector SubNames = selection[0].getSubNames(); @@ -442,7 +442,7 @@ void execThreadBoltSide(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionThreadBoltSide) CmdTechDrawExtensionThreadBoltSide::CmdTechDrawExtensionThreadBoltSide() - : Command("TechDraw_ExtensionThreadBoltSide") + : Command("TechDraw_ExtensionThreadBoltSide") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -473,11 +473,11 @@ bool CmdTechDrawExtensionThreadBoltSide::isActive(void) // TechDraw_ExtensionThreadHoleBottom //=========================================================================== -void execThreadHoleBottom(Gui::Command* cmd){ +void execThreadHoleBottom(Gui::Command* cmd) { // create symbolic thread in a hole seen from bottom std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Thread Hole Bottom")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Thread Hole Bottom")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Thread Hole Bottom")); const std::vector SubNames = selection[0].getSubNames(); @@ -487,13 +487,13 @@ void execThreadHoleBottom(Gui::Command* cmd){ cmd->getSelection().clearSelection(); objFeat->refreshCEGeoms(); objFeat->requestPaint(); - Gui::Command::commitCommand(); + Gui::Command::commitCommand(); } DEF_STD_CMD_A(CmdTechDrawExtensionThreadHoleBottom) CmdTechDrawExtensionThreadHoleBottom::CmdTechDrawExtensionThreadHoleBottom() - : Command("TechDraw_ExtensionThreadHoleBottom") + : Command("TechDraw_ExtensionThreadHoleBottom") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -524,11 +524,11 @@ bool CmdTechDrawExtensionThreadHoleBottom::isActive(void) // TechDraw_ExtensionThreadBoltBottom //=========================================================================== -void execThreadBoltBottom(Gui::Command* cmd){ +void execThreadBoltBottom(Gui::Command* cmd) { // create symbolic thread at a bolt seen from bottom std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Thread Bolt Bottom")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Thread Bolt Bottom")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Thread Bolt Bottom")); const std::vector SubNames = selection[0].getSubNames(); @@ -538,13 +538,13 @@ void execThreadBoltBottom(Gui::Command* cmd){ cmd->getSelection().clearSelection(); objFeat->refreshCEGeoms(); objFeat->requestPaint(); - Gui::Command::commitCommand(); + Gui::Command::commitCommand(); } DEF_STD_CMD_A(CmdTechDrawExtensionThreadBoltBottom) CmdTechDrawExtensionThreadBoltBottom::CmdTechDrawExtensionThreadBoltBottom() - : Command("TechDraw_ExtensionThreadBoltBottom") + : Command("TechDraw_ExtensionThreadBoltBottom") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -578,7 +578,7 @@ bool CmdTechDrawExtensionThreadBoltBottom::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionThreadsGroup) CmdTechDrawExtensionThreadsGroup::CmdTechDrawExtensionThreadsGroup() - : Command("TechDraw_ExtensionThreadsGroup") + : Command("TechDraw_ExtensionThreadsGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -593,8 +593,8 @@ CmdTechDrawExtensionThreadsGroup::CmdTechDrawExtensionThreadsGroup() void CmdTechDrawExtensionThreadsGroup::activated(int iMsg) { -// Base::Console().Message("CMD::TechDrawExtensionThreadsGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::TechDrawExtensionThreadsGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -603,25 +603,25 @@ void CmdTechDrawExtensionThreadsGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //thread hole side view - execThreadHoleSide(this); - break; - case 1: //thread hole bottom view - execThreadHoleBottom(this); - break; - case 2: //thread bolt side view - execThreadBoltSide(this); - break; - case 3: //thread bolt bottom view - execThreadBoltBottom(this); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //thread hole side view + execThreadHoleSide(this); + break; + case 1: //thread hole bottom view + execThreadHoleBottom(this); + break; + case 2: //thread bolt side view + execThreadBoltSide(this); + break; + case 3: //thread bolt bottom view + execThreadBoltBottom(this); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionThreadsGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionThreadsGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -664,33 +664,33 @@ void CmdTechDrawExtensionThreadsGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Create Thread Hole Side View")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Create Thread Hole Side View")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Draw cosmetic thread hole side view\n\ + "Draw cosmetic thread hole side view\n\ - pick favoured line attributes\n\ - select two parallel lines\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Create Thread Hole Bottom View")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Create Thread Hole Bottom View")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Draw cosmetic hole threads ground view\n\ + "Draw cosmetic hole threads ground view\n\ - pick favoured line attributes\n\ - select many circles\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); QAction* arc3 = a[2]; - arc3->setText(QApplication::translate("TechDraw_Extension","Create Thread Bolt Side View")); + arc3->setText(QApplication::translate("TechDraw_Extension", "Create Thread Bolt Side View")); arc3->setToolTip(QApplication::translate("TechDraw_Extension", - "Thread Screw/pin/shaft side view/section\n\ + "Thread Screw/pin/shaft side view/section\n\ - pick favoured line attributes\n\ - select two parallel lines\n\ - click this button")); arc3->setStatusTip(arc3->toolTip()); QAction* arc4 = a[3]; - arc4->setText(QApplication::translate("TechDraw_Extension","Create Thread Bolt Bottom View")); + arc4->setText(QApplication::translate("TechDraw_Extension", "Create Thread Bolt Bottom View")); arc4->setToolTip(QApplication::translate("TechDraw_Extension", - "Draw the technical symbol of the thread in the screw/pin/shaft plant\n\ + "Draw the technical symbol of the thread in the screw/pin/shaft plant\n\ - pick favoured line attributes\n\ - select many circles\n\ - click this button")); @@ -711,7 +711,7 @@ bool CmdTechDrawExtensionThreadsGroup::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionSelectLineAttributes) CmdTechDrawExtensionSelectLineAttributes::CmdTechDrawExtensionSelectLineAttributes() - : Command("TechDraw_ExtensionSelectLineAttributes") + : Command("TechDraw_ExtensionSelectLineAttributes") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -744,7 +744,7 @@ bool CmdTechDrawExtensionSelectLineAttributes::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionChangeLineAttributes) CmdTechDrawExtensionChangeLineAttributes::CmdTechDrawExtensionChangeLineAttributes() - : Command("TechDraw_ExtensionChangeLineAttributes") + : Command("TechDraw_ExtensionChangeLineAttributes") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -758,24 +758,25 @@ CmdTechDrawExtensionChangeLineAttributes::CmdTechDrawExtensionChangeLineAttribut sPixmap = "TechDraw_ExtensionChangeLineAttributes"; } -void CmdTechDrawExtensionChangeLineAttributes::activated(int iMsg){ +void CmdTechDrawExtensionChangeLineAttributes::activated(int iMsg) { // change attributes (type, width, color) of a cosmetic or centerline Q_UNUSED(iMsg); std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(this,selection,objFeat,"TechDraw Change Line Attributes")) + if (!_checkSel(this, selection, objFeat, "TechDraw Change Line Attributes")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Change Line Attributes")); const std::vector subNames = selection[0].getSubNames(); - for (std::string name : subNames){ + for (std::string name : subNames) { int num = DrawUtil::getIndexFromName(name); BaseGeomPtr baseGeo = objFeat->getGeomByIndex(num); - if (baseGeo != nullptr){ - if (baseGeo->cosmetic){ - if (baseGeo->source() == 1){ + if (baseGeo != nullptr) { + if (baseGeo->cosmetic) { + if (baseGeo->source() == 1) { TechDraw::CosmeticEdge* cosEdgeTag = objFeat->getCosmeticEdgeBySelection(name); _setLineAttributes(cosEdgeTag); - } else if (baseGeo->source() == 2){ + } + else if (baseGeo->source() == 2) { TechDraw::CenterLine* centerLineTag = objFeat->getCenterLineBySelection(name); _setLineAttributes(centerLineTag); } @@ -785,7 +786,7 @@ void CmdTechDrawExtensionChangeLineAttributes::activated(int iMsg){ getSelection().clearSelection(); objFeat->refreshCEGeoms(); objFeat->requestPaint(); - Gui::Command::commitCommand(); + Gui::Command::commitCommand(); } bool CmdTechDrawExtensionChangeLineAttributes::isActive(void) @@ -802,7 +803,7 @@ bool CmdTechDrawExtensionChangeLineAttributes::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionVertexAtIntersection) CmdTechDrawExtensionVertexAtIntersection::CmdTechDrawExtensionVertexAtIntersection() - : Command("TechDraw_ExtensionVertexAtIntersection") + : Command("TechDraw_ExtensionVertexAtIntersection") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -821,26 +822,26 @@ void CmdTechDrawExtensionVertexAtIntersection::activated(int iMsg) //Base::Console().Message("VertexAtIntersection started\n"); std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(this,selection,objFeat,"TechDraw Create Vertex at Intersection")) + if (!_checkSel(this, selection, objFeat, "TechDraw Create Vertex at Intersection")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Vertex at Intersection")); const std::vector SubNames = selection[0].getSubNames(); std::vector interPoints; - if (SubNames.size() >=2){ + if (SubNames.size() >= 2) { std::string GeoType1 = TechDraw::DrawUtil::getGeomTypeFromName(SubNames[0]); std::string GeoType2 = TechDraw::DrawUtil::getGeomTypeFromName(SubNames[1]); - if (GeoType1 == "Edge" && GeoType2 == "Edge"){ + if (GeoType1 == "Edge" && GeoType2 == "Edge") { int GeoId1 = TechDraw::DrawUtil::getIndexFromName(SubNames[0]); TechDraw::BaseGeomPtr geom1 = objFeat->getGeomByIndex(GeoId1); int GeoId2 = TechDraw::DrawUtil::getIndexFromName(SubNames[1]); TechDraw::BaseGeomPtr geom2 = objFeat->getGeomByIndex(GeoId2); _intersection(geom1, geom2, interPoints); - if (!interPoints.empty()){ + if (!interPoints.empty()) { double scale = objFeat->getScale(); - std::string id1 = objFeat->addCosmeticVertex(interPoints[0]/scale); + std::string id1 = objFeat->addCosmeticVertex(interPoints[0] / scale); objFeat->add1CVToGV(id1); - if (interPoints.size() >= 2){ - std::string id2 = objFeat->addCosmeticVertex(interPoints[1]/scale); + if (interPoints.size() >= 2) { + std::string id2 = objFeat->addCosmeticVertex(interPoints[1] / scale); objFeat->add1CVToGV(id2); } } @@ -863,22 +864,22 @@ bool CmdTechDrawExtensionVertexAtIntersection::isActive(void) // TechDraw_ExtensionDrawArc //=========================================================================== -void execDrawCosmArc(Gui::Command* cmd){ +void execDrawCosmArc(Gui::Command* cmd) { //draw a cosmetic arc of circle std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Draw Cosmetic Arc of Circle")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Draw Cosmetic Arc of Circle")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Draw Cosmetic Arc")); const std::vector SubNames = selection[0].getSubNames(); std::vector vertexPoints; - vertexPoints = _getVertexPoints(SubNames,objFeat); - if (vertexPoints.size() >= 3){ + vertexPoints = _getVertexPoints(SubNames, objFeat); + if (vertexPoints.size() >= 3) { double scale = objFeat->getScale(); - float arcRadius = (vertexPoints[1]-vertexPoints[0]).Length(); - float angle1 = _getAngle(vertexPoints[0],vertexPoints[1]); - float angle2 = _getAngle(vertexPoints[0],vertexPoints[2]); - TechDraw::BaseGeomPtr baseGeo = std::make_shared(vertexPoints[0]/scale, arcRadius/scale, -angle2, -angle1); + float arcRadius = (vertexPoints[1] - vertexPoints[0]).Length(); + float angle1 = _getAngle(vertexPoints[0], vertexPoints[1]); + float angle2 = _getAngle(vertexPoints[0], vertexPoints[2]); + TechDraw::BaseGeomPtr baseGeo = std::make_shared(vertexPoints[0] / scale, arcRadius / scale, -angle2, -angle1); std::string arcTag = objFeat->addCosmeticEdge(baseGeo); TechDraw::CosmeticEdge* arcEdge = objFeat->getCosmeticEdge(arcTag); _setLineAttributes(arcEdge); @@ -892,7 +893,7 @@ void execDrawCosmArc(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionArc) CmdTechDrawExtensionArc::CmdTechDrawExtensionArc() - : Command("TechDraw_ExtensionArc") + : Command("TechDraw_ExtensionArc") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -925,20 +926,20 @@ bool CmdTechDrawExtensionArc::isActive(void) // TechDraw_ExtensionDrawCosmCircle //=========================================================================== -void execDrawCosmCircle(Gui::Command* cmd){ +void execDrawCosmCircle(Gui::Command* cmd) { //draw a cosmetic circle std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Draw Cosmetic Circle")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Draw Cosmetic Circle")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Draw Cosmetic Circle")); const std::vector SubNames = selection[0].getSubNames(); std::vector vertexPoints; - vertexPoints = _getVertexPoints(SubNames,objFeat); - if (vertexPoints.size() >= 2){ + vertexPoints = _getVertexPoints(SubNames, objFeat); + if (vertexPoints.size() >= 2) { double scale = objFeat->getScale(); - float circleRadius = (vertexPoints[1]-vertexPoints[0]).Length(); - TechDraw::BaseGeomPtr baseGeo = std::make_shared(vertexPoints[0]/scale, circleRadius/scale); + float circleRadius = (vertexPoints[1] - vertexPoints[0]).Length(); + TechDraw::BaseGeomPtr baseGeo = std::make_shared(vertexPoints[0] / scale, circleRadius / scale); std::string cicleTag = objFeat->addCosmeticEdge(baseGeo); TechDraw::CosmeticEdge* circleEdge = objFeat->getCosmeticEdge(cicleTag); _setLineAttributes(circleEdge); @@ -952,7 +953,7 @@ void execDrawCosmCircle(Gui::Command* cmd){ DEF_STD_CMD_A(CmdTechDrawExtensionDrawCosmCircle) CmdTechDrawExtensionDrawCosmCircle::CmdTechDrawExtensionDrawCosmCircle() - : Command("TechDraw_ExtensionDrawCosmCircle") + : Command("TechDraw_ExtensionDrawCosmCircle") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -987,7 +988,7 @@ bool CmdTechDrawExtensionDrawCosmCircle::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionDrawCirclesGroup) CmdTechDrawExtensionDrawCirclesGroup::CmdTechDrawExtensionDrawCirclesGroup() - : Command("TechDraw_ExtensionDrawCirclesGroup") + : Command("TechDraw_ExtensionDrawCirclesGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1002,8 +1003,8 @@ CmdTechDrawExtensionDrawCirclesGroup::CmdTechDrawExtensionDrawCirclesGroup() void CmdTechDrawExtensionDrawCirclesGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionDrawCirclesGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionDrawCirclesGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -1012,19 +1013,19 @@ void CmdTechDrawExtensionDrawCirclesGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //draw cosmetic circle - execDrawCosmCircle(this); - break; - case 1: //draw cosmetic arc - execDrawCosmArc(this); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //draw cosmetic circle + execDrawCosmCircle(this); + break; + case 1: //draw cosmetic arc + execDrawCosmArc(this); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionDrawCirclesGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionDrawCirclesGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -1059,17 +1060,17 @@ void CmdTechDrawExtensionDrawCirclesGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Draw Cosmetic Circle")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Draw Cosmetic Circle")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Draw a cosmetic circumference using two vertices\n\ + "Draw a cosmetic circumference using two vertices\n\ - choose the line attributes\n\ - select the first vertex (center) -> in sequence the second (radius)\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Draw Cosmetic Arc")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Draw Cosmetic Arc")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Draw an arc rotating math. positive\n\ + "Draw an arc rotating math. positive\n\ - select three vertexes:\n\ - center, start, end\n\ - start defines the radius\n\ @@ -1088,18 +1089,18 @@ bool CmdTechDrawExtensionDrawCirclesGroup::isActive(void) // TechDraw_ExtensionLineParallel //=========================================================================== -void execLineParallelPerpendicular(Gui::Command* cmd, bool isParallel){ +void execLineParallelPerpendicular(Gui::Command* cmd, bool isParallel) { // create a line parallel or perpendicular to another line std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Create Line Parallel/Perpendicular")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Create Line Parallel/Perpendicular")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Line Parallel/Perpendicular")); const std::vector SubNames = selection[0].getSubNames(); - if (SubNames.size() >= 2){ + if (SubNames.size() >= 2) { std::string GeoType1 = TechDraw::DrawUtil::getGeomTypeFromName(SubNames[0]); std::string GeoType2 = TechDraw::DrawUtil::getGeomTypeFromName(SubNames[1]); - if (GeoType1 == "Edge" && GeoType2 == "Vertex"){ + if (GeoType1 == "Edge" && GeoType2 == "Vertex") { double scale = objFeat->getScale(); int GeoId1 = TechDraw::DrawUtil::getIndexFromName(SubNames[0]); TechDraw::BaseGeomPtr geom1 = objFeat->getGeomByIndex(GeoId1); @@ -1108,18 +1109,18 @@ void execLineParallelPerpendicular(Gui::Command* cmd, bool isParallel){ Base::Vector3d lineStart = lineGen->points.at(0); Base::Vector3d lineEnd = lineGen->points.at(1); TechDraw::VertexPtr vert = objFeat->getProjVertexByIndex(GeoId2); - Base::Vector3d vertexPoint(vert->point().x,vert->point().y,0.0); - Base::Vector3d halfVector = (lineEnd-lineStart)/2.0; - if (!isParallel){ + Base::Vector3d vertexPoint(vert->point().x, vert->point().y, 0.0); + Base::Vector3d halfVector = (lineEnd - lineStart) / 2.0; + if (!isParallel) { float dummy = halfVector.x; halfVector.x = -halfVector.y; halfVector.y = dummy; } - Base::Vector3d startPoint = vertexPoint+halfVector; - Base::Vector3d endPoint = vertexPoint-halfVector; + Base::Vector3d startPoint = vertexPoint + halfVector; + Base::Vector3d endPoint = vertexPoint - halfVector; startPoint.y = -startPoint.y; endPoint.y = -endPoint.y; - std::string lineTag = objFeat->addCosmeticEdge(startPoint/scale, endPoint/scale); + std::string lineTag = objFeat->addCosmeticEdge(startPoint / scale, endPoint / scale); TechDraw::CosmeticEdge* lineEdge = objFeat->getCosmeticEdge(lineTag); _setLineAttributes(lineEdge); objFeat->refreshCEGeoms(); @@ -1133,7 +1134,7 @@ void execLineParallelPerpendicular(Gui::Command* cmd, bool isParallel){ DEF_STD_CMD_A(CmdTechDrawExtensionLineParallel) CmdTechDrawExtensionLineParallel::CmdTechDrawExtensionLineParallel() - : Command("TechDraw_ExtensionLineParallel") + : Command("TechDraw_ExtensionLineParallel") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1151,7 +1152,7 @@ CmdTechDrawExtensionLineParallel::CmdTechDrawExtensionLineParallel() void CmdTechDrawExtensionLineParallel::activated(int iMsg) { Q_UNUSED(iMsg); - execLineParallelPerpendicular(this,true); + execLineParallelPerpendicular(this, true); } bool CmdTechDrawExtensionLineParallel::isActive(void) @@ -1168,7 +1169,7 @@ bool CmdTechDrawExtensionLineParallel::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionLinePerpendicular) CmdTechDrawExtensionLinePerpendicular::CmdTechDrawExtensionLinePerpendicular() - : Command("TechDraw_ExtensionLinePerpendicular") + : Command("TechDraw_ExtensionLinePerpendicular") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1186,7 +1187,7 @@ CmdTechDrawExtensionLinePerpendicular::CmdTechDrawExtensionLinePerpendicular() void CmdTechDrawExtensionLinePerpendicular::activated(int iMsg) { Q_UNUSED(iMsg); - execLineParallelPerpendicular(this,false); + execLineParallelPerpendicular(this, false); } bool CmdTechDrawExtensionLinePerpendicular::isActive(void) @@ -1203,7 +1204,7 @@ bool CmdTechDrawExtensionLinePerpendicular::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtensionLinePPGroup) CmdTechDrawExtensionLinePPGroup::CmdTechDrawExtensionLinePPGroup() - : Command("TechDraw_ExtensionLinePPGroup") + : Command("TechDraw_ExtensionLinePPGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1219,8 +1220,8 @@ CmdTechDrawExtensionLinePPGroup::CmdTechDrawExtensionLinePPGroup() void CmdTechDrawExtensionLinePPGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtensionLinePPGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtensionLinePPGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -1229,19 +1230,19 @@ void CmdTechDrawExtensionLinePPGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //create parallel line - execLineParallelPerpendicular(this,true); - break; - case 1: //create perpendicular line - execLineParallelPerpendicular(this,false); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //create parallel line + execLineParallelPerpendicular(this, true); + break; + case 1: //create perpendicular line + execLineParallelPerpendicular(this, false); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtensionLinePPGroup::createAction(void) +Gui::Action* CmdTechDrawExtensionLinePPGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -1276,18 +1277,18 @@ void CmdTechDrawExtensionLinePPGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Create parallel Line")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Create parallel Line")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Create a line parallel to another line through a vertex\n\ + "Create a line parallel to another line through a vertex\n\ - choose the line attributes\n\ - select one line\n\ - select one vertex\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Create perpendicular Line")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Create perpendicular Line")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Create a line perpendicular to another line through a vertex\n\ + "Create a line perpendicular to another line through a vertex\n\ - choose the line attributes\n\ - select one line\n\ - select one vertex\n\ @@ -1309,7 +1310,7 @@ bool CmdTechDrawExtensionLinePPGroup::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionLockUnlockView) CmdTechDrawExtensionLockUnlockView::CmdTechDrawExtensionLockUnlockView() - : Command("TechDraw_ExtensionLockUnlockView") + : Command("TechDraw_ExtensionLockUnlockView") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1322,16 +1323,16 @@ CmdTechDrawExtensionLockUnlockView::CmdTechDrawExtensionLockUnlockView() sPixmap = "TechDraw_ExtensionLockUnlockView"; } -void CmdTechDrawExtensionLockUnlockView::activated(int iMsg){ +void CmdTechDrawExtensionLockUnlockView::activated(int iMsg) { // lock/unlock a selected view Q_UNUSED(iMsg); std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(this,selection,objFeat,"TechDraw Lock/Unlock View")) + if (!_checkSel(this, selection, objFeat, "TechDraw Lock/Unlock View")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Lock/Unlock View")); - if (objFeat->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())){ - auto objFeat = dynamic_cast(selection[0].getObject()); + if (objFeat->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) { + auto objFeat = dynamic_cast(selection[0].getObject()); bool lockPosition = objFeat->LockPosition.getValue(); lockPosition = !lockPosition; objFeat->LockPosition.setValue(lockPosition); @@ -1353,7 +1354,7 @@ bool CmdTechDrawExtensionLockUnlockView::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionPositionSectionView) CmdTechDrawExtensionPositionSectionView::CmdTechDrawExtensionPositionSectionView() - : Command("TechDraw_ExtensionPositionSectionView") + : Command("TechDraw_ExtensionPositionSectionView") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1366,30 +1367,30 @@ CmdTechDrawExtensionPositionSectionView::CmdTechDrawExtensionPositionSectionView sPixmap = "TechDraw_ExtensionPositionSectionView"; } -void CmdTechDrawExtensionPositionSectionView::activated(int iMsg){ +void CmdTechDrawExtensionPositionSectionView::activated(int iMsg) { // position a section view Q_UNUSED(iMsg); //Base::Console().Message("PositionSectionView started\n"); auto selection = getSelection().getSelectionEx(); - if( selection.empty() ) { + if (selection.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw Lock/Unlock View"), - QObject::tr("Selection is empty")); + QObject::tr("TechDraw Lock/Unlock View"), + QObject::tr("Selection is empty")); return; } float xPos, yPos; TechDraw::DrawViewPart* baseView; auto objFeat = selection[0].getObject(); - if (objFeat->isDerivedFrom(TechDraw::DrawViewSection::getClassTypeId())){ + if (objFeat->isDerivedFrom(TechDraw::DrawViewSection::getClassTypeId())) { TechDraw::DrawViewSection* sectionView = dynamic_cast(objFeat); baseView = sectionView->getBaseDVP(); - if (baseView->isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())){ + if (baseView->isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) { std::vector parentViews = baseView->getInList(); - if (!parentViews.empty()){ + if (!parentViews.empty()) { TechDraw::DrawProjGroup* groupBase = dynamic_cast(parentViews[0]); xPos = groupBase->X.getValue(); yPos = groupBase->Y.getValue(); - } + } } else { xPos = baseView->X.getValue(); @@ -1414,62 +1415,63 @@ bool CmdTechDrawExtensionPositionSectionView::isActive(void) // TechDraw_ExtensionExtendLine //=========================================================================== -void execExtendShortenLine(Gui::Command* cmd, bool extend){ +void execExtendShortenLine(Gui::Command* cmd, bool extend) { // extend or shorten a cosmetic or a center line std::vector selection; TechDraw::DrawViewPart* objFeat; - if (!_checkSel(cmd,selection,objFeat,"TechDraw Extend/shorten a Line")) + if (!_checkSel(cmd, selection, objFeat, "TechDraw Extend/shorten a Line")) return; Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Extend/shorten a Line")); const std::vector subNames = selection[0].getSubNames(); - if (!subNames.empty()){ + if (!subNames.empty()) { std::string name = subNames[0]; int num = DrawUtil::getIndexFromName(name); std::string geoType = TechDraw::DrawUtil::getGeomTypeFromName(name); - if (geoType == "Edge"){ + if (geoType == "Edge") { TechDraw::BaseGeomPtr baseGeo = objFeat->getGeomByIndex(num); - if (baseGeo != nullptr){ - if (baseGeo->geomType == TechDraw::GENERIC){ + if (baseGeo != nullptr) { + if (baseGeo->geomType == TechDraw::GENERIC) { TechDraw::GenericPtr genLine = std::static_pointer_cast(baseGeo); Base::Vector3d P0 = genLine->points.at(0); Base::Vector3d P1 = genLine->points.at(1); - if (baseGeo->cosmetic){ + if (baseGeo->cosmetic) { std::string uniTag = baseGeo->getCosmeticTag(); int oldStyle = 1; float oldWeight = 1.0f; App::Color oldColor; std::vector toDelete; toDelete.push_back(uniTag); - if (baseGeo->source() == 1){ + if (baseGeo->source() == 1) { auto cosEdge = objFeat->getCosmeticEdge(uniTag); - oldStyle = cosEdge->m_format.m_style; + oldStyle = cosEdge->m_format.m_style; oldWeight = cosEdge->m_format.m_weight; oldColor = cosEdge->m_format.m_color; objFeat->removeCosmeticEdge(toDelete); - } - else if (baseGeo->source() == 2){ + } + else if (baseGeo->source() == 2) { auto centerEdge = objFeat->getCenterLine(uniTag); - oldStyle = centerEdge->m_format.m_style; + oldStyle = centerEdge->m_format.m_style; oldWeight = centerEdge->m_format.m_weight; oldColor = centerEdge->m_format.m_color; objFeat->removeCenterLine(toDelete); } double scale = objFeat->getScale(); - Base::Vector3d direction = (P1-P0).Normalize(); - Base::Vector3d delta = direction*2.0; + Base::Vector3d direction = (P1 - P0).Normalize(); + Base::Vector3d delta = direction * 2.0; Base::Vector3d startPt, endPt; - if (extend){ - startPt = P0-delta; - endPt = P1+delta; - } else { - startPt = P0+delta; - endPt = P1-delta; + if (extend) { + startPt = P0 - delta; + endPt = P1 + delta; + } + else { + startPt = P0 + delta; + endPt = P1 - delta; } startPt.y = -startPt.y; endPt.y = -endPt.y; - std::string lineTag = objFeat->addCosmeticEdge(startPt/scale,endPt/scale); + std::string lineTag = objFeat->addCosmeticEdge(startPt / scale, endPt / scale); TechDraw::CosmeticEdge* lineEdge = objFeat->getCosmeticEdge(lineTag); - _setLineAttributes(lineEdge,oldStyle,oldWeight,oldColor); + _setLineAttributes(lineEdge, oldStyle, oldWeight, oldColor); cmd->getSelection().clearSelection(); objFeat->refreshCEGeoms(); objFeat->refreshCLGeoms(); @@ -1485,7 +1487,7 @@ void execExtendShortenLine(Gui::Command* cmd, bool extend){ DEF_STD_CMD_A(CmdTechDrawExtensionExtendLine) CmdTechDrawExtensionExtendLine::CmdTechDrawExtensionExtendLine() - : Command("TechDraw_ExtensionExtendLine") + : Command("TechDraw_ExtensionExtendLine") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1501,7 +1503,7 @@ CmdTechDrawExtensionExtendLine::CmdTechDrawExtensionExtendLine() void CmdTechDrawExtensionExtendLine::activated(int iMsg) { Q_UNUSED(iMsg); - execExtendShortenLine(this,true); + execExtendShortenLine(this, true); ///Base::Console().Message("ExtendLine started\n"); } @@ -1519,7 +1521,7 @@ bool CmdTechDrawExtensionExtendLine::isActive(void) DEF_STD_CMD_A(CmdTechDrawExtensionShortenLine) CmdTechDrawExtensionShortenLine::CmdTechDrawExtensionShortenLine() - : Command("TechDraw_ExtensionShortenLine") + : Command("TechDraw_ExtensionShortenLine") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1535,7 +1537,7 @@ CmdTechDrawExtensionShortenLine::CmdTechDrawExtensionShortenLine() void CmdTechDrawExtensionShortenLine::activated(int iMsg) { Q_UNUSED(iMsg); - execExtendShortenLine(this,false); + execExtendShortenLine(this, false); ///Base::Console().Message("ShortenLine started\n"); } @@ -1553,7 +1555,7 @@ bool CmdTechDrawExtensionShortenLine::isActive(void) DEF_STD_CMD_ACL(CmdTechDrawExtendShortenLineGroup) CmdTechDrawExtendShortenLineGroup::CmdTechDrawExtendShortenLineGroup() - : Command("TechDraw_ExtensionExtendShortenLineGroup") + : Command("TechDraw_ExtensionExtendShortenLineGroup") { sAppModule = "TechDraw"; sGroup = QT_TR_NOOP("TechDraw"); @@ -1567,8 +1569,8 @@ CmdTechDrawExtendShortenLineGroup::CmdTechDrawExtendShortenLineGroup() void CmdTechDrawExtendShortenLineGroup::activated(int iMsg) { -// Base::Console().Message("CMD::ExtendShortenLineGroup - activated(%d)\n", iMsg); - Gui::TaskView::TaskDialog *dlg = Gui::Control().activeDialog(); + // Base::Console().Message("CMD::ExtendShortenLineGroup - activated(%d)\n", iMsg); + Gui::TaskView::TaskDialog* dlg = Gui::Control().activeDialog(); if (dlg != nullptr) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Task In Progress"), QObject::tr("Close active task dialog and try again.")); @@ -1577,19 +1579,19 @@ void CmdTechDrawExtendShortenLineGroup::activated(int iMsg) Gui::ActionGroup* pcAction = qobject_cast(_pcAction); pcAction->setIcon(pcAction->actions().at(iMsg)->icon()); - switch(iMsg) { - case 0: //extend a line - execExtendShortenLine(this,true); - break; - case 1: //shorten line - execExtendShortenLine(this,false); - break; - default: - Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n",iMsg); + switch (iMsg) { + case 0: //extend a line + execExtendShortenLine(this, true); + break; + case 1: //shorten line + execExtendShortenLine(this, false); + break; + default: + Base::Console().Message("CMD::CVGrp - invalid iMsg: %d\n", iMsg); }; } -Gui::Action * CmdTechDrawExtendShortenLineGroup::createAction(void) +Gui::Action* CmdTechDrawExtendShortenLineGroup::createAction(void) { Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); pcAction->setDropDownMenu(true); @@ -1624,16 +1626,16 @@ void CmdTechDrawExtendShortenLineGroup::languageChange() QList a = pcAction->actions(); QAction* arc1 = a[0]; - arc1->setText(QApplication::translate("TechDraw_Extension","Extend a Line")); + arc1->setText(QApplication::translate("TechDraw_Extension", "Extend a Line")); arc1->setToolTip(QApplication::translate("TechDraw_Extension", - "Extend a line at both ends\n\ + "Extend a line at both ends\n\ - select one cosmetic or centerline\n\ - click this button")); arc1->setStatusTip(arc1->toolTip()); QAction* arc2 = a[1]; - arc2->setText(QApplication::translate("TechDraw_Extension","Shorten a Line")); + arc2->setText(QApplication::translate("TechDraw_Extension", "Shorten a Line")); arc2->setToolTip(QApplication::translate("TechDraw_Extension", - "Shorten a line at both ends\n\ + "Shorten a line at both ends\n\ - select one cosmetic or centerline\n\ - click this button")); arc2->setStatusTip(arc2->toolTip()); @@ -1651,297 +1653,298 @@ bool CmdTechDrawExtendShortenLineGroup::isActive(void) //=========================================================================== namespace TechDrawGui { -lineAttributes& _getActiveLineAttributes() -{ - static lineAttributes attributes; - return attributes; -} - -bool _checkSel(Gui::Command* cmd, - std::vector& selection, - TechDraw::DrawViewPart*& objFeat, - std::string message){ - // check selection of getSelectionEx() and selection[0].getObject() - bool OK = true; - selection = cmd->getSelection().getSelectionEx(); - if( selection.empty() ) { - QMessageBox::warning(Gui::getMainWindow(), - QObject::tr(message.c_str()), - QObject::tr("Selection is empty")); - OK = false; + lineAttributes& _getActiveLineAttributes() + { + static lineAttributes attributes; + return attributes; } - if (OK) { - objFeat = dynamic_cast(selection[0].getObject()); - if( objFeat == nullptr ) { + + bool _checkSel(Gui::Command* cmd, + std::vector& selection, + TechDraw::DrawViewPart*& objFeat, + std::string message) { + // check selection of getSelectionEx() and selection[0].getObject() + bool OK = true; + selection = cmd->getSelection().getSelectionEx(); + if (selection.empty()) { QMessageBox::warning(Gui::getMainWindow(), - QObject::tr(message.c_str()), - QObject::tr("No object selected")); + QObject::tr(message.c_str()), + QObject::tr("Selection is empty")); OK = false; } - } - return OK; -} - -std::vector _getVertexPoints(std::vector SubNames,TechDraw::DrawViewPart* objFeat){ - // get vertex points as Vector3d - std::vector vertexPoints; - for (std::string Name : SubNames){ - std::string GeoType = TechDraw::DrawUtil::getGeomTypeFromName(Name); - if (GeoType == "Vertex"){ - int GeoId = TechDraw::DrawUtil::getIndexFromName(Name); - TechDraw::VertexPtr vert = objFeat->getProjVertexByIndex(GeoId); - Base::Vector3d onePoint(vert->point().x,vert->point().y,0); - vertexPoints.push_back(onePoint); - } - } - return vertexPoints; -} - -float _getAngle(Base::Vector3d center, Base::Vector3d point) { - // get angle between x-axis and the vector from center to point - const auto Pi180 = 180.0 / M_PI; - Base::Vector3d vecCP = point - center; - float dy = vecCP.y; - float sign = -1.0; - if (dy < 0.0) - sign = -sign; - float angle = acos(vecCP.Normalize().x) * Pi180 * sign; - if (angle < 0.0) - angle = 360 + angle; - return angle; -} - -void _intersection(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints){ - // find intersection vertex(es) between two edges - #define unknown 0 - #define isLine 1 - #define isCircle 2 - int edge1(unknown), edge2(unknown); - if (geom1->geomType == TechDraw::CIRCLE || - geom1->geomType == TechDraw::ARCOFCIRCLE) - edge1 = isCircle; - else if (geom1->geomType == TechDraw::GENERIC) - edge1 = isLine; - if (geom2->geomType == TechDraw::CIRCLE || - geom2->geomType == TechDraw::ARCOFCIRCLE) - edge2 = isCircle; - else if (geom2->geomType == TechDraw::GENERIC) - edge2 = isLine; - if (edge1 == isLine && edge2 == isLine) - _intersectionLL(geom1,geom2,interPoints); - else if (edge1 == isCircle && edge2 == isLine) - _intersectionCL(geom1,geom2,interPoints); - else if (edge1 == isLine && edge2 == isCircle) - _intersectionCL(geom2,geom1,interPoints); - else if (edge1 == isCircle && edge2 == isCircle) - _intersectionCC(geom2,geom1,interPoints); -} - -void _intersectionLL(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints){ - // find intersection vertex of two lines - // Taken from: - TechDraw::GenericPtr gen1 = std::static_pointer_cast(geom1); - TechDraw::GenericPtr gen2 = std::static_pointer_cast(geom2); - Base::Vector3d startPnt1 = gen1->points.at(0); - Base::Vector3d endPnt1 = gen1->points.at(1); - Base::Vector3d startPnt2 = gen2->points.at(0); - Base::Vector3d endPnt2 = gen2->points.at(1); - Base::Vector3d dir1 = endPnt1-startPnt1; - Base::Vector3d dir2 = endPnt2-startPnt2; - float a1 = -dir1.y; - float b1 = dir1.x; - float c1 = -startPnt1.x*dir1.y+startPnt1.y*dir1.x; - float a2 = -dir2.y; - float b2 = dir2.x; - float c2 = -startPnt2.x*dir2.y+startPnt2.y*dir2.x; - float denom = a1*b2-a2*b1; - if (abs(denom)>=0.01){ - float xIntersect = (c1*b2-c2*b1)/denom; - float yIntersect = (a1*c2-a2*c1)/denom; - yIntersect = -yIntersect; - Base::Vector3d interPoint(xIntersect,yIntersect,0.0); - interPoints.push_back(interPoint); - } -} - -void _intersectionCL(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints){ - // find intersection vertex(es) between one circle and one line - // Taken from: - TechDraw::CirclePtr gen1 = std::static_pointer_cast(geom1); - TechDraw::GenericPtr gen2 = std::static_pointer_cast(geom2); - Base::Vector3d cirleCenter = gen1->center; - Base::Vector3d startPnt = gen2->points.at(0); - Base::Vector3d endPnt = gen2->points.at(1); - Base::Vector3d dir = endPnt-startPnt; - float r0 = gen1->radius; - float x0 = cirleCenter.x; - float y0 = cirleCenter.y; - float a = -dir.y; - float b = dir.x; - float c = -startPnt.x*dir.y+startPnt.y*dir.x; - float d = c-a*x0-b*y0; - float ab = a*a+b*b; - float rootArg = r0*r0*ab-d*d; - if (rootArg > 0){ - if (rootArg < 0.01){ - float x1 = x0+a*d/ab; - float y1 = -y0+b*d/ab; - Base::Vector3d interPoint1(x1,y1,0.0); - interPoints.push_back(interPoint1); - } - else { - float root = sqrt(rootArg); - float x1 = x0+(a*d+b*root)/ab; - float y1 = -y0-(b*d-a*root)/ab; - float x2 = x0+(a*d-b*root)/ab; - float y2 = -y0-(b*d+a*root)/ab; - Base::Vector3d interPoint1(x1,y1,0.0); - interPoints.push_back(interPoint1); - Base::Vector3d interPoint2(x2,y2,0.0); - interPoints.push_back(interPoint2); - } - } -} - -void _intersectionCC(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints){ - // find intersection vertex(es) between two circles - // Taken from: - TechDraw::CirclePtr gen1 = std::static_pointer_cast(geom1); - TechDraw::CirclePtr gen2 = std::static_pointer_cast(geom2); - Base::Vector3d Center1 = gen1->center; - Base::Vector3d Center2 = gen2->center; - float r1 = gen1->radius; - float r2 = gen2->radius; - float d12 = (Center2-Center1).Length(); - Base::Vector3d m = (Center2-Center1).Normalize(); - Base::Vector3d n(-m.y,m.x,0.0); - float d0 = (r1*r1-r2*r2+d12*d12)/(2*d12); - float rootArg = r1*r1-d0*d0; - if (rootArg > 0){ - if (rootArg < 0.1){ - Base::Vector3d interPoint1 = -Center1+m*d0; - interPoint1.y = -interPoint1.y; - interPoints.push_back(interPoint1); - } - else { - float e0 = sqrt(rootArg); - Base::Vector3d interPoint1 = Center1+m*d0+n*e0; - interPoint1.y = -interPoint1.y; - interPoints.push_back(interPoint1); - Base::Vector3d interPoint2 = Center1+m*d0-n*e0; - interPoint2.y = -interPoint2.y; - interPoints.push_back(interPoint2); - } - } -} - -Base::Vector3d _circleCenter(Base::Vector3d p1, Base::Vector3d p2, Base::Vector3d p3) { - Base::Vector2d v1(p1.x, p1.y); - Base::Vector2d v2(p2.x, p2.y); - Base::Vector2d v3(p3.x, p3.y); - Base::Vector2d c = Part::Geom2dCircle::getCircleCenter(v1, v2, v3); - return Base::Vector3d(c.x, c.y, 0.0); -} - -bool _circulation(Base::Vector3d A, Base::Vector3d B, Base::Vector3d C){ - // test the circulation of the triangle A-B-C - if (A.x*B.y+A.y*C.x+B.x*C.y-C.x*B.y-C.y*A.x-B.x*A.y > 0.0) - return true; - else - return false; -} - -void _createThreadCircle(std::string Name, TechDraw::DrawViewPart* objFeat, float factor){ - // create the 3/4 arc symbolizing a thread from top seen - double scale = objFeat->getScale(); - int GeoId = TechDraw::DrawUtil::getIndexFromName(Name); - TechDraw::BaseGeomPtr geom = objFeat->getGeomByIndex(GeoId); - std::string GeoType = TechDraw::DrawUtil::getGeomTypeFromName(Name); - if (GeoType == "Edge"){ - if (geom->geomType == TechDraw::CIRCLE){ - TechDraw::CirclePtr cgen = std::static_pointer_cast (geom); - Base::Vector3d center = cgen->center; - float radius = cgen->radius; - TechDraw::BaseGeomPtr threadArc = - std::make_shared (center/scale, radius*factor/scale, 255.0, 165.0); - std::string arcTag = objFeat->addCosmeticEdge(threadArc); - TechDraw::CosmeticEdge* arc = objFeat->getCosmeticEdge(arcTag); - _setLineAttributes(arc); - } - } -} - -void _createThreadLines(std::vector SubNames, TechDraw::DrawViewPart* objFeat, float factor){ - // create symbolizing lines of a thread from the side seen - double scale = objFeat->getScale(); - std::string GeoType0 = TechDraw::DrawUtil::getGeomTypeFromName(SubNames[0]); - std::string GeoType1 = TechDraw::DrawUtil::getGeomTypeFromName(SubNames[1]); - if ((GeoType0 == "Edge") && (GeoType1 == "Edge")) { - int GeoId0 = TechDraw::DrawUtil::getIndexFromName(SubNames[0]); - int GeoId1 = TechDraw::DrawUtil::getIndexFromName(SubNames[1]); - TechDraw::BaseGeomPtr geom0 = objFeat->getGeomByIndex(GeoId0); - TechDraw::BaseGeomPtr geom1 = objFeat->getGeomByIndex(GeoId1); - if ((geom0->geomType == TechDraw::GENERIC) && (geom1->geomType == TechDraw::GENERIC)) { - TechDraw::GenericPtr line0 = std::static_pointer_cast (geom0); - TechDraw::GenericPtr line1 = std::static_pointer_cast (geom1); - Base::Vector3d start0 = line0->points.at(0); - Base::Vector3d end0 = line0->points.at(1); - Base::Vector3d start1 = line1->points.at(0); - Base::Vector3d end1 = line1->points.at(1); - if (_circulation(start0,end0,start1) != _circulation(end0,end1,start1)) { - Base::Vector3d help1 = start1; - Base::Vector3d help2 = end1; - start1 = help2; - end1 = help1; + if (OK) { + objFeat = dynamic_cast(selection[0].getObject()); + if (objFeat == nullptr) { + QMessageBox::warning(Gui::getMainWindow(), + QObject::tr(message.c_str()), + QObject::tr("No object selected")); + OK = false; } - start0.y = -start0.y; - end0.y = -end0.y; - start1.y = -start1.y; - end1.y = -end1.y; - float kernelDiam = (start1-start0).Length(); - float kernelFactor = (kernelDiam*factor-kernelDiam)/2; - Base::Vector3d delta = (start1-start0).Normalize()*kernelFactor; - std::string line0Tag = objFeat->addCosmeticEdge((start0-delta)/scale, (end0-delta)/scale); - std::string line1Tag = objFeat->addCosmeticEdge((start1+delta)/scale, (end1+delta)/scale); - TechDraw::CosmeticEdge* cosTag0 = objFeat->getCosmeticEdge(line0Tag); - TechDraw::CosmeticEdge* cosTag1 = objFeat->getCosmeticEdge(line1Tag); - _setLineAttributes(cosTag0); - _setLineAttributes(cosTag1); - } else { - QMessageBox::warning(Gui::getMainWindow(), - QObject::tr("TechDraw Thread Hole Side"), - QObject::tr("Please select two straight lines")); - return; + } + return OK; + } + + std::vector _getVertexPoints(std::vector SubNames, TechDraw::DrawViewPart* objFeat) { + // get vertex points as Vector3d + std::vector vertexPoints; + for (std::string Name : SubNames) { + std::string GeoType = TechDraw::DrawUtil::getGeomTypeFromName(Name); + if (GeoType == "Vertex") { + int GeoId = TechDraw::DrawUtil::getIndexFromName(Name); + TechDraw::VertexPtr vert = objFeat->getProjVertexByIndex(GeoId); + Base::Vector3d onePoint(vert->point().x, vert->point().y, 0); + vertexPoints.push_back(onePoint); + } + } + return vertexPoints; + } + + float _getAngle(Base::Vector3d center, Base::Vector3d point) { + // get angle between x-axis and the vector from center to point + const auto Pi180 = 180.0 / M_PI; + Base::Vector3d vecCP = point - center; + float dy = vecCP.y; + float sign = -1.0; + if (dy < 0.0) + sign = -sign; + float angle = acos(vecCP.Normalize().x) * Pi180 * sign; + if (angle < 0.0) + angle = 360 + angle; + return angle; + } + + void _intersection(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints) { + // find intersection vertex(es) between two edges +#define unknown 0 +#define isLine 1 +#define isCircle 2 + int edge1(unknown), edge2(unknown); + if (geom1->geomType == TechDraw::CIRCLE || + geom1->geomType == TechDraw::ARCOFCIRCLE) + edge1 = isCircle; + else if (geom1->geomType == TechDraw::GENERIC) + edge1 = isLine; + if (geom2->geomType == TechDraw::CIRCLE || + geom2->geomType == TechDraw::ARCOFCIRCLE) + edge2 = isCircle; + else if (geom2->geomType == TechDraw::GENERIC) + edge2 = isLine; + if (edge1 == isLine && edge2 == isLine) + _intersectionLL(geom1, geom2, interPoints); + else if (edge1 == isCircle && edge2 == isLine) + _intersectionCL(geom1, geom2, interPoints); + else if (edge1 == isLine && edge2 == isCircle) + _intersectionCL(geom2, geom1, interPoints); + else if (edge1 == isCircle && edge2 == isCircle) + _intersectionCC(geom2, geom1, interPoints); + } + + void _intersectionLL(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints) { + // find intersection vertex of two lines + // Taken from: + TechDraw::GenericPtr gen1 = std::static_pointer_cast(geom1); + TechDraw::GenericPtr gen2 = std::static_pointer_cast(geom2); + Base::Vector3d startPnt1 = gen1->points.at(0); + Base::Vector3d endPnt1 = gen1->points.at(1); + Base::Vector3d startPnt2 = gen2->points.at(0); + Base::Vector3d endPnt2 = gen2->points.at(1); + Base::Vector3d dir1 = endPnt1 - startPnt1; + Base::Vector3d dir2 = endPnt2 - startPnt2; + float a1 = -dir1.y; + float b1 = dir1.x; + float c1 = -startPnt1.x * dir1.y + startPnt1.y * dir1.x; + float a2 = -dir2.y; + float b2 = dir2.x; + float c2 = -startPnt2.x * dir2.y + startPnt2.y * dir2.x; + float denom = a1 * b2 - a2 * b1; + if (abs(denom) >= 0.01) { + float xIntersect = (c1 * b2 - c2 * b1) / denom; + float yIntersect = (a1 * c2 - a2 * c1) / denom; + yIntersect = -yIntersect; + Base::Vector3d interPoint(xIntersect, yIntersect, 0.0); + interPoints.push_back(interPoint); } } -} -void _setLineAttributes(TechDraw::CosmeticEdge* cosEdge) { - // set line attributes of a cosmetic edge - cosEdge->m_format.m_style = _getActiveLineAttributes().getStyle(); - cosEdge->m_format.m_weight = _getActiveLineAttributes().getWidthValue(); - cosEdge->m_format.m_color = _getActiveLineAttributes().getColorValue(); -} + void _intersectionCL(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints) { + // find intersection vertex(es) between one circle and one line + // Taken from: + TechDraw::CirclePtr gen1 = std::static_pointer_cast(geom1); + TechDraw::GenericPtr gen2 = std::static_pointer_cast(geom2); + Base::Vector3d cirleCenter = gen1->center; + Base::Vector3d startPnt = gen2->points.at(0); + Base::Vector3d endPnt = gen2->points.at(1); + Base::Vector3d dir = endPnt - startPnt; + float r0 = gen1->radius; + float x0 = cirleCenter.x; + float y0 = cirleCenter.y; + float a = -dir.y; + float b = dir.x; + float c = -startPnt.x * dir.y + startPnt.y * dir.x; + float d = c - a * x0 - b * y0; + float ab = a * a + b * b; + float rootArg = r0 * r0 * ab - d * d; + if (rootArg > 0) { + if (rootArg < 0.01) { + float x1 = x0 + a * d / ab; + float y1 = -y0 + b * d / ab; + Base::Vector3d interPoint1(x1, y1, 0.0); + interPoints.push_back(interPoint1); + } + else { + float root = sqrt(rootArg); + float x1 = x0 + (a * d + b * root) / ab; + float y1 = -y0 - (b * d - a * root) / ab; + float x2 = x0 + (a * d - b * root) / ab; + float y2 = -y0 - (b * d + a * root) / ab; + Base::Vector3d interPoint1(x1, y1, 0.0); + interPoints.push_back(interPoint1); + Base::Vector3d interPoint2(x2, y2, 0.0); + interPoints.push_back(interPoint2); + } + } + } -void _setLineAttributes(TechDraw::CenterLine* cosEdge) { - // set line attributes of a cosmetic edge - cosEdge->m_format.m_style = _getActiveLineAttributes().getStyle(); - cosEdge->m_format.m_weight = _getActiveLineAttributes().getWidthValue(); - cosEdge->m_format.m_color = _getActiveLineAttributes().getColorValue(); -} + void _intersectionCC(TechDraw::BaseGeomPtr geom1, TechDraw::BaseGeomPtr geom2, std::vector& interPoints) { + // find intersection vertex(es) between two circles + // Taken from: + TechDraw::CirclePtr gen1 = std::static_pointer_cast(geom1); + TechDraw::CirclePtr gen2 = std::static_pointer_cast(geom2); + Base::Vector3d Center1 = gen1->center; + Base::Vector3d Center2 = gen2->center; + float r1 = gen1->radius; + float r2 = gen2->radius; + float d12 = (Center2 - Center1).Length(); + Base::Vector3d m = (Center2 - Center1).Normalize(); + Base::Vector3d n(-m.y, m.x, 0.0); + float d0 = (r1 * r1 - r2 * r2 + d12 * d12) / (2 * d12); + float rootArg = r1 * r1 - d0 * d0; + if (rootArg > 0) { + if (rootArg < 0.1) { + Base::Vector3d interPoint1 = -Center1 + m * d0; + interPoint1.y = -interPoint1.y; + interPoints.push_back(interPoint1); + } + else { + float e0 = sqrt(rootArg); + Base::Vector3d interPoint1 = Center1 + m * d0 + n * e0; + interPoint1.y = -interPoint1.y; + interPoints.push_back(interPoint1); + Base::Vector3d interPoint2 = Center1 + m * d0 - n * e0; + interPoint2.y = -interPoint2.y; + interPoints.push_back(interPoint2); + } + } + } -void _setLineAttributes(TechDraw::CosmeticEdge* cosEdge, int style, float weight, App::Color color) { - // set line attributes of a cosmetic edge - cosEdge->m_format.m_style = style; - cosEdge->m_format.m_weight = weight; - cosEdge->m_format.m_color = color; -} + Base::Vector3d _circleCenter(Base::Vector3d p1, Base::Vector3d p2, Base::Vector3d p3) { + Base::Vector2d v1(p1.x, p1.y); + Base::Vector2d v2(p2.x, p2.y); + Base::Vector2d v3(p3.x, p3.y); + Base::Vector2d c = Part::Geom2dCircle::getCircleCenter(v1, v2, v3); + return Base::Vector3d(c.x, c.y, 0.0); + } + + bool _circulation(Base::Vector3d A, Base::Vector3d B, Base::Vector3d C) { + // test the circulation of the triangle A-B-C + if (A.x * B.y + A.y * C.x + B.x * C.y - C.x * B.y - C.y * A.x - B.x * A.y > 0.0) + return true; + else + return false; + } + + void _createThreadCircle(std::string Name, TechDraw::DrawViewPart* objFeat, float factor) { + // create the 3/4 arc symbolizing a thread from top seen + double scale = objFeat->getScale(); + int GeoId = TechDraw::DrawUtil::getIndexFromName(Name); + TechDraw::BaseGeomPtr geom = objFeat->getGeomByIndex(GeoId); + std::string GeoType = TechDraw::DrawUtil::getGeomTypeFromName(Name); + if (GeoType == "Edge") { + if (geom->geomType == TechDraw::CIRCLE) { + TechDraw::CirclePtr cgen = std::static_pointer_cast (geom); + Base::Vector3d center = cgen->center; + float radius = cgen->radius; + TechDraw::BaseGeomPtr threadArc = + std::make_shared(center / scale, radius * factor / scale, 255.0, 165.0); + std::string arcTag = objFeat->addCosmeticEdge(threadArc); + TechDraw::CosmeticEdge* arc = objFeat->getCosmeticEdge(arcTag); + _setLineAttributes(arc); + } + } + } + + void _createThreadLines(std::vector SubNames, TechDraw::DrawViewPart* objFeat, float factor) { + // create symbolizing lines of a thread from the side seen + double scale = objFeat->getScale(); + std::string GeoType0 = TechDraw::DrawUtil::getGeomTypeFromName(SubNames[0]); + std::string GeoType1 = TechDraw::DrawUtil::getGeomTypeFromName(SubNames[1]); + if ((GeoType0 == "Edge") && (GeoType1 == "Edge")) { + int GeoId0 = TechDraw::DrawUtil::getIndexFromName(SubNames[0]); + int GeoId1 = TechDraw::DrawUtil::getIndexFromName(SubNames[1]); + TechDraw::BaseGeomPtr geom0 = objFeat->getGeomByIndex(GeoId0); + TechDraw::BaseGeomPtr geom1 = objFeat->getGeomByIndex(GeoId1); + if ((geom0->geomType == TechDraw::GENERIC) && (geom1->geomType == TechDraw::GENERIC)) { + TechDraw::GenericPtr line0 = std::static_pointer_cast (geom0); + TechDraw::GenericPtr line1 = std::static_pointer_cast (geom1); + Base::Vector3d start0 = line0->points.at(0); + Base::Vector3d end0 = line0->points.at(1); + Base::Vector3d start1 = line1->points.at(0); + Base::Vector3d end1 = line1->points.at(1); + if (_circulation(start0, end0, start1) != _circulation(end0, end1, start1)) { + Base::Vector3d help1 = start1; + Base::Vector3d help2 = end1; + start1 = help2; + end1 = help1; + } + start0.y = -start0.y; + end0.y = -end0.y; + start1.y = -start1.y; + end1.y = -end1.y; + float kernelDiam = (start1 - start0).Length(); + float kernelFactor = (kernelDiam * factor - kernelDiam) / 2; + Base::Vector3d delta = (start1 - start0).Normalize() * kernelFactor; + std::string line0Tag = objFeat->addCosmeticEdge((start0 - delta) / scale, (end0 - delta) / scale); + std::string line1Tag = objFeat->addCosmeticEdge((start1 + delta) / scale, (end1 + delta) / scale); + TechDraw::CosmeticEdge* cosTag0 = objFeat->getCosmeticEdge(line0Tag); + TechDraw::CosmeticEdge* cosTag1 = objFeat->getCosmeticEdge(line1Tag); + _setLineAttributes(cosTag0); + _setLineAttributes(cosTag1); + } + else { + QMessageBox::warning(Gui::getMainWindow(), + QObject::tr("TechDraw Thread Hole Side"), + QObject::tr("Please select two straight lines")); + return; + } + } + } + + void _setLineAttributes(TechDraw::CosmeticEdge* cosEdge) { + // set line attributes of a cosmetic edge + cosEdge->m_format.m_style = _getActiveLineAttributes().getStyle(); + cosEdge->m_format.m_weight = _getActiveLineAttributes().getWidthValue(); + cosEdge->m_format.m_color = _getActiveLineAttributes().getColorValue(); + } + + void _setLineAttributes(TechDraw::CenterLine* cosEdge) { + // set line attributes of a cosmetic edge + cosEdge->m_format.m_style = _getActiveLineAttributes().getStyle(); + cosEdge->m_format.m_weight = _getActiveLineAttributes().getWidthValue(); + cosEdge->m_format.m_color = _getActiveLineAttributes().getColorValue(); + } + + void _setLineAttributes(TechDraw::CosmeticEdge* cosEdge, int style, float weight, App::Color color) { + // set line attributes of a cosmetic edge + cosEdge->m_format.m_style = style; + cosEdge->m_format.m_weight = weight; + cosEdge->m_format.m_color = color; + } } //------------------------------------------------------------------------------ void CreateTechDrawCommandsExtensions(void) { - Gui::CommandManager &rcCmdMgr = Gui::Application::Instance->commandManager(); + Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager(); rcCmdMgr.addCommand(new CmdTechDrawExtensionSelectLineAttributes()); rcCmdMgr.addCommand(new CmdTechDrawExtendShortenLineGroup());