MCPcopy Create free account
hub / github.com/FreeCAD/FreeCAD / getVertexBySelection

Method getVertexBySelection

src/Mod/TechDraw/App/DrawViewPartPyImp.cpp:931–956  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

929}
930
931PyObject* DrawViewPartPy::getVertexBySelection(PyObject *args)
932{
933 int vertexIndex = 0;
934 const char* selName{}; //Selection routine name - "Vertex0"
935 if (!PyArg_ParseTuple(args, "s", &selName)) {
936 return nullptr;
937 }
938
939 vertexIndex = DrawUtil::getIndexFromName(std::string(selName));
940 DrawViewPart* dvp = getDrawViewPartPtr();
941
942 //this is scaled and +Yup
943 //need unscaled and +Ydown
944 TechDraw::VertexPtr vert = dvp->getProjVertexByIndex(vertexIndex);
945 if (!vert) {
946 PyErr_SetString(PyExc_ValueError, "Wrong vertex index");
947 return nullptr;
948 }
949
950 Base::Vector3d point = DrawUtil::invertY(vert->point()) / dvp->getScale();
951 gp_Pnt gPoint(point.x, point.y, point.z);
952 BRepBuilderAPI_MakeVertex mkVertex(gPoint);
953 TopoDS_Vertex outVertex = mkVertex.Vertex();
954
955 return new Part::TopoShapeVertexPy(new Part::TopoShape(outVertex));
956}
957
958PyObject* DrawViewPartPy::projectPoint(PyObject *args)
959{

Callers 1

getSelVertexesFunction · 0.80

Calls 4

getProjVertexByIndexMethod · 0.80
pointMethod · 0.45
getScaleMethod · 0.45
VertexMethod · 0.45

Tested by

no test coverage detected