[TD]Expose getVisibleVertexes/getHiddenVertexes to Python

This commit is contained in:
wandererfan
2024-04-17 20:55:31 -04:00
committed by WandererFan
parent 1bd3379bef
commit ed6c12773e
2 changed files with 50 additions and 0 deletions

View File

@@ -18,11 +18,21 @@
<UserDocu>getVisibleEdges() - get the visible edges in the View as Part::TopoShapeEdges</UserDocu>
</Documentation>
</Methode>
<Methode Name="getVisibleVertexes">
<Documentation>
<UserDocu>getVisibleVertexes() - get the visible vertexes as App.Vector in the View's coordinate system.</UserDocu>
</Documentation>
</Methode>
<Methode Name="getHiddenEdges">
<Documentation>
<UserDocu>getHiddenEdges() - get the hidden edges in the View as Part::TopoShapeEdges</UserDocu>
</Documentation>
</Methode>
<Methode Name="getHiddenVertexes">
<Documentation>
<UserDocu>getHiddenVertexes() - get the hidden vertexes as App.Vector in the View's coordinate system.</UserDocu>
</Documentation>
</Methode>
<Methode Name="makeCosmeticVertex">
<Documentation>
<UserDocu>id = makeCosmeticVertex(p1) - add a CosmeticVertex at p1 (View coordinates). Returns unique id vertex.</UserDocu>

View File

@@ -98,6 +98,46 @@ PyObject* DrawViewPartPy::getHiddenEdges(PyObject *args)
return Py::new_reference_to(pEdgeList);
}
PyObject* DrawViewPartPy::getVisibleVertexes(PyObject *args)
{
if (!PyArg_ParseTuple(args, "")) {
return nullptr;
}
DrawViewPart* dvp = getDrawViewPartPtr();
Py::List pVertexList;
auto vertsAll = dvp->getVertexGeometry();
for (auto& vert: vertsAll) {
if (vert->getHlrVisible()) {
PyObject* pVertex = new Base::VectorPy(new Base::Vector3d(vert->point()));
pVertexList.append(Py::asObject(pVertex));
}
}
return Py::new_reference_to(pVertexList);
}
PyObject* DrawViewPartPy::getHiddenVertexes(PyObject *args)
{
if (!PyArg_ParseTuple(args, "")) {
return nullptr;
}
DrawViewPart* dvp = getDrawViewPartPtr();
Py::List pVertexList;
auto vertsAll = dvp->getVertexGeometry();
for (auto& vert: vertsAll) {
if (!vert->getHlrVisible()) {
PyObject* pVertex = new Base::VectorPy(new Base::Vector3d(vert->point()));
pVertexList.append(Py::asObject(pVertex));
}
}
return Py::new_reference_to(pVertexList);
}
PyObject* DrawViewPartPy::requestPaint(PyObject *args)
{
if (!PyArg_ParseTuple(args, "")) {