Beispiel #1
0
PyObject*  MeshPy::getPlanes(PyObject *args)
{
    float dev;
    if (!PyArg_ParseTuple(args, "f",&dev))
        return NULL;

    Mesh::MeshObject* mesh = getMeshObjectPtr();
    std::vector<Mesh::Segment> segments = mesh->getSegmentsFromType
        (Mesh::MeshObject::PLANE, Mesh::Segment(mesh,false), dev);

    Py::List s;
    for (std::vector<Mesh::Segment>::iterator it = segments.begin(); it != segments.end(); ++it) {
        const std::vector<unsigned long>& segm = it->getIndices();
        Py::List ary;
        for (std::vector<unsigned long>::const_iterator jt = segm.begin(); jt != segm.end(); ++jt) {
            ary.append(Py::Int((int)*jt));
        }
        s.append(ary);
    }

    return Py::new_reference_to(s);
}