// DicAnnDoc.h : interface of the CDicAnnDoc class // ///////////////////////////////////////////////////////////////////////////// #if !defined(AFX_DicAnnDOC_H__F0DED84A_18C0_11D3_8952_0060087BCBA0__INCLUDED_) #define AFX_DicAnnDOC_H__F0DED84A_18C0_11D3_8952_0060087BCBA0__INCLUDED_ #include "PresStateDlg.h" #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // Displayed Area Module structure typedef struct tagDISPLAYEDAREA { L_UINT uStructSize; L_INT32* TLHCorner; // Displayed Area Top Left Hand Corner. User should allocate two L_INT32 memory units for Column\Row L_INT32* BRHCorner; // Displayed Area Top Left Hand Corner. User should allocate two L_INT32 memory units for Column\Row L_UINT uSizeMode; // Presentation Size Mode L_DOUBLE* PixelSpacing; // Presentation Pixel Spacing. User should allocate two L_DOUBLE memory units for Row spacing\Column spacing L_INT32* AspectRatio; // Presentation Pixel Aspect Ratio. User should allocate two L_INT32 memory units for Row spacing\Column spacing L_FLOAT fMagnifyRatio; // Presentation Pixel Magnification Ratio } DISPLAYEDAREA, *pDISPLAYEDAREA; class CDicAnnDoc : public CDocument { protected: // create from serialization only CDicAnnDoc(); DECLARE_DYNCREATE(CDicAnnDoc) // Attributes public: LDicomDS & GetActiveDS(){ return m_DS;} // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CDicAnnDoc) public: virtual BOOL OnNewDocument(); virtual void Serialize(CArchive& ar); virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); //}}AFX_VIRTUAL // Implementation public: CView * GetView(); LDicomDS m_CurPSDataSet; L_BOOL m_bTrueSize; L_BOOL m_bDSIsLoaded; virtual ~CDicAnnDoc(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: LDicomDS m_DS; CPresStateDlg m_PSDlg; private: L_VOID CreateTemplatePS(); L_VOID FillDefaultTemplatePS(); L_VOID AddingSingleDisplayArea(); L_VOID SetDefaulDisplayedAreaInfo(); L_VOID SetDispalyedAreaInfo(pDISPLAYEDAREA pDisplayedArea); L_VOID SetMandatoryModulesAttributes(); L_VOID SetTagPresentationLUTShape(); L_VOID SetSOPCommonDataTime(); L_VOID GenerateSeriesInstanceUID(L_UINT32 uTag); L_VOID GenerateSOPInstanceUID(L_UINT32 uTag); L_VOID CreateUniqueSeriesUID(L_CHAR* pszSeriesInstanceUID); L_VOID CreateUniqueGUID(L_CHAR* pszSOPInstanceUID); L_VOID RemoveUnNeededModule(); L_VOID RemoveCertianModule(L_UINT32 nModule); L_VOID CopyAttributeFromImage(L_UINT32 uTag, LDicomDS* pImageDS); L_VOID SetModality(); L_VOID AddSoftCopyVOILUTItem(LDicomDS* pDS); L_VOID BasicModulesAttributesFromImage(L_CHAR* pszImageName); L_VOID DoConvertLeadToDicom() ; L_VOID FreeAllDICOMAnnInPS(); // Generated message map functions protected: //{{AFX_MSG(CDicAnnDoc) afx_msg void OnUpdateFileSave(CCmdUI* pCmdUI); afx_msg void OnFileSave(); afx_msg void OnFileOpen(); afx_msg void OnPsSet(); afx_msg void OnUpdatePSSet(CCmdUI* pCmdUI); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_DicAnnDOC_H__F0DED84A_18C0_11D3_8952_0060087BCBA0__INCLUDED_)