Py: replace BaseExceptionFreeCADError with more suitable exception types

This commit is contained in:
wmayer
2022-03-17 13:54:23 +01:00
parent d84fd8a2df
commit d69defaa3c
38 changed files with 148 additions and 133 deletions

View File

@@ -96,7 +96,7 @@ int FemMeshPy::PyInit(PyObject* args, PyObject* /*kwd*/)
}
}
catch (const Base::Exception &e) {
PyErr_SetString(Base::BaseExceptionFreeCADError,e.what());
e.setPyException();
return -1;
}
catch (const std::exception &e) {
@@ -652,15 +652,9 @@ PyObject* FemMeshPy::setTransform(PyObject *args)
if (!PyArg_ParseTuple(args, "O!", &(Base::PlacementPy::Type), &ptr))
return 0;
try {
Base::Placement* placement = static_cast<Base::PlacementPy*>(ptr)->getPlacementPtr();
Base::Matrix4D mat = placement->toMatrix();
getFemMeshPtr()->transformGeometry(mat);
}
catch (const std::exception& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.what());
return 0;
}
Base::Placement* placement = static_cast<Base::PlacementPy*>(ptr)->getPlacementPtr();
Base::Matrix4D mat = placement->toMatrix();
getFemMeshPtr()->transformGeometry(mat);
Py_Return;
}
@@ -674,7 +668,7 @@ PyObject* FemMeshPy::getFacesByFace(PyObject *args)
try {
const TopoDS_Shape& sh = static_cast<Part::TopoShapeFacePy*>(pW)->getTopoShapePtr()->getShape();
if (sh.IsNull()) {
PyErr_SetString(Base::BaseExceptionFreeCADError, "Face is empty");
PyErr_SetString(PyExc_ValueError, "Face is empty");
return 0;
}
@@ -689,7 +683,7 @@ PyObject* FemMeshPy::getFacesByFace(PyObject *args)
return Py::new_reference_to(ret);
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -704,7 +698,7 @@ PyObject* FemMeshPy::getEdgesByEdge(PyObject *args)
try {
const TopoDS_Shape& sh = static_cast<Part::TopoShapeEdgePy*>(pW)->getTopoShapePtr()->getShape();
if (sh.IsNull()) {
PyErr_SetString(Base::BaseExceptionFreeCADError, "Edge is empty");
PyErr_SetString(PyExc_ValueError, "Edge is empty");
return 0;
}
@@ -719,7 +713,7 @@ PyObject* FemMeshPy::getEdgesByEdge(PyObject *args)
return Py::new_reference_to(ret);
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -733,7 +727,7 @@ PyObject* FemMeshPy::getVolumesByFace(PyObject *args)
try {
const TopoDS_Shape& sh = static_cast<Part::TopoShapeFacePy*>(pW)->getTopoShapePtr()->getShape();
if (sh.IsNull()) {
PyErr_SetString(Base::BaseExceptionFreeCADError, "Face is empty");
PyErr_SetString(PyExc_ValueError, "Face is empty");
return 0;
}
@@ -751,7 +745,7 @@ PyObject* FemMeshPy::getVolumesByFace(PyObject *args)
return Py::new_reference_to(ret);
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -765,7 +759,7 @@ PyObject* FemMeshPy::getccxVolumesByFace(PyObject *args)
try {
const TopoDS_Shape& sh = static_cast<Part::TopoShapeFacePy*>(pW)->getTopoShapePtr()->getShape();
if (sh.IsNull()) {
PyErr_SetString(Base::BaseExceptionFreeCADError, "Face is empty");
PyErr_SetString(PyExc_ValueError, "Face is empty");
return 0;
}
@@ -783,7 +777,7 @@ PyObject* FemMeshPy::getccxVolumesByFace(PyObject *args)
return Py::new_reference_to(ret);
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -817,7 +811,7 @@ PyObject* FemMeshPy::getNodesBySolid(PyObject *args)
const TopoDS_Shape& sh = static_cast<Part::TopoShapeSolidPy*>(pW)->getTopoShapePtr()->getShape();
const TopoDS_Solid& fc = TopoDS::Solid(sh);
if (sh.IsNull()) {
PyErr_SetString(Base::BaseExceptionFreeCADError, "Solid is empty");
PyErr_SetString(PyExc_ValueError, "Solid is empty");
return 0;
}
Py::List ret;
@@ -829,7 +823,7 @@ PyObject* FemMeshPy::getNodesBySolid(PyObject *args)
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -844,7 +838,7 @@ PyObject* FemMeshPy::getNodesByFace(PyObject *args)
const TopoDS_Shape& sh = static_cast<Part::TopoShapeFacePy*>(pW)->getTopoShapePtr()->getShape();
const TopoDS_Face& fc = TopoDS::Face(sh);
if (sh.IsNull()) {
PyErr_SetString(Base::BaseExceptionFreeCADError, "Face is empty");
PyErr_SetString(PyExc_ValueError, "Face is empty");
return 0;
}
Py::List ret;
@@ -856,7 +850,7 @@ PyObject* FemMeshPy::getNodesByFace(PyObject *args)
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -871,7 +865,7 @@ PyObject* FemMeshPy::getNodesByEdge(PyObject *args)
const TopoDS_Shape& sh = static_cast<Part::TopoShapeEdgePy*>(pW)->getTopoShapePtr()->getShape();
const TopoDS_Edge& fc = TopoDS::Edge(sh);
if (sh.IsNull()) {
PyErr_SetString(Base::BaseExceptionFreeCADError, "Edge is empty");
PyErr_SetString(PyExc_ValueError, "Edge is empty");
return 0;
}
Py::List ret;
@@ -883,7 +877,7 @@ PyObject* FemMeshPy::getNodesByEdge(PyObject *args)
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -898,7 +892,7 @@ PyObject* FemMeshPy::getNodesByVertex(PyObject *args)
const TopoDS_Shape& sh = static_cast<Part::TopoShapeVertexPy*>(pW)->getTopoShapePtr()->getShape();
const TopoDS_Vertex& fc = TopoDS::Vertex(sh);
if (sh.IsNull()) {
PyErr_SetString(Base::BaseExceptionFreeCADError, "Vertex is empty");
PyErr_SetString(PyExc_ValueError, "Vertex is empty");
return 0;
}
Py::List ret;
@@ -910,7 +904,7 @@ PyObject* FemMeshPy::getNodesByVertex(PyObject *args)
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -931,7 +925,7 @@ PyObject* FemMeshPy::getElementNodes(PyObject *args)
return Py::new_reference_to(ret);
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
}
@@ -1029,7 +1023,7 @@ PyObject* FemMeshPy::addGroup(PyObject *args)
retId = getFemMeshPtr()->addGroup(EncodedTypeString, EncodedName, theId);
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}
std::cout << "Added Group: Name: \'" << EncodedName << "\' Type: \'" << EncodedTypeString << "\' id: " << retId << std::endl;
@@ -1076,7 +1070,7 @@ PyObject* FemMeshPy::addGroupElements(PyObject *args)
getFemMeshPtr()->addGroupElements(id, int_ids);
}
catch (Standard_Failure& e) {
PyErr_SetString(Base::BaseExceptionFreeCADError, e.GetMessageString());
PyErr_SetString(Base::PyExc_FC_CADKernelError, e.GetMessageString());
return 0;
}