Esempio n. 1
0
PyObject *Any_BPy_Interface1D_from_Interface1D(Interface1D& if1D)
{
	if (typeid(if1D) == typeid(ViewEdge)) {
		return BPy_ViewEdge_from_ViewEdge(dynamic_cast<ViewEdge&>(if1D));
	}
	else if (typeid(if1D) == typeid(Chain)) {
		return BPy_Chain_from_Chain(dynamic_cast<Chain&>(if1D));
	}
	else if (typeid(if1D) == typeid(Stroke)) {
		return BPy_Stroke_from_Stroke(dynamic_cast<Stroke&>(if1D));
	}
	else if (typeid(if1D) == typeid(FEdgeSharp)) {
		return BPy_FEdgeSharp_from_FEdgeSharp(dynamic_cast<FEdgeSharp&>(if1D));
	}
	else if (typeid(if1D) == typeid(FEdgeSmooth)) {
		return BPy_FEdgeSmooth_from_FEdgeSmooth(dynamic_cast<FEdgeSmooth&>(if1D));
	}
	else if (typeid(if1D) == typeid(FEdge)) {
		return BPy_FEdge_from_FEdge(dynamic_cast<FEdge&>(if1D));
	}
	else if (typeid(if1D) == typeid(Interface1D)) {
		return BPy_Interface1D_from_Interface1D(if1D);
	}
	string msg("unexpected type: " + if1D.getExactTypeName());
	PyErr_SetString(PyExc_TypeError, msg.c_str());
	return NULL;
}
Esempio n. 2
0
PyObject *BPy_directedViewEdge_from_directedViewEdge(ViewVertex::directedViewEdge& dve)
{
	PyObject *py_dve = PyTuple_New(2);
	PyTuple_SET_ITEM(py_dve, 0, BPy_ViewEdge_from_ViewEdge(*(dve.first)));
	PyTuple_SET_ITEM(py_dve, 1, PyBool_from_bool(dve.second));
	return py_dve;
}
Esempio n. 3
0
static PyObject *FEdge_viewedge_get(BPy_FEdge *self, void *UNUSED(closure))
{
	ViewEdge *ve = self->fe->viewedge();
	if (ve)
		return BPy_ViewEdge_from_ViewEdge(*ve);
	Py_RETURN_NONE;
}
Esempio n. 4
0
static PyObject *ChainingIterator_object_get(BPy_ChainingIterator *self, void *UNUSED(closure))
{
	ViewEdge *ve = self->c_it->operator*();
	if (ve)
		return BPy_ViewEdge_from_ViewEdge(*ve);

	Py_RETURN_NONE;
}
static PyObject *AdjacencyIterator_iternext(BPy_AdjacencyIterator *self)
{
	if (self->a_it->isEnd()) {
		PyErr_SetNone(PyExc_StopIteration);
		return NULL;
	}
	ViewEdge *ve = self->a_it->operator*();
	self->a_it->increment();
	return BPy_ViewEdge_from_ViewEdge(*ve);
}
static PyObject *AdjacencyIterator_object_get(BPy_AdjacencyIterator *self, void *UNUSED(closure))
{
	if (self->a_it->isEnd()) {
		PyErr_SetString(PyExc_RuntimeError, "iteration has stopped");
		return NULL;
	}
	ViewEdge *ve = self->a_it->operator*();
	if (ve)
		return BPy_ViewEdge_from_ViewEdge(*ve);
	Py_RETURN_NONE;
}
Esempio n. 7
0
static PyObject *Operators_get_viewedge_from_index(BPy_Operators * /*self*/, PyObject *args, PyObject *kwds)
{
    static const char *kwlist[] = {"i", NULL};
    unsigned int i;

    if (!PyArg_ParseTupleAndKeywords(args, kwds, "I", (char **)kwlist, &i))
        return NULL;
    if (i >= Operators::getViewEdgesSize()) {
        PyErr_SetString(PyExc_IndexError, "index out of range");
        return NULL;
    }
    return BPy_ViewEdge_from_ViewEdge(*(Operators::getViewEdgeFromIndex(i)));
}