⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 framemain.cpp

📁 3D reconstruction, medical image processing from colons, using intel image processing for based clas
💻 CPP
📖 第 1 页 / 共 3 页
字号:
				m_pFMWndVR[RXSERIES_COM]->ShowDlgMixing(TRUE);			}		}		UpdateWindow();	}}void RxFrameMain::RecalcLayout(int nRecalc){	int			nCurMainMenu = RxGetCurMainMenu();	if(nCurMainMenu == IDF_TOP_3DFUSION)		Frame3DF_Recalc(nRecalc);}/////////////////////////////////////////////////////////////////////////////void RxFrameMain::Frame3DF_InitSplitter(){	m_n3DFMatrix		= FRAME_MATRIX_32;	m_n3DFSeries		= RXSERIES_REF;	m_b3DFMPR			= FALSE;	m_n3DFLocalMin		= -1;	m_n3DFLocalMax		= -1;	m_nTBCurMode		= BTN_ZOOM;	m_pSpFrame3DF0_X1->Unbind();	m_pSpFrame3DF0_X1->BindToView(this, 200, 200);	m_pSpFrame3DF0_X1->AttachAsLeftPane(IDF_MAIN_WND_VR_R);	m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_WND_3DLOCALA_R);	m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_SPB_3DF0_Y1);	m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_WND_3DLOCALC_R);	m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_SPB_3DF0_Y2);	m_pSpFrame3DF0_X1->AttachAsRightPane(IDF_MAIN_WND_3DLOCALS_R);	m_pSpFrame3DF0_Y1->Unbind();	m_pSpFrame3DF0_Y1->BindToView(this, 18, 18);	m_pSpFrame3DF0_Y1->AttachAsTopPane(IDF_MAIN_WND_3DLOCALA_R);	m_pSpFrame3DF0_Y1->AttachAsBottomPane(IDF_MAIN_WND_3DLOCALC_R);	m_pSpFrame3DF0_Y2->Unbind();	m_pSpFrame3DF0_Y2->BindToView(this, 18, 18);	m_pSpFrame3DF0_Y2->AttachAsTopPane(IDF_MAIN_WND_3DLOCALC_R);	m_pSpFrame3DF0_Y2->AttachAsBottomPane(IDF_MAIN_WND_3DLOCALS_R);	m_pSpFrame3DF1_X1->Unbind();	m_pSpFrame3DF1_X1->BindToView(this, 200, 200);	m_pSpFrame3DF1_X1->AttachAsLeftPane(IDF_MAIN_WND_VR_R);	m_pSpFrame3DF1_X1->AttachAsRightPane(IDF_MAIN_WND_3DLOCALA_R);}void RxFrameMain::Frame3DF_InitVRWnd(){	m_pFMWndVR[2]->VR_Initialize();}void RxFrameMain::Frame3DF_OnChangedMenu(){	int nSeries = RxGetCurSeries();	if(nSeries != m_n3DFSeries)		m_n3DFSeries = nSeries;	Frame3DF_FrameShow();}void RxFrameMain::Frame3DF_OnChangedSeries(int nCurSeries){	// yeni 2004.04.23	// for drawing red/blue edge in localizer//	if(m_nTBCurMode == BTN_3DSRG)//		m_nTBCurMode = BTN_PAN;	if(m_n3DFSeries == nCurSeries)		return;	if(m_n3DFSeries == RXSERIES_COM && m_pFMWndVR[RXSERIES_COM]->GetBtnMixing())		m_pFMWndVR[RXSERIES_COM]->ShowDlgMixing(FALSE);	Frame3DF_FrameHide(FALSE);	// update localizer slider position	int		nMinPo, nMaxPo;	m_pFMWnd3DLocalA[m_n3DFSeries]->GetSliderPos(nMinPo, nMaxPo);	m_pFMWnd3DLocalA[nCurSeries]->SetSliderPos(nMinPo, nMaxPo, TRUE);	m_pFMWnd3DLocalC[m_n3DFSeries]->GetSliderPos(nMinPo, nMaxPo);	m_pFMWnd3DLocalC[nCurSeries]->SetSliderPos(nMinPo, nMaxPo, TRUE);	m_pFMWnd3DLocalS[m_n3DFSeries]->GetSliderPos(nMinPo, nMaxPo);	m_pFMWnd3DLocalS[nCurSeries]->SetSliderPos(nMinPo, nMaxPo, TRUE);	m_n3DFSeries = nCurSeries;	if(m_n3DFSeries == RXSERIES_COM && m_pFMWndVR[RXSERIES_COM]->GetBtnMixing())		m_pFMWndVR[RXSERIES_COM]->ShowDlgMixing(TRUE);	CRect		rcOldVR, rcNewVR;	m_pFMWndVR[m_n3DFSeries]->GetWindowRect(rcOldVR);	m_pFMWndVR[m_n3DFSeries]->ReCalMeasureVolume(FALSE);	Frame3DF_FrameShow();	m_pFMWndVR[m_n3DFSeries]->GetWindowRect(rcNewVR);	// 矫府令 傈券矫 OnSize 溜 拳搁俊 Volume俊 措茄 Update啊 登绢 乐瘤 救栏搁 荐悼栏肺 秦霖促.	if(rcOldVR == rcNewVR)	{		if(m_nTBCurMode == BTN_3DMPR_BASIC)			theFMDocVR.MPR_Initialize(CSize(rcNewVR.Width(), rcNewVR.Height()));		m_pFMWndVR[m_n3DFSeries]->RedrawWnd(TRUE);	}	if(m_n3DFSeries == RXSERIES_COM){		m_pFMWnd3DMPR[m_n3DFSeries]->RedrawWnd(TRUE);		if(m_nTBCurMode == BTN_MEASURE_DISTANCE || m_nTBCurMode == BTN_MEASURE_AREA ||			m_nTBCurMode == BTN_MEASURE_VOLUME)			m_nTBCurMode = BTN_ZOOM;	}	}void RxFrameMain::Frame3DF_OnChangedMatrix(int nMatrix){	if(m_n3DFMatrix == nMatrix)		return;	Frame3DF_FrameHide();	m_n3DFMatrix = nMatrix;	Frame3DF_FrameShow();}void RxFrameMain::Frame3DF_FrameShow(){	if(m_n3DFMatrix == FRAME_MATRIX_12)	{		if(m_n3DFSeries == RXSERIES_REF)		{			m_pSpFrame3DF1_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_R);			if(m_b3DFMPR)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DMPR_R);			else if(m_n3DFLocalMax == 0)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_R);			else if(m_n3DFLocalMax == 1)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_R);			else if(m_n3DFLocalMax == 2)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_R);		}		else if(m_n3DFSeries == RXSERIES_FLT)		{			m_pSpFrame3DF1_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_F);			if(m_b3DFMPR)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DMPR_F);			else if(m_n3DFLocalMax == 0)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_F);			else if(m_n3DFLocalMax == 1)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_F);			else if(m_n3DFLocalMax == 2)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_F);		}		else if(m_n3DFSeries == RXSERIES_COM)		{			m_pSpFrame3DF1_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_C);			if(m_b3DFMPR)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DMPR_C);			else if(m_n3DFLocalMax == 0)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_C);			else if(m_n3DFLocalMax == 1)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_C);			else if(m_n3DFLocalMax == 2)				m_pSpFrame3DF1_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_C);		}		Frame3DF_Recalc(FRAME_RECALC_PART);		RxSetActiveWnd(m_pFMWndVR[m_n3DFSeries]);		m_pSpFrame3DF1_X1->VisibleAllPane(TRUE);	}	else if(m_n3DFMatrix == FRAME_MATRIX_32)	{		if(m_n3DFSeries == RXSERIES_REF)		{			m_pSpFrame3DF0_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_R);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_R);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(2, IDF_MAIN_WND_3DLOCALC_R);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(4, IDF_MAIN_WND_3DLOCALS_R);			m_pSpFrame3DF0_Y1->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_R);			m_pSpFrame3DF0_Y1->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_R);			m_pSpFrame3DF0_Y2->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_R);			m_pSpFrame3DF0_Y2->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_R);		}		else if(m_n3DFSeries == RXSERIES_FLT)		{			m_pSpFrame3DF0_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_F);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_F);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(2, IDF_MAIN_WND_3DLOCALC_F);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(4, IDF_MAIN_WND_3DLOCALS_F);			m_pSpFrame3DF0_Y1->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_F);			m_pSpFrame3DF0_Y1->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_F);			m_pSpFrame3DF0_Y2->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_F);			m_pSpFrame3DF0_Y2->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_F);		}		else if(m_n3DFSeries == RXSERIES_COM)		{			m_pSpFrame3DF0_X1->m_leftIDs.SetAt(0, IDF_MAIN_WND_VR_C);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_C);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(2, IDF_MAIN_WND_3DLOCALC_C);			m_pSpFrame3DF0_X1->m_rightIDs.SetAt(4, IDF_MAIN_WND_3DLOCALS_C);			m_pSpFrame3DF0_Y1->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALA_C);			m_pSpFrame3DF0_Y1->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_C);			m_pSpFrame3DF0_Y2->m_topIDs.SetAt(0, IDF_MAIN_WND_3DLOCALC_C);			m_pSpFrame3DF0_Y2->m_bottomIDs.SetAt(0, IDF_MAIN_WND_3DLOCALS_C);		}		Frame3DF_Recalc(FRAME_RECALC_PART);		RxSetActiveWnd(m_pFMWndVR[m_n3DFSeries]);		m_pSpFrame3DF0_X1->VisibleAllPane(TRUE);	}}void RxFrameMain::Frame3DF_FrameHide(BOOL bWithPane){	if(m_n3DFMatrix == FRAME_MATRIX_12)	{		if(bWithPane)			m_pSpFrame3DF1_X1->VisibleAllPane(FALSE);		else		{			m_pSpFrame3DF1_X1->VisibleLeftPane(FALSE);			m_pSpFrame3DF1_X1->VisibleRightPane(FALSE);		}	}	else if(m_n3DFMatrix == FRAME_MATRIX_32)	{		if(bWithPane)			m_pSpFrame3DF0_X1->VisibleAllPane(FALSE);		else		{			m_pSpFrame3DF0_X1->VisibleLeftPane(FALSE);			m_pSpFrame3DF0_Y1->VisibleTopPane(FALSE);			m_pSpFrame3DF0_Y2->VisibleTopPane(FALSE);			m_pSpFrame3DF0_Y2->VisibleBottomPane(FALSE);		}	}}void RxFrameMain::Frame3DF_Recalc(int nRecalc){	CRect	rcFClient;	CRect	rcSplitX1, rcSplitY1, rcSplitY2;	RxGetMainFrame()->GetFrameRectMain(rcFClient);	if(m_n3DFMatrix == FRAME_MATRIX_12)	{		m_pSpFrame3DF1_X1->GetClientRect(rcSplitX1);		if(nRecalc == FRAME_RECALC_ALL || rcSplitX1.IsRectEmpty())		{			int		nCenterX = rcFClient.CenterPoint().x;			rcSplitX1.SetRect(nCenterX-SPLIT_SIZE, rcFClient.top, nCenterX+SPLIT_SIZE, rcFClient.bottom);			m_pSpFrame3DF1_X1->MoveWindow(rcSplitX1);			}		else if(nRecalc == FRAME_RECALC_PART)		{			m_pSpFrame3DF1_X1->GetWindowRect(rcSplitX1);			ScreenToClient(rcSplitX1);		rcSplitX1.bottom = rcFClient.bottom;			m_pSpFrame3DF1_X1->MoveWindow(rcSplitX1);		}		else if(nRecalc == FRAME_RECALC_NO)		{			m_pSpFrame3DF1_X1->GetWindowRect(rcSplitX1);			ScreenToClient(rcSplitX1);		}		CWnd	*pWnd;		CRect	rcWnd;		rcWnd.SetRect(rcFClient.left, rcSplitX1.top, rcSplitX1.left, rcSplitX1.bottom);		pWnd = (CWnd *)GetDlgItem(m_pSpFrame3DF1_X1->m_leftIDs.GetAt(0));		pWnd->MoveWindow(rcWnd);		rcWnd.SetRect(rcSplitX1.right, rcSplitX1.top, rcFClient.right, rcSplitX1.bottom);		pWnd = (CWnd *)GetDlgItem(m_pSpFrame3DF1_X1->m_rightIDs.GetAt(0));		pWnd->MoveWindow(rcWnd);	}	else if(m_n3DFMatrix == FRAME_MATRIX_32)	{		m_pSpFrame3DF0_X1->GetClientRect(rcSplitX1);		if(nRecalc == FRAME_RECALC_ALL || rcSplitX1.IsRectEmpty())		{			int		nCenterX1 = (rcFClient.Width() * 7) / 10;			int		nCenterY1 = rcFClient.Height() / 3;			int		nCenterY2 = nCenterY1 * 2;			rcSplitX1.SetRect(nCenterX1-SPLIT_SIZE, rcFClient.top, nCenterX1+SPLIT_SIZE, rcFClient.bottom);			m_pSpFrame3DF0_X1->MoveWindow(rcSplitX1);			rcSplitY1.SetRect(nCenterX1+SPLIT_SIZE, nCenterY1-SPLIT_SIZE, rcFClient.right, nCenterY1+SPLIT_SIZE);			m_pSpFrame3DF0_Y1->MoveWindow(rcSplitY1);			rcSplitY2.SetRect(nCenterX1+SPLIT_SIZE, nCenterY2-SPLIT_SIZE, rcFClient.right, nCenterY2+SPLIT_SIZE);			m_pSpFrame3DF0_Y2->MoveWindow(rcSplitY2);		}		else if(nRecalc == FRAME_RECALC_PART)		{			int		nCenterY1 = rcFClient.Height() / 3;			int		nCenterY2 = nCenterY1 * 2;			int		nCenterY3 = (rcFClient.Height() - SPLIT_SIZE*4 - 18) / 2;			m_pSpFrame3DF0_X1->GetWindowRect(rcSplitX1);			ScreenToClient(rcSplitX1);		rcSplitX1.bottom = rcFClient.bottom;			m_pSpFrame3DF0_X1->MoveWindow(rcSplitX1);			if(m_n3DFLocalMin == 0)			{				rcSplitY1.left = rcSplitX1.right;				rcSplitY1.right  = rcFClient.right;				rcSplitY1.top  = rcFClient.top+18;				rcSplitY1.bottom = rcSplitY1.top+SPLIT_SIZE*2;				m_pSpFrame3DF0_Y1->MoveWindow(rcSplitY1);					rcSplitY2.left = rcSplitY1.left;				rcSplitY2.right  = rcSplitY1.right;				rcSplitY2.top  = rcSplitY1.bottom+nCenterY3;	rcSplitY2.bottom = rcSplitY2.top+SPLIT_SIZE*2;				m_pSpFrame3DF0_Y2->MoveWindow(rcSplitY2);			}			else if(m_n3DFLocalMin == 1)			{				rcSplitY1.left = rcSplitX1.right;				rcSplitY1.right  = rcFClient.right;				rcSplitY1.top  = nCenterY3;						rcSplitY1.bottom = rcSplitY1.top+SPLIT_SIZE*2;				m_pSpFrame3DF0_Y1->MoveWindow(rcSplitY1);					rcSplitY2.left = rcSplitY1.left;				rcSplitY2.right  = rcSplitY1.right;				rcSplitY2.top  = rcSplitY1.bottom+18;			rcSplitY2.bottom = rcSplitY2.top+SPLIT_SIZE*2;				m_pSpFrame3DF0_Y2->MoveWindow(rcSplitY2);			}			else if(m_n3DFLocalMin == 2)			{				rcSplitY1.left = rcSplitX1.right;				rcSplitY1.right  = rcFClient.right;				rcSplitY1.top  = nCenterY3;						rcSplitY1.bottom = rcSplitY1.top+SPLIT_SIZE*2;				m_pSpFrame3DF0_Y1->MoveWindow(rcSplitY1);					rcSplitY2.left = rcSplitY1.left;					rcSplitY2.right  = rcSplitY1.right;				rcSplitY2.top  = rcFClient.bottom-18-SPLIT_SIZE*2;	rcSplitY2.bottom = rcFClient.bottom-18;				m_pSpFrame3DF0_Y2->MoveWindow(rcSplitY2);			}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -