FEM: mesh api, add EdgesOnly and FacesOnly

This commit is contained in:
Bernd Hahnebach
2017-11-23 06:12:17 +01:00
committed by Yorik van Havre
parent 6782071c1b
commit 5d0a4e1ad9
4 changed files with 138 additions and 1 deletions

View File

@@ -22,6 +22,7 @@
#include "PreCompiled.h"
#include <algorithm>
#include <stdexcept>
#include <Base/VectorPy.h>
@@ -1029,6 +1030,18 @@ Py::Tuple FemMeshPy::getEdges(void) const
return tuple;
}
Py::Tuple FemMeshPy::getEdgesOnly(void) const
{
std::set<int> resultSet = getFemMeshPtr()->getEdgesOnly();
Py::Tuple tuple(resultSet.size());
int index = 0;
for (std::set<int>::iterator it = resultSet.begin(); it != resultSet.end(); ++it) {
tuple.setItem(index++, Py::Long(*it));
}
return tuple;
}
Py::Long FemMeshPy::getEdgeCount(void) const
{
return Py::Long(getFemMeshPtr()->getSMesh()->NbEdges());
@@ -1052,6 +1065,18 @@ Py::Tuple FemMeshPy::getFaces(void) const
return tuple;
}
Py::Tuple FemMeshPy::getFacesOnly(void) const
{
std::set<int> resultSet = getFemMeshPtr()->getFacesOnly();
Py::Tuple tuple(resultSet.size());
int index = 0;
for (std::set<int>::iterator it = resultSet.begin(); it != resultSet.end(); ++it) {
tuple.setItem(index++, Py::Long(*it));
}
return tuple;
}
Py::Long FemMeshPy::getFaceCount(void) const
{
return Py::Long(getFemMeshPtr()->getSMesh()->NbFaces());