diff --git a/src/src/Rendering/Legend/ReferenceLineLegendActor.cpp b/src/src/Rendering/Legend/ReferenceLineLegendActor.cpp index 2008758..1599add 100644 --- a/src/src/Rendering/Legend/ReferenceLineLegendActor.cpp +++ b/src/src/Rendering/Legend/ReferenceLineLegendActor.cpp @@ -60,7 +60,13 @@ int ReferenceLineLegendActor::RenderOverlay(vtkViewport *viewport) { } void ReferenceLineLegendActor::BuildShape(vtkRenderer *renderer) { - if (mModifyTime == MTime)return; + QString rendererSize = QString("rendererSize:%1,%2").arg(renderer->GetRenderWindow()->GetSize()[0]).arg(renderer->GetRenderWindow()->GetSize()[1]); + QString newRenderTime = QString("%1-%2-%3-%4").arg(linePoints->GetMTime()) + .arg(rendererSize).arg(renderer->GetActiveCamera()->GetMTime()) + .arg(GetMTime()); + + if (mRenderTime == newRenderTime) + return; if (Visibility) { vtkNew pts; @@ -98,5 +104,5 @@ void ReferenceLineLegendActor::BuildShape(vtkRenderer *renderer) { shadow2D->GetMapper()->SetInputDataObject(renderData); actor2D->GetMapper()->SetInputDataObject(renderData); } - mModifyTime = MTime; + mRenderTime=newRenderTime; } diff --git a/src/src/Rendering/Legend/ReferenceLineLegendActor.h b/src/src/Rendering/Legend/ReferenceLineLegendActor.h index 9583977..64276cd 100644 --- a/src/src/Rendering/Legend/ReferenceLineLegendActor.h +++ b/src/src/Rendering/Legend/ReferenceLineLegendActor.h @@ -7,6 +7,8 @@ #include #include // for ivars +#include + class vtkRenderer; class ReferenceLineLegendActor : public vtkProp { @@ -77,7 +79,7 @@ private: ReferenceLineLegendActor(const ReferenceLineLegendActor &) = delete; void operator=(const ReferenceLineLegendActor &) = delete; - vtkTimeStamp mModifyTime; + QString mRenderTime; static bool TypeVisibility; }; diff --git a/src/src/UI/Widget/ImageView/dicomimageview.cpp b/src/src/UI/Widget/ImageView/dicomimageview.cpp index 7aef478..5480c6b 100644 --- a/src/src/UI/Widget/ImageView/dicomimageview.cpp +++ b/src/src/UI/Widget/ImageView/dicomimageview.cpp @@ -324,8 +324,6 @@ void DicomImageView::resizeEvent(QResizeEvent *event) { } QWidget::resizeEvent(event); - // force update ReferenceLine data - mImageViewer->modifiedReferenceLine(); mImageViewer->ResetZoomScaleToFitWindowSize(); mImageViewer->Render(); if (mIsCine) {