fix crash in uIso of Sphere
This commit is contained in:
parent
c1c4a90411
commit
448ac27e56
|
@ -279,6 +279,11 @@ PyObject* GeometrySurfacePy::uIso(PyObject * args)
|
|||
Handle_Geom_Surface surf = Handle_Geom_Surface::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Handle_Geom_Curve c = surf->UIso(v);
|
||||
if (c.IsNull()) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "failed to create u iso curve");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (c->IsKind(STANDARD_TYPE(Geom_Line))) {
|
||||
Handle_Geom_Line aLine = Handle_Geom_Line::DownCast(c);
|
||||
GeomLine* line = new GeomLine();
|
||||
|
@ -308,6 +313,11 @@ PyObject* GeometrySurfacePy::vIso(PyObject * args)
|
|||
Handle_Geom_Surface surf = Handle_Geom_Surface::DownCast
|
||||
(getGeometryPtr()->handle());
|
||||
Handle_Geom_Curve c = surf->VIso(v);
|
||||
if (c.IsNull()) {
|
||||
PyErr_SetString(PyExc_RuntimeError, "failed to create v iso curve");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (c->IsKind(STANDARD_TYPE(Geom_Line))) {
|
||||
Handle_Geom_Line aLine = Handle_Geom_Line::DownCast(c);
|
||||
GeomLine* line = new GeomLine();
|
||||
|
|
|
@ -183,40 +183,12 @@ void SpherePy::setAxis(Py::Object arg)
|
|||
|
||||
PyObject *SpherePy::uIso(PyObject *args)
|
||||
{
|
||||
double v;
|
||||
if (!PyArg_ParseTuple(args, "d", &v))
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_SphericalSurface sphere = Handle_Geom_SphericalSurface::DownCast
|
||||
(getGeomSpherePtr()->handle());
|
||||
Handle_Geom_Curve c = sphere->UIso(v);
|
||||
return new CirclePy(new GeomCircle(Handle_Geom_Circle::DownCast(c)));
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
return GeometrySurfacePy::uIso(args);
|
||||
}
|
||||
|
||||
PyObject *SpherePy::vIso(PyObject *args)
|
||||
{
|
||||
double v;
|
||||
if (!PyArg_ParseTuple(args, "d", &v))
|
||||
return 0;
|
||||
|
||||
try {
|
||||
Handle_Geom_SphericalSurface sphere = Handle_Geom_SphericalSurface::DownCast
|
||||
(getGeomSpherePtr()->handle());
|
||||
Handle_Geom_Curve c = sphere->VIso(v);
|
||||
return new CirclePy(new GeomCircle(Handle_Geom_Circle::DownCast(c)));
|
||||
}
|
||||
catch (Standard_Failure) {
|
||||
Handle_Standard_Failure e = Standard_Failure::Caught();
|
||||
PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
|
||||
return 0;
|
||||
}
|
||||
return GeometrySurfacePy::vIso(args);
|
||||
}
|
||||
|
||||
PyObject *SpherePy::getCustomAttributes(const char* /*attr*/) const
|
||||
|
|
Loading…
Reference in New Issue
Block a user