[TechDraw] Use constructor delegation for CosmeticEdge
This commit is contained in:
committed by
WandererFan
parent
eb3a04f30e
commit
fac4e72ea4
@@ -357,41 +357,22 @@ CosmeticEdge::CosmeticEdge(CosmeticEdge* ce)
|
|||||||
initialize();
|
initialize();
|
||||||
}
|
}
|
||||||
|
|
||||||
CosmeticEdge::CosmeticEdge(Base::Vector3d pt1, Base::Vector3d pt2)
|
CosmeticEdge::CosmeticEdge(Base::Vector3d pt1, Base::Vector3d pt2) :
|
||||||
|
// 🠓 returns TopoDS_Edge
|
||||||
|
CosmeticEdge::CosmeticEdge(TopoDS_EdgeFromVectors(pt1, pt2))
|
||||||
{
|
{
|
||||||
// Base::Console().Message("CE::CE(p1,p2)\n");
|
|
||||||
Base::Vector3d p1 = DrawUtil::invertY(pt1);
|
|
||||||
Base::Vector3d p2 = DrawUtil::invertY(pt2);
|
|
||||||
gp_Pnt gp1(p1.x,p1.y,p1.z);
|
|
||||||
gp_Pnt gp2(p2.x,p2.y,p2.z);
|
|
||||||
TopoDS_Edge e = BRepBuilderAPI_MakeEdge(gp1, gp2);
|
|
||||||
m_geometry = TechDraw::BaseGeom::baseFactory(e);
|
|
||||||
permaStart = p1;
|
|
||||||
permaEnd = p2;
|
|
||||||
initialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CosmeticEdge::CosmeticEdge(TopoDS_Edge e)
|
// 🠓 returns TechDraw::BaseGeomPtr
|
||||||
|
CosmeticEdge::CosmeticEdge(TopoDS_Edge e) : CosmeticEdge(TechDraw::BaseGeom::baseFactory(e))
|
||||||
{
|
{
|
||||||
// Base::Console().Message("CE::CE(TopoDS_Edge)\n");
|
|
||||||
m_geometry = TechDraw::BaseGeom::baseFactory(e);
|
|
||||||
//we assume input edge is already in Yinverted coordinates
|
|
||||||
permaStart = m_geometry->getStartPoint();
|
|
||||||
permaEnd = m_geometry->getEndPoint();
|
|
||||||
if ((m_geometry->geomType == TechDraw::GeomType::CIRCLE) ||
|
|
||||||
(m_geometry->geomType == TechDraw::GeomType::ARCOFCIRCLE) ) {
|
|
||||||
TechDraw::CirclePtr circ = std::static_pointer_cast<TechDraw::Circle>(m_geometry);
|
|
||||||
permaStart = circ->center;
|
|
||||||
permaEnd = circ->center;
|
|
||||||
permaRadius = circ->radius;
|
|
||||||
}
|
|
||||||
initialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CosmeticEdge::CosmeticEdge(TechDraw::BaseGeomPtr g)
|
CosmeticEdge::CosmeticEdge(TechDraw::BaseGeomPtr g)
|
||||||
{
|
{
|
||||||
// Base::Console().Message("CE::CE(bg)\n");
|
// Base::Console().Message("CE::CE(bg)\n");
|
||||||
m_geometry = g;
|
m_geometry = g;
|
||||||
|
//we assume input edge is already in Yinverted coordinates
|
||||||
permaStart = m_geometry->getStartPoint();
|
permaStart = m_geometry->getStartPoint();
|
||||||
permaEnd = m_geometry->getEndPoint();
|
permaEnd = m_geometry->getEndPoint();
|
||||||
if ((g->geomType == TechDraw::GeomType::CIRCLE) ||
|
if ((g->geomType == TechDraw::GeomType::CIRCLE) ||
|
||||||
@@ -420,6 +401,17 @@ void CosmeticEdge::initialize(void)
|
|||||||
m_geometry->setCosmeticTag(getTagAsString());
|
m_geometry->setCosmeticTag(getTagAsString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TopoDS_Edge CosmeticEdge::TopoDS_EdgeFromVectors(Base::Vector3d pt1, Base::Vector3d pt2)
|
||||||
|
{
|
||||||
|
// Base::Console().Message("CE::CE(p1,p2)\n");
|
||||||
|
Base::Vector3d p1 = DrawUtil::invertY(pt1);
|
||||||
|
Base::Vector3d p2 = DrawUtil::invertY(pt2);
|
||||||
|
gp_Pnt gp1(p1.x,p1.y,p1.z);
|
||||||
|
gp_Pnt gp2(p2.x,p2.y,p2.z);
|
||||||
|
TopoDS_Edge e = BRepBuilderAPI_MakeEdge(gp1, gp2);
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
TechDraw::BaseGeomPtr CosmeticEdge::scaledGeometry(double scale)
|
TechDraw::BaseGeomPtr CosmeticEdge::scaledGeometry(double scale)
|
||||||
{
|
{
|
||||||
TechDraw::BaseGeomPtr newGeom = nullptr;
|
TechDraw::BaseGeomPtr newGeom = nullptr;
|
||||||
|
|||||||
@@ -120,6 +120,7 @@ class TechDrawExport CosmeticEdge : public Base::Persistence, public TechDraw::B
|
|||||||
TYPESYSTEM_HEADER();
|
TYPESYSTEM_HEADER();
|
||||||
public:
|
public:
|
||||||
CosmeticEdge();
|
CosmeticEdge();
|
||||||
|
CosmeticEdge(TechDraw::BaseGeomPtr* geometry);
|
||||||
CosmeticEdge(CosmeticEdge* ce);
|
CosmeticEdge(CosmeticEdge* ce);
|
||||||
CosmeticEdge(Base::Vector3d p1, Base::Vector3d p2);
|
CosmeticEdge(Base::Vector3d p1, Base::Vector3d p2);
|
||||||
CosmeticEdge(TopoDS_Edge e);
|
CosmeticEdge(TopoDS_Edge e);
|
||||||
@@ -127,6 +128,7 @@ public:
|
|||||||
virtual ~CosmeticEdge();
|
virtual ~CosmeticEdge();
|
||||||
|
|
||||||
void initialize(void);
|
void initialize(void);
|
||||||
|
TopoDS_Edge TopoDS_EdgeFromVectors(Base::Vector3d pt1, Base::Vector3d pt2);
|
||||||
TechDraw::BaseGeomPtr scaledGeometry(double scale);
|
TechDraw::BaseGeomPtr scaledGeometry(double scale);
|
||||||
|
|
||||||
virtual std::string toString(void) const;
|
virtual std::string toString(void) const;
|
||||||
|
|||||||
Reference in New Issue
Block a user