Esempio n. 1
0
void MapContext::update() {
    assert(util::ThreadContext::currentlyOn(util::ThreadType::Map));

    if (!style) {
        updateFlags = Update::Nothing;
    }

    if (updateFlags == Update::Nothing) {
        return;
    }

    data.setAnimationTime(Clock::now());

    if (updateFlags & Update::Classes) {
        style->cascade();
    }

    if (updateFlags & Update::Classes || updateFlags & Update::Zoom) {
        style->recalculate(transformState.getNormalizedZoom());
    }

    style->update(transformState, *texturePool);

    if (data.mode == MapMode::Continuous) {
        invalidateView();
    } else if (callback && isLoaded()) {
        renderSync(transformState, frameData);
    }

    updateFlags = Update::Nothing;
}
Esempio n. 2
0
void RenderWorker::render(EGS_BaseGeometry *g, struct RenderParameters p) {
    const struct RenderResults &r = renderSync(g, p);
    if (r.img.isNull()) {
        emit aborted();
        return;
    }
    emit rendered(r, p);
}
Esempio n. 3
0
 void render( RenderStatistics& statistics,
              Renderer& renderer,
              const RenderInputs& renderInputs )
 {
     init( renderInputs );
     if( renderInputs.vrParameters.getSynchronousMode( ))
         renderSync( statistics, renderer, renderInputs );
     else
         renderAsync( statistics, renderer, renderInputs );
 }
Esempio n. 4
0
 void render(const RenderParams& renderParams, PipeFilter& redrawFilter,
             PipeFilter& sendHistogramFilter, Renderer& renderer,
             NodeAvailability& availability) const
 {
     if (renderParams.vrParams.getSynchronousMode())
         renderSync(renderParams, sendHistogramFilter, renderer,
                    availability);
     else
         renderAsync(renderParams, sendHistogramFilter, renderer,
                     availability, redrawFilter);
 }
Esempio n. 5
0
void MapContext::update() {
    assert(util::ThreadContext::currentlyOn(util::ThreadType::Map));

    if (!style) {
        updateFlags = Update::Nothing;
    }

    if (updateFlags == Update::Nothing || (data.mode == MapMode::Still && !callback)) {
        return;
    }

    data.setAnimationTime(Clock::now());

    if (style->loaded && updateFlags & Update::Annotations) {
        data.getAnnotationManager()->updateStyle(*style);
        updateFlags |= Update::Classes;
    }

    if (updateFlags & Update::Classes) {
        style->cascade();
    }

    if (updateFlags & Update::Classes || updateFlags & Update::Zoom) {
        style->recalculate(transformState.getNormalizedZoom());
    }

    style->update(transformState, *texturePool);

    if (data.mode == MapMode::Continuous) {
        asyncInvalidate->send();
    } else if (callback && style->isLoaded()) {
        renderSync(transformState, frameData);
    }

    updateFlags = Update::Nothing;
}