PyObject* GeometrySurfacePy::vIso(PyObject * args)
{
    double v;
    if (!PyArg_ParseTuple(args, "d", &v))
        return 0;

    try {
        Handle_Geom_Surface surf = Handle_Geom_Surface::DownCast
            (getGeometryPtr()->handle());
        Handle_Geom_Curve c = surf->VIso(v);
        if (c->IsKind(STANDARD_TYPE(Geom_Line))) {
            Handle_Geom_Line aLine = Handle_Geom_Line::DownCast(c);
            GeomLineSegment* line = new GeomLineSegment();
            Handle_Geom_TrimmedCurve this_curv = Handle_Geom_TrimmedCurve::DownCast
                (line->handle());
            Handle_Geom_Line this_line = Handle_Geom_Line::DownCast
                (this_curv->BasisCurve());
            this_line->SetLin(aLine->Lin());
            return new LinePy(line);
        }
        else {
            return Py::new_reference_to(makeGeometryCurvePy(c));
        }
    }
    catch (Standard_Failure) {
        Handle_Standard_Failure e = Standard_Failure::Caught();
        PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
        return 0;
    }
}
PyObject* PlanePy::vIso(PyObject * args)
{
    double v;
    if (!PyArg_ParseTuple(args, "d", &v))
        return 0;

    try {
        Handle_Geom_Plane plane = Handle_Geom_Plane::DownCast
            (getGeomPlanePtr()->handle());
        Handle_Geom_Line c = Handle_Geom_Line::DownCast(plane->VIso(v));
        GeomLine* line = new GeomLine();
        Handle_Geom_Line this_curv = Handle_Geom_Line::DownCast
            (line->handle());
        this_curv->SetLin(c->Lin());
        return new LinePy(line);
    }
    catch (Standard_Failure) {
        Handle_Standard_Failure e = Standard_Failure::Caught();
        PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
        return 0;
    }
}
PyObject* ConePy::uIso(PyObject * args)
{
    double u;
    if (!PyArg_ParseTuple(args, "d", &u))
        return 0;

    try {
        Handle_Geom_ConicalSurface cone = Handle_Geom_ConicalSurface::DownCast
            (getGeomConePtr()->handle());
        Handle_Geom_Line c = Handle_Geom_Line::DownCast(cone->UIso(u));
        GeomLine* line = new GeomLine();
        Handle_Geom_Line this_curv = Handle_Geom_Line::DownCast
            (line->handle());
        this_curv->SetLin(c->Lin());
        return new LinePy(line);
    }
    catch (Standard_Failure) {
        Handle_Standard_Failure e = Standard_Failure::Caught();
        PyErr_SetString(PartExceptionOCCError, e->GetMessageString());
        return 0;
    }
}
Example #4
0
PyObject* PlanePy::uIso(PyObject * args)
{
    double u;
    if (!PyArg_ParseTuple(args, "d", &u))
        return 0;

    try {
        Handle_Geom_Plane plane = Handle_Geom_Plane::DownCast
            (getGeomPlanePtr()->handle());
        Handle_Geom_Line c = Handle_Geom_Line::DownCast(plane->UIso(u));
        GeomLineSegment* line = new GeomLineSegment();
        Handle_Geom_TrimmedCurve this_curv = Handle_Geom_TrimmedCurve::DownCast
            (line->handle());
        Handle_Geom_Line this_line = Handle_Geom_Line::DownCast
            (this_curv->BasisCurve());
        this_line->SetLin(c->Lin());
        return new LinePy(line);
    }
    catch (Standard_Failure) {
        Handle_Standard_Failure e = Standard_Failure::Caught();
        PyErr_SetString(PyExc_Exception, e->GetMessageString());
        return 0;
    }
}