From 576aba95a209a73b5bcae3d1bb245845967b6952 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Br=C3=A6strup=20Sayoc?= Date: Mon, 17 Jul 2023 14:06:07 +0200 Subject: [PATCH] [TechDraw] Improve Cosmetic.cpp typing Make type safe by using const keywords when appropriate and improve memory handling by using references when appropriate. --- src/Mod/TechDraw/App/Cosmetic.cpp | 32 +++++++++++++++---------------- src/Mod/TechDraw/App/Cosmetic.h | 30 ++++++++++++++--------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/Mod/TechDraw/App/Cosmetic.cpp b/src/Mod/TechDraw/App/Cosmetic.cpp index 225e11ba23..d273a7b2bb 100644 --- a/src/Mod/TechDraw/App/Cosmetic.cpp +++ b/src/Mod/TechDraw/App/Cosmetic.cpp @@ -56,10 +56,10 @@ LineFormat::LineFormat() m_visible = true; } -LineFormat::LineFormat(int style, - double weight, - App::Color color, - bool visible) : +LineFormat::LineFormat(const int style, + const double weight, + const App::Color& color, + const bool visible) : m_style(style), m_weight(weight), m_color(color), @@ -112,7 +112,7 @@ CosmeticEdge::CosmeticEdge() initialize(); } -CosmeticEdge::CosmeticEdge(CosmeticEdge* ce) +CosmeticEdge::CosmeticEdge(const CosmeticEdge* ce) { // Base::Console().Message("CE::CE(ce)\n"); TechDraw::BaseGeomPtr newGeom = ce->m_geometry->copy(); @@ -125,18 +125,18 @@ CosmeticEdge::CosmeticEdge(CosmeticEdge* ce) initialize(); } -CosmeticEdge::CosmeticEdge(Base::Vector3d pt1, Base::Vector3d pt2) : +CosmeticEdge::CosmeticEdge(const Base::Vector3d& pt1, const Base::Vector3d& pt2) : // 🠓 returns TopoDS_Edge CosmeticEdge::CosmeticEdge(TopoDS_EdgeFromVectors(pt1, pt2)) { } // 🠓 returns TechDraw::BaseGeomPtr -CosmeticEdge::CosmeticEdge(TopoDS_Edge e) : CosmeticEdge(TechDraw::BaseGeom::baseFactory(e)) +CosmeticEdge::CosmeticEdge(const TopoDS_Edge& e) : CosmeticEdge(TechDraw::BaseGeom::baseFactory(e)) { } -CosmeticEdge::CosmeticEdge(TechDraw::BaseGeomPtr g) +CosmeticEdge::CosmeticEdge(const TechDraw::BaseGeomPtr g) { // Base::Console().Message("CE::CE(bg)\n"); m_geometry = g; @@ -169,7 +169,7 @@ void CosmeticEdge::initialize() m_geometry->setCosmeticTag(getTagAsString()); } -TopoDS_Edge CosmeticEdge::TopoDS_EdgeFromVectors(Base::Vector3d pt1, Base::Vector3d pt2) +TopoDS_Edge CosmeticEdge::TopoDS_EdgeFromVectors(const Base::Vector3d& pt1, const Base::Vector3d& pt2) { // Base::Console().Message("CE::CE(p1, p2)\n"); Base::Vector3d p1 = DrawUtil::invertY(pt1); @@ -179,7 +179,7 @@ TopoDS_Edge CosmeticEdge::TopoDS_EdgeFromVectors(Base::Vector3d pt1, Base::Vecto return BRepBuilderAPI_MakeEdge(gp1, gp2); } -TechDraw::BaseGeomPtr CosmeticEdge::scaledGeometry(double scale) +TechDraw::BaseGeomPtr CosmeticEdge::scaledGeometry(const double scale) { TopoDS_Edge e = m_geometry->getOCCEdge(); TopoDS_Shape s = ShapeUtils::scaleShape(e, scale); @@ -207,7 +207,7 @@ std::string CosmeticEdge::toString() const return ss.str(); } -void CosmeticEdge::dump(const char* title) +void CosmeticEdge::dump(const char* title) const { Base::Console().Message("CE::dump - %s \n", title); Base::Console().Message("CE::dump - %s \n", toString().c_str()); @@ -313,7 +313,7 @@ void CosmeticEdge::createNewTag() tag = gen(); } -void CosmeticEdge::assignTag(const TechDraw::CosmeticEdge * ce) +void CosmeticEdge::assignTag(const TechDraw::CosmeticEdge* ce) { if(ce->getTypeId() == this->getTypeId()) this->tag = ce->tag; @@ -363,7 +363,7 @@ GeomFormat::GeomFormat() : createNewTag(); } -GeomFormat::GeomFormat(GeomFormat* gf) +GeomFormat::GeomFormat(const GeomFormat* gf) { m_geomIndex = gf->m_geomIndex; m_format.m_style = gf->m_format.m_style; @@ -374,8 +374,8 @@ GeomFormat::GeomFormat(GeomFormat* gf) createNewTag(); } -GeomFormat::GeomFormat(int idx, - TechDraw::LineFormat fmt) : +GeomFormat::GeomFormat(const int idx, + const TechDraw::LineFormat& fmt) : m_geomIndex(idx) { m_format.m_style = fmt.m_style; @@ -466,7 +466,7 @@ void GeomFormat::createNewTag() tag = gen(); } -void GeomFormat::assignTag(const TechDraw::GeomFormat * ce) +void GeomFormat::assignTag(const TechDraw::GeomFormat* ce) { if(ce->getTypeId() == this->getTypeId()) this->tag = ce->tag; diff --git a/src/Mod/TechDraw/App/Cosmetic.h b/src/Mod/TechDraw/App/Cosmetic.h index 360f8d371b..679ae4b8d3 100644 --- a/src/Mod/TechDraw/App/Cosmetic.h +++ b/src/Mod/TechDraw/App/Cosmetic.h @@ -41,10 +41,10 @@ class TechDrawExport LineFormat { public: LineFormat(); - LineFormat(int style, - double weight, - App::Color color, - bool visible); + LineFormat(const int style, + const double weight, + const App::Color& color, + const bool visible); ~LineFormat() = default; int m_style; @@ -67,19 +67,19 @@ class TechDrawExport CosmeticEdge : public Base::Persistence, public TechDraw::B TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: CosmeticEdge(); - CosmeticEdge(TechDraw::BaseGeomPtr* geometry); - CosmeticEdge(CosmeticEdge* ce); - CosmeticEdge(Base::Vector3d p1, Base::Vector3d p2); - CosmeticEdge(TopoDS_Edge e); - CosmeticEdge(TechDraw::BaseGeomPtr g); + CosmeticEdge(const TechDraw::BaseGeomPtr* geometry); + CosmeticEdge(const CosmeticEdge* ce); + CosmeticEdge(const Base::Vector3d& p1, const Base::Vector3d& p2); + CosmeticEdge(const TopoDS_Edge& e); + CosmeticEdge(const TechDraw::BaseGeomPtr g); ~CosmeticEdge() override; void initialize(); - TopoDS_Edge TopoDS_EdgeFromVectors(Base::Vector3d pt1, Base::Vector3d pt2); - TechDraw::BaseGeomPtr scaledGeometry(double scale); + TopoDS_Edge TopoDS_EdgeFromVectors(const Base::Vector3d& pt1, const Base::Vector3d& pt2); + TechDraw::BaseGeomPtr scaledGeometry(const double scale); std::string toString() const override; - void dump(const char* title); + void dump(const char* title) const; // Persistence implementer --------------------- unsigned int getMemSize() const override; @@ -119,9 +119,9 @@ class TechDrawExport GeomFormat: public Base::Persistence public: GeomFormat(); - explicit GeomFormat(TechDraw::GeomFormat* gf); - GeomFormat(int idx, - LineFormat fmt); + explicit GeomFormat(const TechDraw::GeomFormat* gf); + GeomFormat(const int idx, + const LineFormat& fmt); ~GeomFormat() override; // Persistence implementer ---------------------