Exemplo n.º 1
0
// BinaryPredicate0D: __call__
int Director_BPy_BinaryPredicate0D___call__(BinaryPredicate0D *bp0D, Interface0D& i1, Interface0D& i2)
{
	if (!bp0D->py_bp0D) { // internal error
		PyErr_SetString(PyExc_RuntimeError, "Reference to Python object (py_bp0D) not initialized");
		return -1;
	}
	PyObject *arg1 = Any_BPy_Interface0D_from_Interface0D(i1);
	PyObject *arg2 = Any_BPy_Interface0D_from_Interface0D(i2);
	if (!arg1 || !arg2) {
		Py_XDECREF(arg1);
		Py_XDECREF(arg2);
		return -1;
	}
	PyObject *result = PyObject_CallMethod((PyObject *)bp0D->py_bp0D, "__call__", "OO", arg1, arg2);
	Py_DECREF(arg1);
	Py_DECREF(arg2);
	if (!result)
		return -1;
	int ret = PyObject_IsTrue(result);
	Py_DECREF(result);
	if (ret < 0)
		return -1;
	bp0D->result = ret;
	return 0;
}
static PyObject *Interface0DIterator_iternext(BPy_Interface0DIterator *self)
{
	if (self->reversed) {
		if (self->if0D_it->isBegin()) {
			PyErr_SetNone(PyExc_StopIteration);
			return NULL;
		}
		self->if0D_it->decrement();
	}
	else {
		if (self->if0D_it->isEnd()) {
			PyErr_SetNone(PyExc_StopIteration);
			return NULL;
		}
		if (self->at_start)
			self->at_start = false;
		else {
			self->if0D_it->increment();
			if (self->if0D_it->isEnd()) {
				PyErr_SetNone(PyExc_StopIteration);
				return NULL;
			}
		}
	}
	Interface0D *if0D = self->if0D_it->operator->();
	return Any_BPy_Interface0D_from_Interface0D(*if0D);
}
static PyObject *Interface0DIterator_object_get(BPy_Interface0DIterator *self, void *UNUSED(closure))
{
	if (self->if0D_it->isEnd()) {
		PyErr_SetString(PyExc_RuntimeError, "iteration has stopped");
		return NULL;
	}
	return Any_BPy_Interface0D_from_Interface0D(self->if0D_it->operator*());
}
Exemplo n.º 4
0
static PyObject *Interface0DIterator_object_get(BPy_Interface0DIterator *self, void *UNUSED(closure))
{
	return Any_BPy_Interface0D_from_Interface0D(self->if0D_it->operator*());
}