Py: replace BaseExceptionFreeCADError with more suitable exception types
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ PyObject* ViewProviderFemMeshPy::setNodeColorByScalars(PyObject *args)
|
||||
std::vector<double> values;
|
||||
int num_items = PyList_Size(node_ids_py);
|
||||
if (num_items < 0) {
|
||||
PyErr_SetString(Base::BaseExceptionFreeCADError, "PyList_Size < 0. That is not a valid list!");
|
||||
PyErr_SetString(PyExc_ValueError, "PyList_Size < 0. That is not a valid list!");
|
||||
Py_Return;
|
||||
}
|
||||
std::vector<App::Color> node_colors(num_items);
|
||||
@@ -99,7 +99,7 @@ PyObject* ViewProviderFemMeshPy::setNodeColorByScalars(PyObject *args)
|
||||
node_colors[i] = calcColor(*it, min, max);
|
||||
this->getViewProviderFemMeshPtr()->setColorByNodeId(ids, node_colors);
|
||||
} else {
|
||||
PyErr_SetString(Base::BaseExceptionFreeCADError, "PyArg_ParseTuple failed. Invalid arguments used with setNodeByScalars");
|
||||
PyErr_SetString(PyExc_TypeError, "PyArg_ParseTuple failed. Invalid arguments used with setNodeByScalars");
|
||||
return 0;
|
||||
}
|
||||
Py_Return;
|
||||
@@ -124,7 +124,7 @@ PyObject* ViewProviderFemMeshPy::setNodeDisplacementByVectors(PyObject *args)
|
||||
std::vector<Base::Vector3d> vectors;
|
||||
int num_items = PyList_Size(node_ids_py);
|
||||
if (num_items < 0) {
|
||||
PyErr_SetString(Base::BaseExceptionFreeCADError, "PyList_Size < 0. That is not a valid list!");
|
||||
PyErr_SetString(PyExc_ValueError, "PyList_Size < 0. That is not a valid list!");
|
||||
Py_Return;
|
||||
}
|
||||
for (int i=0; i<num_items; i++){
|
||||
@@ -137,7 +137,7 @@ PyObject* ViewProviderFemMeshPy::setNodeDisplacementByVectors(PyObject *args)
|
||||
}
|
||||
this->getViewProviderFemMeshPtr()->setDisplacementByNodeId(ids, vectors);
|
||||
} else {
|
||||
PyErr_SetString(Base::BaseExceptionFreeCADError, "PyArg_ParseTuple failed. Invalid arguments used with setNodeDisplacementByVectors");
|
||||
PyErr_SetString(PyExc_TypeError, "PyArg_ParseTuple failed. Invalid arguments used with setNodeDisplacementByVectors");
|
||||
return 0;
|
||||
}
|
||||
Py_Return;
|
||||
|
||||
Reference in New Issue
Block a user