From f7441510b145da1589a465cacdb332822c7a87f8 Mon Sep 17 00:00:00 2001 From: captain0xff Date: Fri, 7 Mar 2025 20:43:15 +0530 Subject: [PATCH] remove gp_* conversion code from TechDraw workbench --- src/Mod/TechDraw/App/CenterLine.cpp | 9 +-- src/Mod/TechDraw/App/Cosmetic.cpp | 9 +-- src/Mod/TechDraw/App/DimensionGeometry.cpp | 37 +++++------ src/Mod/TechDraw/App/DrawBrokenView.cpp | 35 ++++++----- src/Mod/TechDraw/App/DrawComplexSection.cpp | 13 ++-- src/Mod/TechDraw/App/DrawGeomHatch.cpp | 3 +- src/Mod/TechDraw/App/DrawUtil.cpp | 18 ++++-- src/Mod/TechDraw/App/DrawUtil.h | 22 ++----- src/Mod/TechDraw/App/DrawViewDimension.cpp | 63 ++++++++++--------- src/Mod/TechDraw/App/DrawViewPart.cpp | 9 +-- src/Mod/TechDraw/App/DrawViewSection.cpp | 13 ++-- src/Mod/TechDraw/App/Geometry.cpp | 37 +++++------ src/Mod/TechDraw/App/GeometryMatcher.cpp | 12 ++-- src/Mod/TechDraw/App/ShapeUtils.cpp | 4 +- src/Mod/TechDraw/Gui/CommandExtensionPack.cpp | 4 +- src/Mod/TechDraw/Gui/DimensionValidators.cpp | 16 ++--- src/Mod/TechDraw/Gui/TaskComplexSection.cpp | 5 +- 17 files changed, 158 insertions(+), 151 deletions(-) diff --git a/src/Mod/TechDraw/App/CenterLine.cpp b/src/Mod/TechDraw/App/CenterLine.cpp index 1043d1386c..a61d4ad12a 100644 --- a/src/Mod/TechDraw/App/CenterLine.cpp +++ b/src/Mod/TechDraw/App/CenterLine.cpp @@ -32,6 +32,7 @@ #include #include +#include #include "CenterLine.h" #include "DrawUtil.h" @@ -320,8 +321,8 @@ TechDraw::BaseGeomPtr CenterLine::scaledAndRotatedGeometry(TechDraw::DrawViewPar TopoDS_Edge newEdge; if (getType() == Type::FACE ) { - gp_Pnt gp1(DU::to(p1)); - gp_Pnt gp2(DU::to(p2)); + gp_Pnt gp1(Base::convertTo(p1)); + gp_Pnt gp2(Base::convertTo(p2)); TopoDS_Edge e = BRepBuilderAPI_MakeEdge(gp1, gp2); // Mirror shape in Y and scale TopoDS_Shape s = ShapeUtils::mirrorShape(e, gp_Pnt(0.0, 0.0, 0.0), scale); @@ -330,8 +331,8 @@ TechDraw::BaseGeomPtr CenterLine::scaledAndRotatedGeometry(TechDraw::DrawViewPar newEdge = TopoDS::Edge(s); } else if (getType() == Type::EDGE || getType() == Type::VERTEX) { - gp_Pnt gp1(DU::to(DU::invertY(p1 * scale))); - gp_Pnt gp2(DU::to(DU::invertY(p2 * scale))); + gp_Pnt gp1(Base::convertTo(DU::invertY(p1 * scale))); + gp_Pnt gp2(Base::convertTo(DU::invertY(p2 * scale))); newEdge = BRepBuilderAPI_MakeEdge(gp1, gp2); } diff --git a/src/Mod/TechDraw/App/Cosmetic.cpp b/src/Mod/TechDraw/App/Cosmetic.cpp index 5ebde9f936..3e95a72d1e 100644 --- a/src/Mod/TechDraw/App/Cosmetic.cpp +++ b/src/Mod/TechDraw/App/Cosmetic.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include #include @@ -160,8 +161,8 @@ TechDraw::BaseGeomPtr CosmeticEdge::makeCanonicalLine(DrawViewPart* dvp, Base::V { Base::Vector3d cStart = CosmeticVertex::makeCanonicalPoint(dvp, start); Base::Vector3d cEnd = CosmeticVertex::makeCanonicalPoint(dvp, end); - gp_Pnt gStart = DU::to(cStart); - gp_Pnt gEnd = DU::to(cEnd); + gp_Pnt gStart = Base::convertTo(cStart); + gp_Pnt gEnd = Base::convertTo(cEnd); TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(gStart, gEnd); return TechDraw::BaseGeom::baseFactory(edge); } @@ -169,8 +170,8 @@ TechDraw::BaseGeomPtr CosmeticEdge::makeCanonicalLine(DrawViewPart* dvp, Base::V //! makes an unscaled, unrotated line from two canonical points. TechDraw::BaseGeomPtr CosmeticEdge::makeLineFromCanonicalPoints(Base::Vector3d start, Base::Vector3d end) { - gp_Pnt gStart = DU::to(start); - gp_Pnt gEnd = DU::to(end); + gp_Pnt gStart = Base::convertTo(start); + gp_Pnt gEnd = Base::convertTo(end); TopoDS_Edge edge = BRepBuilderAPI_MakeEdge(gStart, gEnd); return TechDraw::BaseGeom::baseFactory(edge); } diff --git a/src/Mod/TechDraw/App/DimensionGeometry.cpp b/src/Mod/TechDraw/App/DimensionGeometry.cpp index 44815cd992..67b3b1cdbe 100644 --- a/src/Mod/TechDraw/App/DimensionGeometry.cpp +++ b/src/Mod/TechDraw/App/DimensionGeometry.cpp @@ -28,6 +28,7 @@ #endif #include +#include #include #include "DimensionGeometry.h" @@ -97,10 +98,10 @@ void pointPair::mapToPage(const DrawViewPart* dvp) gp_Ax3 OXYZ; xOXYZ.SetTransformation(OXYZ, gp_Ax3(dvp->getRotatedCS())); - gp_Vec gvFirst = DU::to(m_first).Transformed(xOXYZ); - m_first = DU::toVector3d(gvFirst); - gp_Vec gvSecond = DU::to(m_second).Transformed(xOXYZ); - m_second = DU::toVector3d(gvSecond); + gp_Vec gvFirst = Base::convertTo(m_first).Transformed(xOXYZ); + m_first = Base::convertTo(gvFirst); + gp_Vec gvSecond = Base::convertTo(m_second).Transformed(xOXYZ); + m_second = Base::convertTo(gvSecond); } // this routine is no longer needed since we now use the dvp's projectPoint @@ -194,8 +195,8 @@ void anglePoints::mapToPage(const DrawViewPart* dvp) gp_Trsf xOXYZ; gp_Ax3 OXYZ; xOXYZ.SetTransformation(OXYZ, gp_Ax3(dvp->getRotatedCS())); - gp_Vec gvVertex = DU::to(m_vertex).Transformed(xOXYZ); - m_vertex = DU::toVector3d(gvVertex); + gp_Vec gvVertex = Base::convertTo(m_vertex).Transformed(xOXYZ); + m_vertex = Base::convertTo(gvVertex); } // map the points onto the coordinate system used for drawing where -Y direction is "up" @@ -291,18 +292,18 @@ void arcPoints::mapToPage(const DrawViewPart* dvp) gp_Ax3 OXYZ; xOXYZ.SetTransformation(OXYZ, gp_Ax3(dvp->getRotatedCS())); - gp_Vec gvCenter = DU::to(center).Transformed(xOXYZ); - center = DU::toVector3d(gvCenter); - gp_Vec gvOnCurve1 = DU::to(onCurve.first()).Transformed(xOXYZ); - onCurve.first(DU::toVector3d(gvOnCurve1)); - gp_Vec gvOnCurve2 = DU::to(onCurve.second()).Transformed(xOXYZ); - onCurve.second(DU::toVector3d(gvOnCurve2)); - gp_Vec gvArcEnds1 = DU::to(arcEnds.first()).Transformed(xOXYZ); - arcEnds.first(DU::toVector3d(gvArcEnds1)); - gp_Vec gvArcEnds2 = DU::to(arcEnds.second()).Transformed(xOXYZ); - arcEnds.second(DU::toVector3d(gvArcEnds2)); - gp_Vec gvMidArc = DU::to(midArc).Transformed(xOXYZ); - midArc = DU::toVector3d(gvMidArc); + gp_Vec gvCenter = Base::convertTo(center).Transformed(xOXYZ); + center = Base::convertTo(gvCenter); + gp_Vec gvOnCurve1 = Base::convertTo(onCurve.first()).Transformed(xOXYZ); + onCurve.first(Base::convertTo(gvOnCurve1)); + gp_Vec gvOnCurve2 = Base::convertTo(onCurve.second()).Transformed(xOXYZ); + onCurve.second(Base::convertTo(gvOnCurve2)); + gp_Vec gvArcEnds1 = Base::convertTo(arcEnds.first()).Transformed(xOXYZ); + arcEnds.first(Base::convertTo(gvArcEnds1)); + gp_Vec gvArcEnds2 = Base::convertTo(arcEnds.second()).Transformed(xOXYZ); + arcEnds.second(Base::convertTo(gvArcEnds2)); + gp_Vec gvMidArc = Base::convertTo(midArc).Transformed(xOXYZ); + midArc = Base::convertTo(gvMidArc); } // obsolete. see above diff --git a/src/Mod/TechDraw/App/DrawBrokenView.cpp b/src/Mod/TechDraw/App/DrawBrokenView.cpp index cc797b3e0c..4dd3a15a02 100644 --- a/src/Mod/TechDraw/App/DrawBrokenView.cpp +++ b/src/Mod/TechDraw/App/DrawBrokenView.cpp @@ -73,6 +73,7 @@ #include #include #include +#include #include #include @@ -244,7 +245,7 @@ TopoDS_Shape DrawBrokenView::compressHorizontal(const TopoDS_Shape& shapeToComp { auto pieces = getPieces(shapeToCompress); auto breaksAll = Breaks.getValues(); - auto moveDirection = DU::closestBasisOriented(DU::toVector3d(getProjectionCS().XDirection())); + auto moveDirection = DU::closestBasisOriented(Base::convertTo(getProjectionCS().XDirection())); bool descend = false; auto sortedBreaks = makeSortedBreakList(breaksAll, moveDirection, descend); auto limits = getPieceLimits(pieces, moveDirection); @@ -283,7 +284,7 @@ TopoDS_Shape DrawBrokenView::compressVertical(const TopoDS_Shape& shapeToCompre auto pieces = getPieces(shapeToCompress); auto breaksAll = Breaks.getValues(); // not sure about using closestBasis here. may prevent oblique breaks later. - auto moveDirection = DU::closestBasisOriented(DU::toVector3d(getProjectionCS().YDirection())); + auto moveDirection = DU::closestBasisOriented(Base::convertTo(getProjectionCS().YDirection())); bool descend = false; auto sortedBreaks = makeSortedBreakList(breaksAll, moveDirection, descend); @@ -323,11 +324,11 @@ TopoDS_Shape DrawBrokenView::makeHalfSpace(const Base::Vector3d& planePoint, const Base::Vector3d& planeNormal, const Base::Vector3d& pointInSpace) const { - auto origin = DU::to(planePoint); - auto axis = DU::to(planeNormal); + auto origin = Base::convertTo(planePoint); + auto axis = Base::convertTo(planeNormal); gp_Pln plane(origin, axis); BRepBuilderAPI_MakeFace mkFace(plane); - BRepPrimAPI_MakeHalfSpace mkHalf(mkFace.Face(), DU::to(pointInSpace)); + BRepPrimAPI_MakeHalfSpace mkHalf(mkFace.Face(), Base::convertTo(pointInSpace)); return mkHalf.Solid(); } @@ -478,7 +479,7 @@ std::pair DrawBrokenView::breakPointsFromEdge(co TopoDS_Edge edge = TopoDS::Edge(locShape); gp_Pnt start = BRep_Tool::Pnt(TopExp::FirstVertex(edge)); gp_Pnt end = BRep_Tool::Pnt(TopExp::LastVertex(edge)); - return {DU::toVector3d(start), DU::toVector3d(end)}; + return {Base::convertTo(start), Base::convertTo(end)}; } @@ -641,7 +642,7 @@ bool DrawBrokenView::isVertical(const TopoDS_Edge& edge, const bool projected) c auto edgeDir = ends.second - ends.first; edgeDir.Normalize(); - auto upDir = DU::toVector3d(getProjectionCS().YDirection()); + auto upDir = Base::convertTo(getProjectionCS().YDirection()); if (projected) { upDir = stdY; } @@ -657,7 +658,7 @@ bool DrawBrokenView::isVertical(std::pair inPoin auto pointDir = inPoints.second - inPoints.first; pointDir.Normalize(); - auto upDir = DU::toVector3d(getProjectionCS().YDirection()); + auto upDir = Base::convertTo(getProjectionCS().YDirection()); if (projected) { upDir = stdY; } @@ -673,7 +674,7 @@ bool DrawBrokenView::isHorizontal(const TopoDS_Edge& edge, bool projected) const auto edgeDir = ends.second - ends.first; edgeDir.Normalize(); - auto sideDir = DU::toVector3d(getProjectionCS().XDirection()); + auto sideDir = Base::convertTo(getProjectionCS().XDirection()); if (projected) { sideDir = stdX; } @@ -876,7 +877,7 @@ Base::Vector3d DrawBrokenView::mapPoint3dToView(Base::Vector3d point3d) const auto breaksAll = Breaks.getValues(); bool descend = false; - auto moveXDirection = DU::closestBasisOriented(DU::toVector3d(getProjectionCS().XDirection())); + auto moveXDirection = DU::closestBasisOriented(Base::convertTo(getProjectionCS().XDirection())); // get the breaks that move us in X auto sortedXBreaks = makeSortedBreakList(breaksAll, moveXDirection, descend); @@ -885,7 +886,7 @@ Base::Vector3d DrawBrokenView::mapPoint3dToView(Base::Vector3d point3d) const double xShift = shiftAmountShrink(xLimit, moveXDirection, sortedXBreaks); Base::Vector3d xMove = moveXDirection * xShift; // move to the right (+X) - auto moveYDirection = DU::closestBasisOriented(DU::toVector3d(getProjectionCS().YDirection())); + auto moveYDirection = DU::closestBasisOriented(Base::convertTo(getProjectionCS().YDirection())); descend = false; // get the breaks that move us in Y auto sortedYBreaks = makeSortedBreakList(breaksAll, moveYDirection, descend); @@ -913,12 +914,12 @@ Base::Vector3d DrawBrokenView::mapPoint2dFromView(Base::Vector3d point2d) const gp_Ax3 projCS3(getProjectionCS(getCompressedCentroid())); gp_Trsf xTo3d; xTo3d.SetTransformation(projCS3, OXYZ); - auto pseudo3d = DU::toVector3d(DU::to(point2d).Transformed(xTo3d)); + auto pseudo3d = Base::convertTo(Base::convertTo(point2d).Transformed(xTo3d)); // now shift down and left auto breaksAll = Breaks.getValues(); - auto moveXDirection = DU::closestBasisOriented(DU::toVector3d(getProjectionCS().XDirection())); + auto moveXDirection = DU::closestBasisOriented(Base::convertTo(getProjectionCS().XDirection())); // we are expanding, so the direction should be to the "left"/"down" which is the opposite of // our XDirection auto moveXReverser = isDirectionReversed(moveXDirection) ? 1.0 : -1.0; @@ -941,7 +942,7 @@ Base::Vector3d DrawBrokenView::mapPoint2dFromView(Base::Vector3d point2d) const } double xCoord2 = xLimit + breakSum * moveXReverser; - auto moveYDirection = DU::closestBasisOriented(DU::toVector3d(getProjectionCS().YDirection())); + auto moveYDirection = DU::closestBasisOriented(Base::convertTo(getProjectionCS().YDirection())); auto moveYReverser = isDirectionReversed(moveYDirection) ? 1.0 : -1.0; descend = false; auto sortedYBreaks = makeSortedBreakList(breaksAll, moveYDirection, descend); @@ -1102,18 +1103,18 @@ Base::Vector3d DrawBrokenView::getCompressedCentroid() const } gp_Ax2 cs = getProjectionCS(); gp_Pnt gCenter = ShapeUtils::findCentroid(m_compressedShape, cs); - return DU::toVector3d(gCenter); + return Base::convertTo(gCenter); } //! construct a perpendicular direction in the projection CS Base::Vector3d DrawBrokenView::makePerpendicular(Base::Vector3d inDir) const { - auto gDir = DU::to(inDir); + auto gDir = Base::convertTo(inDir); gp_Pnt origin(0.0, 0.0, 0.0); auto dir = getProjectionCS().Direction(); gp_Ax1 axis(origin, dir); auto gRotated = gDir.Rotated(axis, M_PI_2); - return DU::toVector3d(gRotated); + return Base::convertTo(gRotated); } //! true if this piece should be moved diff --git a/src/Mod/TechDraw/App/DrawComplexSection.cpp b/src/Mod/TechDraw/App/DrawComplexSection.cpp index b7221afa03..eda78c83e3 100644 --- a/src/Mod/TechDraw/App/DrawComplexSection.cpp +++ b/src/Mod/TechDraw/App/DrawComplexSection.cpp @@ -110,6 +110,7 @@ #include #include #include +#include #include #include #include @@ -550,7 +551,7 @@ void DrawComplexSection::makeAlignedPieces(const TopoDS_Shape& rawShape) } //center the compound along SectionCS XDirection - Base::Vector3d centerVector = DU::toVector3d(gMovementVector) * distanceToMove / -2.0; + Base::Vector3d centerVector = Base::convertTo(gMovementVector) * distanceToMove / -2.0; TopoDS_Shape centeredCompound = ShapeUtils::moveShape(comp, centerVector); if (debugSection()) { @@ -796,7 +797,7 @@ std::pair DrawComplexSection::sectionArrowDirs() } gp_Vec gProfileVector = makeProfileVector(profileWire); - gp_Vec gSectionNormal = gp_Vec(DU::to(SectionNormal.getValue())); + gp_Vec gSectionNormal = gp_Vec(Base::convertTo(SectionNormal.getValue())); gp_Vec gExtrudeVector = (gSectionNormal.Crossed(gProfileVector)).Normalized(); Base::Vector3d vClosestBasis = DrawUtil::closestBasis(gp_Dir(gExtrudeVector), getSectionCS()); gp_Dir gExtrudeDir = gp_Dir(vClosestBasis.x, vClosestBasis.y, vClosestBasis.z); @@ -826,8 +827,8 @@ std::pair DrawComplexSection::sectionArrowDirs() } //TODO: similar code elsewhere. Opportunity for reuse. - Base::Vector3d vDir0 = DU::toVector3d(gDir0); - Base::Vector3d vDir1 = DU::toVector3d(gDir1); + Base::Vector3d vDir0 = Base::convertTo(gDir0); + Base::Vector3d vDir1 = Base::convertTo(gDir1); vDir0.Normalize(); vDir1.Normalize(); DrawViewPart* baseDvp = dynamic_cast(BaseView.getValue()); @@ -981,8 +982,8 @@ std::pair DrawComplexSection::getSegmentEnds(Top gp_Pnt gpFirst = BRep_Tool::Pnt(tvFirst); gp_Pnt gpLast = BRep_Tool::Pnt(tvLast); std::pair result; - result.first = DU::toVector3d(gpFirst); - result.second = DU::toVector3d(gpLast); + result.first = Base::convertTo(gpFirst); + result.second = Base::convertTo(gpLast); return result; } diff --git a/src/Mod/TechDraw/App/DrawGeomHatch.cpp b/src/Mod/TechDraw/App/DrawGeomHatch.cpp index dd0fda8469..66366a000e 100644 --- a/src/Mod/TechDraw/App/DrawGeomHatch.cpp +++ b/src/Mod/TechDraw/App/DrawGeomHatch.cpp @@ -49,6 +49,7 @@ #include #include #include +#include #include #include @@ -336,7 +337,7 @@ std::vector DrawGeomHatch::getTrimmedLines(DrawViewPart* source, TopoDS_Shape grid = gridComp; gp_Trsf xGridTranslate; - xGridTranslate.SetTranslation(DrawUtil::to(hatchOffset)); + xGridTranslate.SetTranslation(Base::convertTo(hatchOffset)); BRepBuilderAPI_Transform mkTransTranslate(grid, xGridTranslate, true); grid = mkTransTranslate.Shape(); diff --git a/src/Mod/TechDraw/App/DrawUtil.cpp b/src/Mod/TechDraw/App/DrawUtil.cpp index e6e58c846c..545be9a94c 100644 --- a/src/Mod/TechDraw/App/DrawUtil.cpp +++ b/src/Mod/TechDraw/App/DrawUtil.cpp @@ -58,6 +58,7 @@ #endif #include +#include #include #include #include @@ -414,7 +415,7 @@ bool DrawUtil::apparentIntersection(const Handle(Geom_Curve) curve1, //for our purposes, only one intersection point is required. gp_Pnt p1, p2; intersector.Points(1, p1, p2); - result = toVector3d(p1); + result = Base::convertTo(p1); return true; } @@ -520,6 +521,15 @@ std::string DrawUtil::formatVector(const Base::Vector3d& v) } //template std::string DrawUtil::formatVector(const Base::Vector3d &v); +// template specialization +std::string DrawUtil::formatVector(const QPointF& v) +{ + std::stringstream builder; + builder << std::fixed << std::setprecision(Base::UnitsApi::getDecimals()); + builder << " (" << v.x() << ", " << v.y() << ") "; + return builder.str(); +} + //! compare 2 vectors for sorting - true if v1 < v2 //! precision::Confusion() is too strict for vertex - vertex comparisons bool DrawUtil::vectorLess(const Base::Vector3d& v1, const Base::Vector3d& v2) @@ -648,7 +658,7 @@ Base::Vector3d DrawUtil::vecRotate(Base::Vector3d vec, double angle, Base::Vecto gp_Vec DrawUtil::closestBasis(gp_Vec inVec) { - return gp_Vec(to(closestBasis(toVector3d(inVec)))); + return gp_Vec(Base::convertTo(closestBasis(Base::convertTo(inVec)))); } //! returns stdX, stdY or stdZ. @@ -836,7 +846,7 @@ double DrawUtil::getWidthInDirection(gp_Dir direction, TopoDS_Shape& shape) Base::Vector3d stdXr(-1.0, 0.0, 0.0); Base::Vector3d stdYr(0.0, -1.0, 0.0); Base::Vector3d stdZr(0.0, 0.0, -1.0); - Base::Vector3d vClosestBasis = closestBasis(toVector3d(direction)); + Base::Vector3d vClosestBasis = closestBasis(Base::convertTo(direction)); Bnd_Box shapeBox; shapeBox.SetGap(0.0); @@ -888,7 +898,7 @@ gp_Vec DrawUtil::maskDirection(gp_Vec inVec, gp_Dir directionToMask) Base::Vector3d DrawUtil::maskDirection(Base::Vector3d inVec, Base::Vector3d directionToMask) { - return toVector3d(maskDirection(to(inVec), to(directionToMask))); + return Base::convertTo(maskDirection(Base::convertTo(inVec), Base::convertTo(directionToMask))); } //! get the coordinate of inPoint for the cardinal unit direction. diff --git a/src/Mod/TechDraw/App/DrawUtil.h b/src/Mod/TechDraw/App/DrawUtil.h index 3eec9bed80..8e7c90b88c 100644 --- a/src/Mod/TechDraw/App/DrawUtil.h +++ b/src/Mod/TechDraw/App/DrawUtil.h @@ -44,7 +44,9 @@ #include #include +#include #include +#include #include @@ -121,9 +123,10 @@ public: template static std::string formatVector(const T& v) { - return formatVector(toVector3d(v)); + return formatVector(Base::convertTo(v)); } static std::string formatVector(const Base::Vector3d& v); + static std::string formatVector(const QPointF& v); static bool vectorLess(const Base::Vector3d& v1, const Base::Vector3d& v2); //!std::map require comparator to be a type not a function @@ -171,25 +174,11 @@ public: Base::Vector2d d2); - template - static Base::Vector3d toVector3d(const T& v) - { - return Base::Vector3d(v.X(), v.Y(), v.Z()); - } - static Base::Vector3d toVector3d(const QPointF& v) { return Base::Vector3d(v.x(), v.y(), 0); } - //! To gp_* - // TODO: Would this be relevant to move to Base::Vector3d? Probably - template - static T to(const Base::Vector3d &v) - { - return T(v.x, v.y, v.z); - } - static QPointF toQPointF(const Base::Vector3d &v) { return QPointF(v.x, v.y); @@ -290,8 +279,5 @@ public: // GCC BUG 85282, wanting this to be outside class body. This is only the declaration, the definition .cpp //template<> std::string DrawUtil::formatVector(const Base::Vector3d &v); -// GCC BUG 85282, wanting this to be outside class body. This is only the declaration, the definition .cpp -//template<> Base::Vector3d DrawUtil::toVector3d(const QPointF& v); - }//end namespace TechDraw #endif diff --git a/src/Mod/TechDraw/App/DrawViewDimension.cpp b/src/Mod/TechDraw/App/DrawViewDimension.cpp index 911bc62cf5..72a7af43a0 100644 --- a/src/Mod/TechDraw/App/DrawViewDimension.cpp +++ b/src/Mod/TechDraw/App/DrawViewDimension.cpp @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include @@ -842,7 +843,7 @@ pointPair DrawViewDimension::getPointsOneEdge(ReferenceVector references) gp_Pnt gEnd0 = BRep_Tool::Pnt(TopExp::FirstVertex(edge)); gp_Pnt gEnd1 = BRep_Tool::Pnt(TopExp::LastVertex(edge)); - pointPair pts(DrawUtil::toVector3d(gEnd0), DrawUtil::toVector3d(gEnd1)); + pointPair pts(Base::convertTo(gEnd0), Base::convertTo(gEnd1)); pts.move(getViewPart()->getCurrentCentroid()); pts.project(getViewPart()); return pts; @@ -911,7 +912,7 @@ pointPair DrawViewDimension::getPointsTwoVerts(ReferenceVector references) gp_Pnt gPoint0 = BRep_Tool::Pnt(vertex0); gp_Pnt gPoint1 = BRep_Tool::Pnt(vertex1); - pointPair pts(DrawUtil::toVector3d(gPoint0), DrawUtil::toVector3d(gPoint1)); + pointPair pts(Base::convertTo(gPoint0), Base::convertTo(gPoint1)); pts.move(getViewPart()->getCurrentCentroid()); pts.project(getViewPart()); return pts; @@ -1117,23 +1118,23 @@ arcPoints DrawViewDimension::arcPointsFromEdge(TopoDS_Edge occEdge) double pLast = adapt.LastParameter(); double pMid = (pFirst + pLast) / 2; BRepLProp_CLProps props(adapt, pFirst, 0, Precision::Confusion()); - pts.arcEnds.first(DrawUtil::toVector3d(props.Value())); + pts.arcEnds.first(Base::convertTo(props.Value())); props.SetParameter(pLast); - pts.arcEnds.second(DrawUtil::toVector3d(props.Value())); + pts.arcEnds.second(Base::convertTo(props.Value())); props.SetParameter(pMid); - pts.onCurve.first(DrawUtil::toVector3d(props.Value())); - pts.onCurve.second(DrawUtil::toVector3d(props.Value())); - pts.midArc = DrawUtil::toVector3d(props.Value()); + pts.onCurve.first(Base::convertTo(props.Value())); + pts.onCurve.second(Base::convertTo(props.Value())); + pts.midArc = Base::convertTo(props.Value()); if (adapt.GetType() == GeomAbs_Circle) { gp_Circ circle = adapt.Circle(); - pts.center = DrawUtil::toVector3d(circle.Location()); + pts.center = Base::convertTo(circle.Location()); pts.radius = circle.Radius(); if (pts.isArc) { // part of circle gp_Ax1 axis = circle.Axis(); - gp_Vec startVec = DrawUtil::to(pts.arcEnds.first() - pts.center); - gp_Vec endVec = DrawUtil::to(pts.arcEnds.second() - pts.center); + gp_Vec startVec = Base::convertTo(pts.arcEnds.first() - pts.center); + gp_Vec endVec = Base::convertTo(pts.arcEnds.second() - pts.center); double angle = startVec.AngleWithRef(endVec, axis.Direction().XYZ()); pts.arcCW = (angle < 0.0); } @@ -1147,13 +1148,13 @@ arcPoints DrawViewDimension::arcPointsFromEdge(TopoDS_Edge occEdge) } else if (adapt.GetType() == GeomAbs_Ellipse) { gp_Elips ellipse = adapt.Ellipse(); - pts.center = DrawUtil::toVector3d(ellipse.Location()); + pts.center = Base::convertTo(ellipse.Location()); pts.radius = (ellipse.MajorRadius() + ellipse.MinorRadius()) / 2.0; if (pts.isArc) { // part of ellipse gp_Ax1 axis = ellipse.Axis(); - gp_Vec startVec = DrawUtil::to(pts.arcEnds.first() - pts.center); - gp_Vec endVec = DrawUtil::to(pts.arcEnds.second() - pts.center); + gp_Vec startVec = Base::convertTo(pts.arcEnds.first() - pts.center); + gp_Vec endVec = Base::convertTo(pts.arcEnds.second() - pts.center); double angle = startVec.AngleWithRef(endVec, axis.Direction().XYZ()); pts.arcCW = (angle < 0.0); } @@ -1176,13 +1177,13 @@ arcPoints DrawViewDimension::arcPointsFromEdge(TopoDS_Edge occEdge) } gp_Circ circle = adapt.Circle(); // TODO: same code as above. reuse opportunity. - pts.center = DrawUtil::toVector3d(circle.Location()); + pts.center = Base::convertTo(circle.Location()); pts.radius = circle.Radius(); if (pts.isArc) { // part of circle gp_Ax1 axis = circle.Axis(); - gp_Vec startVec = DrawUtil::to(pts.arcEnds.first() - pts.center); - gp_Vec endVec = DrawUtil::to(pts.arcEnds.second() - pts.center); + gp_Vec startVec = Base::convertTo(pts.arcEnds.first() - pts.center); + gp_Vec endVec = Base::convertTo(pts.arcEnds.second() - pts.center); double angle = startVec.AngleWithRef(endVec, axis.Direction().XYZ()); pts.arcCW = (angle < 0.0); } @@ -1310,15 +1311,15 @@ anglePoints DrawViewDimension::getAnglePointsTwoEdges(ReferenceVector references gp_Pnt gEnd1 = BRep_Tool::Pnt(TopExp::LastVertex(edge1)); gp_Vec gDir1(gEnd1.XYZ() - gStart1.XYZ()); Base::Vector3d vApex; - bool haveIntersection = DrawUtil::intersect2Lines3d(DrawUtil::toVector3d(gStart0), - DrawUtil::toVector3d(gDir0), - DrawUtil::toVector3d(gStart1), - DrawUtil::toVector3d(gDir1), + bool haveIntersection = DrawUtil::intersect2Lines3d(Base::convertTo(gStart0), + Base::convertTo(gDir0), + Base::convertTo(gStart1), + Base::convertTo(gDir1), vApex); if (!haveIntersection) { throw Base::RuntimeError("Geometry for 3d angle dimension does not intersect"); } - gp_Pnt gApex = DrawUtil::to(vApex); + gp_Pnt gApex = Base::convertTo(vApex); gp_Pnt gFar0 = gEnd0; if (gStart0.Distance(gApex) > gEnd0.Distance(gApex)) { @@ -1329,9 +1330,9 @@ anglePoints DrawViewDimension::getAnglePointsTwoEdges(ReferenceVector references if (gStart1.Distance(gApex) > gEnd1.Distance(gApex)) { gFar1 = gStart1; } - anglePoints pts(DrawUtil::toVector3d(gApex), - DrawUtil::toVector3d(gFar0), - DrawUtil::toVector3d(gFar1)); + anglePoints pts(Base::convertTo(gApex), + Base::convertTo(gFar0), + Base::convertTo(gFar1)); pts.move(getViewPart()->getCurrentCentroid()); pts.project(getViewPart()); return pts; @@ -1376,9 +1377,9 @@ anglePoints DrawViewDimension::getAnglePointsThreeVerts(ReferenceVector referenc gp_Pnt point1 = BRep_Tool::Pnt(vertex1); TopoDS_Vertex vertex2 = TopoDS::Vertex(geometry2); gp_Pnt point2 = BRep_Tool::Pnt(vertex2); - anglePoints pts(DrawUtil::toVector3d(point1), - DrawUtil::toVector3d(point0), - DrawUtil::toVector3d(point2)); + anglePoints pts(Base::convertTo(point1), + Base::convertTo(point0), + Base::convertTo(point2)); pts.move(getViewPart()->getCurrentCentroid()); pts.project(getViewPart()); return pts; @@ -1435,7 +1436,7 @@ Base::Vector3d DrawViewDimension::getFaceCenter(const TopoDS_Face& face) { GProp_GProps props; BRepGProp::SurfaceProperties(face, props); - auto center = DrawUtil::toVector3d(props.CentreOfMass()); + auto center = Base::convertTo(props.CentreOfMass()); return center; } @@ -1718,9 +1719,9 @@ double DrawViewDimension::getArcAngle(Base::Vector3d center, Base::Vector3d star auto leg0 = startPoint - center; auto leg1 = endPoint - startPoint; auto referenceDirection = leg0.Cross(leg1); - gp_Ax1 axis{DU::to(center), DU::to(referenceDirection)}; - gp_Vec startVec = DrawUtil::to(leg0); - gp_Vec endVec = DrawUtil::to(leg1); + gp_Ax1 axis{Base::convertTo(center), Base::convertTo(referenceDirection)}; + gp_Vec startVec = Base::convertTo(leg0); + gp_Vec endVec = Base::convertTo(leg1); double angle = startVec.AngleWithRef(endVec, axis.Direction().XYZ()); return angle; } diff --git a/src/Mod/TechDraw/App/DrawViewPart.cpp b/src/Mod/TechDraw/App/DrawViewPart.cpp index 1dfc2af7ed..fbf80c1dc9 100644 --- a/src/Mod/TechDraw/App/DrawViewPart.cpp +++ b/src/Mod/TechDraw/App/DrawViewPart.cpp @@ -68,6 +68,7 @@ #include #include #include +#include #include #include @@ -312,7 +313,7 @@ GeometryObjectPtr DrawViewPart::makeGeometryForShape(TopoDS_Shape& shape) TopoDS_Shape localShape = copier.Shape(); gp_Pnt gCentroid = ShapeUtils::findCentroid(localShape, getProjectionCS()); - m_saveCentroid = DU::toVector3d(gCentroid); + m_saveCentroid = Base::convertTo(gCentroid); m_saveShape = centerScaleRotate(this, localShape, m_saveCentroid); return buildGeometryObject(localShape, getProjectionCS()); @@ -1074,7 +1075,7 @@ Base::Vector3d DrawViewPart::localVectorToDirection(const Base::Vector3d localUn { // Base::Console().Message("DVP::localVectorToDirection() - localUnit: %s\n", DrawUtil::formatVector(localUnit).c_str()); gp_Ax2 cs = localVectorToCS(localUnit); - return DrawUtil::toVector3d(cs.Direction()); + return Base::convertTo(cs.Direction()); } gp_Ax2 DrawViewPart::getProjectionCS(const Base::Vector3d pt) const @@ -1099,7 +1100,7 @@ gp_Ax2 DrawViewPart::getRotatedCS(const Base::Vector3d basePoint) const { // Base::Console().Message("DVP::getRotatedCS() - %s - %s\n", getNameInDocument(), Label.getValue()); gp_Ax2 unrotated = getProjectionCS(basePoint); - gp_Ax1 rotationAxis(DU::to(basePoint), unrotated.Direction()); + gp_Ax1 rotationAxis(Base::convertTo(basePoint), unrotated.Direction()); double angleRad = Rotation.getValue() * M_PI / 180.0; gp_Ax2 rotated = unrotated.Rotated(rotationAxis, -angleRad); return rotated; @@ -1126,7 +1127,7 @@ Base::Vector3d DrawViewPart::getCurrentCentroid() const } gp_Ax2 cs = getProjectionCS(); gp_Pnt gCenter = ShapeUtils::findCentroid(shape, cs); - return DU::toVector3d(gCenter); + return Base::convertTo(gCenter); } std::vector DrawViewPart::getSectionRefs() const diff --git a/src/Mod/TechDraw/App/DrawViewSection.cpp b/src/Mod/TechDraw/App/DrawViewSection.cpp index 615a350e91..0a1f9dc731 100644 --- a/src/Mod/TechDraw/App/DrawViewSection.cpp +++ b/src/Mod/TechDraw/App/DrawViewSection.cpp @@ -78,6 +78,7 @@ #include #include #include +#include #include #include #include @@ -968,8 +969,8 @@ ChangePointVector DrawViewSection::getChangePointsFromSectionLine() if (baseDvp) { std::pair lineEnds = sectionLineEnds(); // make start and end marks - gp_Pnt location0 = DU::to(lineEnds.first); - gp_Pnt location1 = DU::to(lineEnds.second); + gp_Pnt location0 = Base::convertTo(lineEnds.first); + gp_Pnt location1 = Base::convertTo(lineEnds.second); gp_Dir postDir = gp_Dir(location1.XYZ() - location0.XYZ()); gp_Dir preDir = postDir.Reversed(); ChangePoint startPoint(location0, preDir, postDir); @@ -1067,13 +1068,13 @@ void DrawViewSection::setCSFromLocalUnit(const Base::Vector3d localUnit) // Base::Console().Message("DVS::setCSFromLocalUnit(%s)\n", // DrawUtil::formatVector(localUnit).c_str()); gp_Dir verticalDir = getSectionCS().YDirection(); - gp_Ax1 verticalAxis(DrawUtil::to(SectionOrigin.getValue()), verticalDir); + gp_Ax1 verticalAxis(Base::convertTo(SectionOrigin.getValue()), verticalDir); gp_Dir oldNormal = getSectionCS().Direction(); - gp_Dir newNormal = DrawUtil::to(projectPoint(localUnit)); + gp_Dir newNormal = Base::convertTo(projectPoint(localUnit)); double angle = oldNormal.AngleWithRef(newNormal, verticalDir); gp_Ax2 newCS = getSectionCS().Rotated(verticalAxis, angle); - SectionNormal.setValue(DrawUtil::toVector3d(newCS.Direction())); - XDirection.setValue(DrawUtil::toVector3d(newCS.XDirection())); + SectionNormal.setValue(Base::convertTo(newCS.Direction())); + XDirection.setValue(Base::convertTo(newCS.XDirection())); } gp_Ax2 DrawViewSection::getCSFromBase(const std::string sectionName) const diff --git a/src/Mod/TechDraw/App/Geometry.cpp b/src/Mod/TechDraw/App/Geometry.cpp index 958a54f443..eb0ca42a5b 100644 --- a/src/Mod/TechDraw/App/Geometry.cpp +++ b/src/Mod/TechDraw/App/Geometry.cpp @@ -72,6 +72,7 @@ #endif // #ifndef _PreComp_ #include +#include #include #include #include @@ -167,7 +168,7 @@ Base::Vector3d Face::getCenter() const { GProp_GProps faceProps; BRepGProp::SurfaceProperties(toOccFace(), faceProps); - return DrawUtil::toVector3d(faceProps.CentreOfMass()); + return Base::convertTo(faceProps.CentreOfMass()); } double Face::getArea() const { @@ -607,7 +608,7 @@ std::vector BaseGeom::intersection(TechDraw::BaseGeomPtr geom2) if (!sectionShape.IsNull()) { TopExp_Explorer explorer(sectionShape, TopAbs_VERTEX); while (explorer.More()) { - Base::Vector3d pt(DrawUtil::toVector3d(BRep_Tool::Pnt(TopoDS::Vertex(explorer.Current())))); + Base::Vector3d pt(Base::convertTo(BRep_Tool::Pnt(TopoDS::Vertex(explorer.Current())))); interPoints.push_back(pt); explorer.Next(); } @@ -800,9 +801,9 @@ AOC::AOC(const TopoDS_Edge &e) : Circle(e) cw = (a < 0) ? true: false; largeArc = (fabs(l-f) > M_PI) ? true : false; - startPnt = DU::toVector3d(s); - endPnt = DU::toVector3d(ePt); - midPnt = DU::toVector3d(m); + startPnt = Base::convertTo(s); + endPnt = Base::convertTo(ePt); + midPnt = Base::convertTo(m); if (e.Orientation() == TopAbs_REVERSED) { reversed = true; } @@ -848,9 +849,9 @@ AOC::AOC(Base::Vector3d c, double r, double sAng, double eAng) : Circle() cw = (a < 0) ? true: false; largeArc = (fabs(l-f) > M_PI) ? true : false; - startPnt = DU::toVector3d(s); - endPnt = DU::toVector3d(ePt); - midPnt = DU::toVector3d(m); + startPnt = Base::convertTo(s); + endPnt = Base::convertTo(ePt); + midPnt = Base::convertTo(m); if (edge.Orientation() == TopAbs_REVERSED) { reversed = true; } @@ -1379,9 +1380,9 @@ void Vertex::dump(const char* title) TopoShape Vertex::asTopoShape(double scale) { - Base::Vector3d point = DU::toVector3d(BRep_Tool::Pnt(getOCCVertex())); + Base::Vector3d point = Base::convertTo(BRep_Tool::Pnt(getOCCVertex())); point = point / scale; - BRepBuilderAPI_MakeVertex mkVert(DU::to(point)); + BRepBuilderAPI_MakeVertex mkVert(Base::convertTo(point)); return TopoShape(mkVert.Vertex()); } @@ -1529,7 +1530,7 @@ bool GeometryUtils::getCircleParms(TopoDS_Edge occEdge, double& radius, Base::Ve sumCurvature += prop.Curvature(); prop.CentreOfCurvature(curveCenter); centers.push_back(curveCenter); - sumCenter += DrawUtil::toVector3d(curveCenter); + sumCenter += Base::convertTo(curveCenter); } } @@ -1547,7 +1548,7 @@ bool GeometryUtils::getCircleParms(TopoDS_Edge occEdge, double& radius, Base::Ve double errorCenter{0}; for (auto& observe : centers) { - auto error = (DU::toVector3d(observe)- avgCenter).Length(); + auto error = (Base::convertTo(observe)- avgCenter).Length(); errorCenter += error; } @@ -1582,7 +1583,7 @@ TopoDS_Edge GeometryUtils::asCircle(TopoDS_Edge splineEdge, bool& arc) throw Base::RuntimeError("GU::asCircle received non-circular edge!"); } - gp_Pnt gCenter = DU::to(center); + gp_Pnt gCenter = Base::convertTo(center); gp_Dir gNormal{0, 0, 1}; Handle(Geom_Circle) circleFromParms = GC_MakeCircle(gCenter, gNormal, radius); @@ -1624,8 +1625,8 @@ bool GeometryUtils::isLine(TopoDS_Edge occEdge) return false; } - Base::Vector3d vs = DrawUtil::toVector3d(s); - Base::Vector3d ve = DrawUtil::toVector3d(e); + Base::Vector3d vs = Base::convertTo(s); + Base::Vector3d ve = Base::convertTo(e); double endLength = (vs - ve).Length(); int low = 0; int high = spline->NbPoles() - 1; @@ -1634,9 +1635,9 @@ bool GeometryUtils::isLine(TopoDS_Edge occEdge) double lenTotal = 0.0; for (int i = 0; i < high; i++) { gp_Pnt p1 = poles(i); - Base::Vector3d v1 = DrawUtil::toVector3d(p1); + Base::Vector3d v1 = Base::convertTo(p1); gp_Pnt p2 = poles(i+1); - Base::Vector3d v2 = DrawUtil::toVector3d(p2); + Base::Vector3d v2 = Base::convertTo(p2); lenTotal += (v2-v1).Length(); } @@ -1764,7 +1765,7 @@ std::vector GeometryUtils::findHolesInFace(const DrawViewPart* dvp, con iFace++; continue; } - auto faceCenter = DU::to(face->getCenter()); + auto faceCenter = Base::convertTo(face->getCenter()); auto faceCenterVertex = BRepBuilderAPI_MakeVertex(faceCenter); auto distance = DU::simpleMinDist(faceCenterVertex, bigCheeseOCCFace); if (distance > EWTOLERANCE) { diff --git a/src/Mod/TechDraw/App/GeometryMatcher.cpp b/src/Mod/TechDraw/App/GeometryMatcher.cpp index e680d6e4ec..0f7d26badd 100644 --- a/src/Mod/TechDraw/App/GeometryMatcher.cpp +++ b/src/Mod/TechDraw/App/GeometryMatcher.cpp @@ -90,9 +90,9 @@ bool GeometryMatcher::comparePoints(const TopoDS_Shape& shape1, const TopoDS_Sha return false; } auto vert1 = TopoDS::Vertex(shape1); - Base::Vector3d point1 = DU::toVector3d(BRep_Tool::Pnt(vert1)); + Base::Vector3d point1 = Base::convertTo(BRep_Tool::Pnt(vert1)); auto vert2 = TopoDS::Vertex(shape2); - Base::Vector3d point2 = DU::toVector3d(BRep_Tool::Pnt(vert2)); + Base::Vector3d point2 = Base::convertTo(BRep_Tool::Pnt(vert2)); return point1.IsEqual(point2, EWTOLERANCE); } @@ -179,8 +179,8 @@ bool GeometryMatcher::compareCircles(const TopoDS_Edge& edge1, const TopoDS_Edge gp_Circ circle2 = adapt2.Circle(); double radius1 = circle1.Radius(); double radius2 = circle2.Radius(); - auto center1 = DU::toVector3d(circle1.Location()); - auto center2 = DU::toVector3d(circle2.Location()); + auto center1 = Base::convertTo(circle1.Location()); + auto center2 = Base::convertTo(circle2.Location()); return DU::fpCompare(radius1, radius2, EWTOLERANCE) && center1.IsEqual(center2, EWTOLERANCE); } @@ -199,8 +199,8 @@ bool GeometryMatcher::compareEllipses(const TopoDS_Edge& edge1, const TopoDS_Edg double minor1 = ellipse1.MinorRadius(); double major2 = ellipse2.MajorRadius(); double minor2 = ellipse2.MinorRadius(); - auto center1 = DU::toVector3d(ellipse1.Location()); - auto center2 = DU::toVector3d(ellipse2.Location()); + auto center1 = Base::convertTo(ellipse1.Location()); + auto center2 = Base::convertTo(ellipse2.Location()); return (DU::fpCompare(major1, major2, EWTOLERANCE) && DU::fpCompare(minor1, minor2, EWTOLERANCE) && center1.IsEqual(center2, EWTOLERANCE)); diff --git a/src/Mod/TechDraw/App/ShapeUtils.cpp b/src/Mod/TechDraw/App/ShapeUtils.cpp index 1e134c8e93..88db95abc8 100644 --- a/src/Mod/TechDraw/App/ShapeUtils.cpp +++ b/src/Mod/TechDraw/App/ShapeUtils.cpp @@ -399,8 +399,8 @@ std::pair ShapeUtils::getEdgeEnds(TopoDS_Edge ed gp_Pnt gpFirst = BRep_Tool::Pnt(tvFirst); gp_Pnt gpLast = BRep_Tool::Pnt(tvLast); - result.first = DU::toVector3d(gpFirst); - result.second = DU::toVector3d(gpLast); + result.first = Base::convertTo(gpFirst); + result.second = Base::convertTo(gpLast); return result; } diff --git a/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp b/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp index 38ab709510..e37c3a7795 100644 --- a/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp +++ b/src/Mod/TechDraw/Gui/CommandExtensionPack.cpp @@ -1811,7 +1811,7 @@ void CmdTechDrawExtensionAreaAnnotation::activated(int iMsg) double faceArea = faceProps.Mass(); totalArea += faceArea; - center += faceArea*DrawUtil::toVector3d(faceProps.CentreOfMass()); + center += faceArea*Base::convertTo(faceProps.CentreOfMass()); } if (totalArea > 0.0) { center /= totalArea; @@ -1976,7 +1976,7 @@ void CmdTechDrawExtensionArcLengthAnnotation::activated(int iMsg) } double scale = objFeat->getScale(); - Base::Vector3d anchor = DrawUtil::invertY(DrawUtil::toVector3d(midPoint)/scale); + Base::Vector3d anchor = DrawUtil::invertY(Base::convertTo(midPoint)/scale); totalLength /= scale; // Use virtual dimension view helper to format resulting value diff --git a/src/Mod/TechDraw/Gui/DimensionValidators.cpp b/src/Mod/TechDraw/Gui/DimensionValidators.cpp index 2617ac2276..e1d29c6cb6 100644 --- a/src/Mod/TechDraw/Gui/DimensionValidators.cpp +++ b/src/Mod/TechDraw/Gui/DimensionValidators.cpp @@ -426,9 +426,9 @@ DimensionGeometry TechDraw::isValidSingleEdge3d(DrawViewPart* dvp, ReferenceEntr TopoDS_Edge occEdge = TopoDS::Edge(refShape); BRepAdaptor_Curve adapt(occEdge); if (adapt.GetType() == GeomAbs_Line) { - Base::Vector3d point0 = DU::toVector3d(BRep_Tool::Pnt(TopExp::FirstVertex(occEdge))); + Base::Vector3d point0 = Base::convertTo(BRep_Tool::Pnt(TopExp::FirstVertex(occEdge))); point0 = dvp->projectPoint(point0); - Base::Vector3d point1 = DU::toVector3d(BRep_Tool::Pnt(TopExp::LastVertex(occEdge))); + Base::Vector3d point1 = Base::convertTo(BRep_Tool::Pnt(TopExp::LastVertex(occEdge))); point1 = dvp->projectPoint(point1); Base::Vector3d line = point1 - point0; if (fabs(line.y) < FLT_EPSILON) { @@ -594,11 +594,11 @@ DimensionGeometry TechDraw::isValidMultiEdge3d(DrawViewPart* dvp, ReferenceVecto } if (edgesAll.size() == 2) { - Base::Vector3d first0 = DU::toVector3d(BRep_Tool::Pnt(TopExp::FirstVertex(edgesAll.at(0)))); - Base::Vector3d last0 = DU::toVector3d(BRep_Tool::Pnt(TopExp::LastVertex(edgesAll.at(1)))); + Base::Vector3d first0 = Base::convertTo(BRep_Tool::Pnt(TopExp::FirstVertex(edgesAll.at(0)))); + Base::Vector3d last0 = Base::convertTo(BRep_Tool::Pnt(TopExp::LastVertex(edgesAll.at(1)))); Base::Vector3d line0 = last0 - first0; - Base::Vector3d first1 = DU::toVector3d(BRep_Tool::Pnt(TopExp::FirstVertex(edgesAll.at(0)))); - Base::Vector3d last1 = DU::toVector3d(BRep_Tool::Pnt(TopExp::LastVertex(edgesAll.at(1)))); + Base::Vector3d first1 = Base::convertTo(BRep_Tool::Pnt(TopExp::FirstVertex(edgesAll.at(0)))); + Base::Vector3d last1 = Base::convertTo(BRep_Tool::Pnt(TopExp::LastVertex(edgesAll.at(1)))); Base::Vector3d line1 = last1 - first1; line0.Normalize(); line1.Normalize(); @@ -666,9 +666,9 @@ DimensionGeometry TechDraw::isValidVertexes3d(DrawViewPart* dvp, ReferenceVector || geometry1.ShapeType() != TopAbs_VERTEX) { return DimensionGeometry::isInvalid; } - Base::Vector3d point0 = DU::toVector3d(BRep_Tool::Pnt(TopoDS::Vertex(geometry0))); + Base::Vector3d point0 = Base::convertTo(BRep_Tool::Pnt(TopoDS::Vertex(geometry0))); point0 = dvp->projectPoint(point0); - Base::Vector3d point1 = DU::toVector3d(BRep_Tool::Pnt(TopoDS::Vertex(geometry1))); + Base::Vector3d point1 = Base::convertTo(BRep_Tool::Pnt(TopoDS::Vertex(geometry1))); point1 = dvp->projectPoint(point1); Base::Vector3d line = point1 - point0; if (fabs(line.y) < FLT_EPSILON) { diff --git a/src/Mod/TechDraw/Gui/TaskComplexSection.cpp b/src/Mod/TechDraw/Gui/TaskComplexSection.cpp index d41505bf42..30eab5653a 100644 --- a/src/Mod/TechDraw/Gui/TaskComplexSection.cpp +++ b/src/Mod/TechDraw/Gui/TaskComplexSection.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -501,8 +502,8 @@ bool TaskComplexSection::apply(bool forceUpdate) } else { gp_Pnt stdOrigin(0.0, 0.0, 0.0); - gp_Ax2 sectionCS(stdOrigin, DrawUtil::to(m_saveNormal), - DrawUtil::to(m_saveXDir)); + gp_Ax2 sectionCS(stdOrigin, Base::convertTo(m_saveNormal), + Base::convertTo(m_saveXDir)); if (!DrawComplexSection::canBuild(sectionCS, m_profileObject)) { Base::Console().Error( "Can not build Complex Section with this profile and direction (2)\n");