diff --git a/src/Mod/TechDraw/App/CenterLine.cpp b/src/Mod/TechDraw/App/CenterLine.cpp index c03fd66a11..84a6bb7710 100644 --- a/src/Mod/TechDraw/App/CenterLine.cpp +++ b/src/Mod/TechDraw/App/CenterLine.cpp @@ -420,13 +420,13 @@ std::pair CenterLine::calcEndPoints(DrawViewPart double Ymid = Ymin + Yspan; Base::Vector3d p1, p2; - if (mode == 0) { //vertical + if (mode == CenterLine::VERTICAL) { //vertical p1 = Base::Vector3d(Xmid, Ymax, 0.0); p2 = Base::Vector3d(Xmid, Ymin, 0.0); - } else if (mode == 1) { //horizontal + } else if (mode == CenterLine::HORIZONTAL) { //horizontal p1 = Base::Vector3d(Xmin, Ymid, 0.0); p2 = Base::Vector3d(Xmax, Ymid, 0.0); - } else { //vert == 2 //aligned, but aligned doesn't make sense for face(s) bbox + } else { //vert == CenterLine::ALIGNED //aligned, but aligned doesn't make sense for face(s) bbox Base::Console().Message("CL::calcEndPoints - aligned is not applicable to Face center lines\n"); p1 = Base::Vector3d(Xmid, Ymax, 0.0); p2 = Base::Vector3d(Xmid, Ymin, 0.0); @@ -538,13 +538,13 @@ std::pair CenterLine::calcEndPoints2Lines(DrawVi } //orientation - if (mode == 0 && !inhibitVertical) { //Vertical + if (mode == CenterLine::VERTICAL && !inhibitVertical) { //Vertical p1.x = mid.x; p2.x = mid.x; - } else if (mode == 1 && !inhibitHorizontal) { //Horizontal + } else if (mode == CenterLine::HORIZONTAL && !inhibitHorizontal) { //Horizontal p1.y = mid.y; p2.y = mid.y; - } else if (mode == 2) { //Aligned + } else if (mode == CenterLine::ALIGNED) { //Aligned // no op } @@ -627,15 +627,15 @@ std::pair CenterLine::calcEndPoints2Points(DrawV inhibitVertical = true; } - if (mode == 0 && !inhibitVertical) { + if (mode == CenterLine::VERTICAL && !inhibitVertical) { //Vertical v1.x = mid.x; v2.x = mid.x; - } else if (mode == 1 && !inhibitHorizontal) { + } else if (mode == CenterLine::HORIZONTAL && !inhibitHorizontal) { //Horizontal v1.y = mid.y; v2.y = mid.y; - } else if (mode == 2) { //Aligned + } else if (mode == CenterLine::ALIGNED) { //Aligned // no op } diff --git a/src/Mod/TechDraw/App/CenterLine.h b/src/Mod/TechDraw/App/CenterLine.h index 1908e98d64..7a391fa259 100644 --- a/src/Mod/TechDraw/App/CenterLine.h +++ b/src/Mod/TechDraw/App/CenterLine.h @@ -85,7 +85,7 @@ public: static CenterLine* CenterLineBuilder(TechDraw::DrawViewPart* partFeat, std::vector subs, - int mode = 0, + int mode = CenterLine::VERTICAL, bool flip = false); TechDraw::BaseGeomPtr scaledGeometry(TechDraw::DrawViewPart* partFeat); @@ -137,8 +137,8 @@ public: std::vector m_faces; std::vector m_edges; std::vector m_verts; - int m_type; // 0 - face, 1 - 2 line, 2 - 2 point - int m_mode; // 0 - vert/ 1 - horiz/ 2 - aligned + int m_type; // CLTYPE enum + int m_mode; // CLMODE enum double m_hShift; double m_vShift; double m_rotate; diff --git a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp index d21491f209..16c729bad1 100644 --- a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp @@ -61,8 +61,8 @@ TaskCenterLine::TaskCenterLine(TechDraw::DrawViewPart* partFeat, m_btnOK(nullptr), m_btnCancel(nullptr), m_edgeName(edgeName), - m_type(0), // 0 - Face, 1 - Lines, 2 - Points - m_mode(0), // 0 - vertical, 1 - horizontal, 2 - aligned + m_type(CenterLine::FACE), + m_mode(CenterLine::VERTICAL), m_editMode(editMode) { ui->setupUi(this); @@ -97,8 +97,8 @@ TaskCenterLine::TaskCenterLine(TechDraw::DrawViewPart* partFeat, m_subNames(subNames), m_geomIndex(0), m_cl(nullptr), - m_type(0), // 0 - Face, 1 - Lines, 2 - Points - m_mode(0), // 0 - vertical, 1 - horizontal, 2 - aligned + m_type(CenterLine::FACE), + m_mode(CenterLine::VERTICAL), m_editMode(editMode) { //existence of page and feature are checked by isActive method of calling command @@ -107,11 +107,11 @@ TaskCenterLine::TaskCenterLine(TechDraw::DrawViewPart* partFeat, std::string check = subNames.front(); std::string geomType = TechDraw::DrawUtil::getGeomTypeFromName(check); if (geomType == "Face") { - m_type = 0; + m_type = CenterLine::FACE; } else if (geomType == "Edge") { - m_type = 1; + m_type = CenterLine::EDGE; } else if (geomType == "Vertex") { - m_type = 2; + m_type = CenterLine::VERTEX; } else { Base::Console().Error("TaskCenterLine - unknown geometry type: %s. Can not proceed.\n", geomType.c_str()); return; @@ -143,7 +143,7 @@ void TaskCenterLine::changeEvent(QEvent *event) void TaskCenterLine::setUiConnect() { // first enabling/disabling - if (m_type == 0) // if face, then aligned is not possible + if (m_type == CenterLine::FACE) // if face, then aligned is not possible ui->rbAligned->setEnabled(false); else ui->rbAligned->setEnabled(true); @@ -192,11 +192,11 @@ void TaskCenterLine::setUiPrimary() int precision = Base::UnitsApi::getDecimals(); ui->qsbRotate->setDecimals(precision); - if (m_type == 1) { + if (m_type == CenterLine::EDGE) { int orientation = checkPathologicalEdges(m_mode); setUiOrientation(orientation); } - if (m_type == 2) { + if (m_type == CenterLine::VERTEX) { int orientation = checkPathologicalVertices(m_mode); setUiOrientation(orientation); } @@ -218,11 +218,11 @@ void TaskCenterLine::setUiEdit() ui->rbVertical->setChecked(false); ui->rbHorizontal->setChecked(false); ui->rbAligned->setChecked(false); - if (m_cl->m_mode == 0) + if (m_cl->m_mode == CenterLine::VERTICAL) ui->rbVertical->setChecked(true); - else if (m_cl->m_mode == 1) + else if (m_cl->m_mode == CenterLine::HORIZONTAL) ui->rbHorizontal->setChecked(true); - else if (m_cl->m_mode ==2) + else if (m_cl->m_mode == CenterLine::ALIGNED) ui->rbAligned->setChecked(true); Base::Quantity qVal; @@ -255,7 +255,7 @@ void TaskCenterLine::onOrientationChanged() m_cl->m_mode = CenterLine::CLMODE::ALIGNED; // for centerlines between 2 lines we cannot just recompute // because the new orientation might lead to an invalid centerline - if (m_type == 1) + if (m_type == CenterLine::EDGE) updateOrientation(); else m_partFeat->recomputeFeature(); @@ -337,7 +337,7 @@ void TaskCenterLine::onStyleChanged() // between 2 horizontal edges) int TaskCenterLine::checkPathologicalEdges(int inMode) { - if (m_type != 1) { + if (m_type != CenterLine::EDGE) { // not an edge based centerline, this doesn't apply return inMode; } @@ -367,7 +367,7 @@ int TaskCenterLine::checkPathologicalEdges(int inMode) // between 2 vertices aligned vertically) int TaskCenterLine::checkPathologicalVertices(int inMode) { - if (m_type != 2) { + if (m_type != CenterLine::VERTEX) { // not a vertex based centerline, this doesn't apply return inMode; } @@ -397,10 +397,10 @@ void TaskCenterLine::createCenterLine() Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create CenterLine")); // check for illogical parameters - if (m_type == 1) { + if (m_type == CenterLine::EDGE) { // between lines m_mode = checkPathologicalEdges(m_mode); - } else if (m_type == 2) { + } else if (m_type == CenterLine::VERTEX) { // between points m_mode = checkPathologicalVertices(m_mode); } @@ -448,14 +448,14 @@ void TaskCenterLine::updateOrientation() // https://forum.freecad.org/viewtopic.php?f=35&t=44255&start=20#p503220 // The centerline creation can fail if m_type is edge and both selected edges are vertical or horizontal. int orientation = m_cl->m_mode; - if (m_type == 1) { + if (m_type == CenterLine::EDGE) { // between lines if (!m_edgeName.empty() && !m_cl->m_edges.empty()) { // we have an existing centerline, not a freshly created one, and it is a centerline between edges m_subNames = m_cl->m_edges; orientation = checkPathologicalEdges(orientation); } - } else if (m_type == 2) { + } else if (m_type == CenterLine::VERTEX) { // between points if (!m_edgeName.empty() && !m_cl->m_verts.empty()) { // we have an existing centerline, not a freshly created one, and it is a centerline between points