feat: add ViewID to ImageViewer and ImageView which in ViewContainerWidget
This commit is contained in:
@@ -62,7 +62,7 @@ DICOMImageViewer::DICOMImageViewer()
|
||||
RenderWindow(nullptr), Renderer(nullptr), ImageStack(vtkImageStack::New()),
|
||||
ImageActor(vtkImageSlice::New()), ImageMapper(vtkImageSliceMapper::New()), FusionActor(nullptr),
|
||||
FusionMapper(nullptr), Interactor(nullptr), InteractorStyle(nullptr), OpacityActor(nullptr),
|
||||
cornerAnnotation(FastCornerAnnotationActor::New()), bar(nullptr),
|
||||
cornerAnnotation(FastCornerAnnotationActor::New()), bar(nullptr), ViewID(0),
|
||||
SliceIJK(-1), SlicePlane(-1), FirstRender(1), Slice(0), loadedMeasureSlice(0),
|
||||
currentPresetIndex(1), Fusion(false), firstFusion(true), FusionOpacity(0.5), list(nullptr),
|
||||
measureStore(MeasureStore::Instance()),
|
||||
|
||||
@@ -60,6 +60,10 @@ public:
|
||||
|
||||
//vtkGetMacro(m_cornerAnnotation, vtkCornerAnnotation);
|
||||
|
||||
vtkGetMacro(ViewID,vtkTypeUInt32);
|
||||
vtkSetMacro(ViewID,vtkTypeUInt32);
|
||||
|
||||
|
||||
void UpdateCornerInfo(int index);
|
||||
|
||||
void UpdateCornerInfoAll();
|
||||
@@ -445,6 +449,7 @@ private:
|
||||
vtkNew<vtkMatrix4x4> ModelToWorldMatrix;
|
||||
|
||||
DicomCornerInfo m_cornerInfo;
|
||||
uint ViewID;
|
||||
int SliceIJK;
|
||||
int SlicePlane;
|
||||
int FirstRender;
|
||||
|
||||
@@ -30,8 +30,9 @@ DicomImageView *ViewContainerWidget::getCurrentView() {
|
||||
}
|
||||
|
||||
//view layout about------------------------------------------------------------
|
||||
DicomImageView *ViewContainerWidget::addNewView() {
|
||||
DicomImageView *ViewContainerWidget::addNewView(uint aID) {
|
||||
DicomImageView *v = new DicomImageView(this);
|
||||
v->setViewID(aID);
|
||||
mViewManager->add(v);
|
||||
return v;
|
||||
}
|
||||
@@ -71,7 +72,7 @@ void ViewContainerWidget::viewLayoutChanged(int col, int row) {
|
||||
if (i * col + j < mViewManager->getViewCount()) {
|
||||
view = mViewManager->getView(i * col + j);
|
||||
} else {
|
||||
view = addNewView();
|
||||
view = addNewView(i * col + j);
|
||||
|
||||
}
|
||||
if (view->IsCine()) {
|
||||
|
||||
@@ -48,7 +48,7 @@ public slots:
|
||||
|
||||
|
||||
private:
|
||||
DicomImageView *addNewView();
|
||||
DicomImageView *addNewView(uint aID);
|
||||
|
||||
ImageViewManager* mViewManager;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "dicomimageview.h"
|
||||
#include "dicomimageview.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
#include <QDebug>
|
||||
@@ -101,6 +101,7 @@ void DicomImageView::initScrollbar() {
|
||||
void DicomImageView::initImageViewer() {
|
||||
if (!mImageViewer) {
|
||||
mImageViewer = DICOMImageViewer::New();
|
||||
mImageViewer->SetViewID(this->mViewID);
|
||||
mImageViewer->SetRenderWindow(mGLRenWin);
|
||||
mImageViewer->SetupInteractor(mGLRenWin->GetInteractor());
|
||||
}
|
||||
@@ -115,7 +116,13 @@ void DicomImageView::SyncScrollBar() {
|
||||
mScrollBar->SetValueSilently(mImageViewer->GetSlice());
|
||||
}
|
||||
|
||||
void DicomImageView::resetView() {
|
||||
void DicomImageView::setViewID(uint aID)
|
||||
{
|
||||
mViewID = aID;
|
||||
}
|
||||
|
||||
void DicomImageView::resetView()
|
||||
{
|
||||
if (hasSeries()) {
|
||||
unloadFusion();
|
||||
removeViewWithMeasure();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#ifndef OMEGAV_DICOM_IMAGE_VIEW_H
|
||||
#ifndef OMEGAV_DICOM_IMAGE_VIEW_H
|
||||
#define OMEGAV_DICOM_IMAGE_VIEW_H
|
||||
|
||||
#include <QFrame>
|
||||
@@ -57,6 +57,8 @@ public:
|
||||
return mSeries;
|
||||
}
|
||||
|
||||
void setViewID(uint aID);
|
||||
|
||||
//Reset
|
||||
void resetView();
|
||||
|
||||
@@ -342,6 +344,7 @@ private:
|
||||
bool mIsOverlay;
|
||||
bool mIsSlotInited;
|
||||
bool mIsFirstRenderAfterLoad;
|
||||
uint mViewID;
|
||||
|
||||
void initImageViewer();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user