Ejemplo n.º 1
0
bool OrSpans::initSpanQueue(int32_t target) {
    queue = newLucene<SpanQueue>(query->clauses.size());
    for (Collection<SpanQueryPtr>::iterator clause = query->clauses.begin(); clause != query->clauses.end(); ++clause) {
        SpansPtr spans((*clause)->getSpans(reader));
        if ((target == -1 && spans->next()) || (target != -1 && spans->skipTo(target))) {
            queue->add(spans);
        }
    }
    return !queue->empty();
}
Ejemplo n.º 2
0
void Rasterizer::DrawSpanBetweenBuffers()
{
	for ( int i = 0; i < _height; i++)
	{
		if ( _leftBounds[i] == (_width + 1) && _rightBounds[i] == -1 )
		{
			continue;
		}
		Span spans(_leftColor[i], _leftBounds[i], _leftZBounds[i], _leftUBounds[i], _leftVBounds[i], _leftWBounds[i], 
			       _rightColor[i], _rightBounds[i], _rightZBounds[i], _rightUBounds[i], _rightVBounds[i], _rightWBounds[i]);
		DrawSpan(spans, i);
	}
}
Ejemplo n.º 3
0
static PyObject* pyDrawableSpans_buildDIIndex(pyDrawableSpans* self, PyObject* args) {
    PyObject* list;
    if (!PyArg_ParseTuple(args, "O", &list)) {
        PyErr_SetString(PyExc_TypeError, "buildDIIndex expects a sequence of plGeometrySpan");
        return NULL;
    }
    if (!PySequence_Check(list)) {
        PyErr_SetString(PyExc_TypeError, "buildDIIndex expects a sequence of plGeometrySpan");
        return NULL;
    }

    std::vector<std::shared_ptr<plGeometrySpan> > spans(PySequence_Size(list));
    for (size_t i = 0; i < spans.size(); ++i) {
        PyObject* o = PySequence_Fast_GET_ITEM(list, i);
        if (pyGeometrySpan_Check(o))
            spans[i] = ((pyGeometrySpan*)o)->fThis;
        else {
            PyErr_SetString(PyExc_TypeError, "buildDIIndex expects a sequence of plGeometrySpan");
            return NULL;
        }
    }
    return PyInt_FromLong(self->fThis->buildDIIndex(spans));
}
Ejemplo n.º 4
0
 void print(std::ostream& out) const {
   out << '[' << type() << " spans=" << spans() << " multiple=" << multiple() << ']';
 }