📄 fmwnd3dmpr.h
字号:
#if !defined(AFX_FMWND3DMPR_H__7F301613_5A9A_4173_ABC8_7496F366B62C__INCLUDED_)#define AFX_FMWND3DMPR_H__7F301613_5A9A_4173_ABC8_7496F366B62C__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000// FMWnd3DMPR.h : header file///////////////////////////////////////////////////////////////////////////////// RxFMWnd3DMPR window#include "FMWnd.h"#include "Vect4D.h"#include "Matrix4D.h"#include "Dib.h"#include "primitive.h"#include "RayCastingCommonInfo.h"class RxFMWnd3DMPR : public RxFMWnd{// Constructionpublic: RxFMWnd3DMPR(UINT nSeries);// Attributesprotected: float m_fRatioRef; CPoint m_StartPt, m_EndPt; CPtrArray m_apSamplePt; // 角力 MPR阑 躲 锭 荤侩窍绰 sample point// unsigned short *m_pnRawMPRImage; // Raw MPR image CSize m_szMPRImage; CSize m_szDIB; CSize m_szWindow; CSize m_szOriginal; int m_iMPRThickness; int m_iZoomFactor; int m_iWindowingLevel; int m_iWindowingWidth; RxDib *m_pDib; CPoint m_ptPanOffset; CPoint m_ptOld; BOOL m_bUpdateMPR;// Operationspublic: void ApplyMixingRatio(float fRatioOfRef); void RedrawWnd(BOOL bUpdateMPR, BOOL bUpdateZoom = FALSE); protected: BOOL MakeMixedDibForFusion(unsigned int* pRefMap, unsigned short* pFittedFltMap, CSize szFittedCombizeImg, CSize &szDib); BOOL UpdateMPRImage(BOOL bUpdateZoom); void Init_ZoomFactor (CSize& szMPRImage); unsigned short* GetRawMPRImage(RxMatrix4D mxInvViewing, double uMin, double uMax, double vMin, double vMax, int nZMin, int nZMax, double fRatioZ, int nThickness, int nResetMode, CSize &szImage, int nModeMPR, int iLevel, int &xStride, int &yStride, BOOL &bRotated, BOOL &bXMirror, BOOL &bYMirror, BOOL b2DMPRMode= FALSE); unsigned short* GetMPRData(RxMatrix4D mxViewing, CPtrArray *pSamplePt, int nZMin, int nZMax, double fRatioZ, int nMPRThickness, CSize &szImage, int nModeMPR, int level, BYTE *pbMPRDirection, int &xStride, int &yStride, BOOL &bRotated, BOOL &bXMirror, BOOL &bYMirror); unsigned short* GetFittedFltData(RxRayCastingCommonInfo *pFltInfo, RxRayCastingCommonInfo *pRefInfo, CPtrArray *pSamplePt, int nZMin, int nZMax, double fFltRatioZ, double fRefRatioZ, int nMPRThickness, CSize szImage, CSize szFittedImage, int nModeMPR, int level, int &xStride, int &yStride, BOOL &bRotated, BOOL &bXMirror, BOOL &bYMirror); int AdjustMouseOffset4Zoom(int iOffset); CPoint VP2IP(RxPoint2D <double> ptVolume); RxPoint2D<double> IP2VP(CPoint ptImage); void ChangeZoomFactorByDiff(int iDiff); void PerformWindowingByOffset(CPoint ptOffset); CPoint CalcuPtOrigin(); BOOL GetMPRDirection(int iXSign, int iYSign, int &xStride, int &yStride, int &bRotated, int &bXMirror, int &bYMirror, CSize& szImage); short trilinear(double x, double y, double z, int nSeries); void SetStartEndPt(CPoint ptSlantCenter, int nAngle, CSize szView); void RemoveSamplePt();// Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(RxFMWnd3DMPR) //}}AFX_VIRTUAL virtual void OnActivateWnd(BOOL bActivate, CWnd *pCurWnd, CWnd *pOldWnd);// Implementationpublic: virtual ~RxFMWnd3DMPR(); // Generated message map functionsprotected: //{{AFX_MSG(RxFMWnd3DMPR) afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnPaint(); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnRButtonDown(UINT nFlags, CPoint point); afx_msg void OnRButtonUp(UINT nFlags, CPoint point); afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); //}}AFX_MSG afx_msg void OnBtnMin(); DECLARE_MESSAGE_MAP()};///////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}// Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_FMWND3DMPR_H__7F301613_5A9A_4173_ABC8_7496F366B62C__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -