bool ZDvidDataSliceHelper::actualContainedIn( const ZStackViewParam &viewParam, int zoom, int centerCutX, int centerCutY, bool centerCut) const { bool contained = false; if (m_currentViewParam.getViewPort().isEmpty() && !viewParam.getViewPort().isEmpty()) { if (m_currentViewParam.getSliceAxis() == neutube::EAxis::ARB) { //Must be on the same plane to be contained if (m_currentViewParam.getSliceViewParam().hasSamePlaneCenter( viewParam.getSliceViewParam())) { contained = true; } } else { if (viewParam.getZ() == m_currentViewParam.getZ()) { contained = true; } } } else if (viewParam.contains(m_currentViewParam)) { contained = ZDvidDataSliceHelper::IsResIncreasing( m_actualZoom, m_actualCenterCutWidth, m_actualCenterCutHeight, m_actualUsingCenterCut, zoom, centerCutX, centerCutY, centerCut, getWidth(), getHeight(), getMaxZoom()); } return contained; }
size_t ZDvidDataSliceHelper::GetViewDataSize( const ZStackViewParam &viewParam, int zoom) { int scale = zgeom::GetZoomScale(zoom); return viewParam.getArea() / scale / scale; }
ZStackViewParam ZDvidDataSliceHelper::getValidViewParam( const ZStackViewParam &viewParam) const { ZStackViewParam newViewParam = viewParam; int maxZoomLevel = getMaxZoom(); if (maxZoomLevel < 3) { int width = viewParam.getViewPort().width(); int height = viewParam.getViewPort().height(); if (validateSize(&width, &height)) { newViewParam.resize(width, height); } } return newViewParam; }
void ZDvidSparsevolSlicePlayer::updateData(const ZStackViewParam &viewParam) const { ZDvidSparsevolSlice *obj = getCompleteData(); if (obj != NULL) { obj->update(viewParam.getZ()); } }
bool ZDvidDataSliceHelper::hasNewView(const ZStackViewParam &viewParam) const { int maxZoomLevel = getMaxZoom(); return !m_currentViewParam.contains(viewParam) || (viewParam.getZoomLevel(maxZoomLevel) < m_currentViewParam.getZoomLevel(maxZoomLevel)); }