KmgReader.h
上传用户:hell82222
上传日期:2013-12-19
资源大小:1872k
文件大小:3k
源码类别:

CAD

开发平台:

Visual C++

  1. // KmgReader.h: interface for the CKmgReader class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_KMGREADER_H__642E9E9B_5BA8_4D1D_9093_E86E8CE0E8AF__INCLUDED_)
  5. #define AFX_KMGREADER_H__642E9E9B_5BA8_4D1D_9093_E86E8CE0E8AF__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "Reader.h"
  10. #include "ProgressInfo.h"
  11. #include "DwgConverter.h"
  12. #include "CommandInfo.h"
  13. #include "DataBase.h"
  14. #include "CShow.h"
  15. #include "KmMatch.h"
  16. class CKmgReader : public CReader  
  17. {
  18. public:
  19. CKmgReader(CProgressInfo* pProgress,CCommandInfo* pCommand,CDwgConverter* pConverter);
  20. virtual ~CKmgReader();
  21. private:
  22. CProgressInfo* m_pProgress;
  23. CCommandInfo* m_pCommand;
  24. CDwgConverter* m_pConverter;
  25. public:
  26. BOOL BeginConvert(); //转换开始的初始化.
  27. BOOL Parse(); //分析文件的主函数.
  28. BOOL EndConvert(); //结束转换.
  29. private:
  30. CArray<int,int> m_aColor;//颜色
  31. CMatchList1 m_altype;//线形
  32. CMatchList2 m_alayer;//层
  33. CMatchList2 m_ablock;//块定义
  34. CMatchList5 m_ashape;//形
  35. CMatchList2 m_adimstyle;//尺寸样式
  36. CMatchList2 m_awordstyle;//文字样式
  37. short sReturnValue;
  38. private:
  39. BOOL processfile(CKmDataManager* pData);
  40. BOOL processltype(CKmDataManager* pData);
  41. BOOL processlayer(CKmDataManager* pData);
  42. BOOL processcolor(CKmDataManager* pData);
  43. BOOL processlwidth(CKmDataManager* pData);
  44. BOOL processlegend(CKmDataManager* pData);
  45. BOOL processblockdef(CKmDataManager* pData);
  46. BOOL processblockdefentity(CKmDataManager* pData);
  47. BOOL processdimstyle(CKmDataManager* pData);
  48. BOOL processwordstyle(CKmDataManager* pData);
  49. BOOL processentity(CKmDataManager* pData);
  50. BOOL processentity(CKmDataManager* pData,KmObject* pObj);
  51. BOOL processentityhead(CKmDataManager* pData,KmObject* );
  52. BOOL processentity_buf(CKmDataManager* pData,KmObject* pObj);
  53. BOOL processentity_buf_line(CKmDataManager* pData,S_LINE_BUFFER* line);
  54. BOOL processentity_buf_circle(CKmDataManager* pData,S_CIRCLE_BUFFER* circle);
  55. BOOL processentity_buf_region(CKmDataManager* pData,S_REGION* region);
  56. BOOL processentity_buf_text(CKmDataManager* pData,S_TEXT* text);
  57. BOOL processentity_dim(CKmDataManager* pData,KmObject* pObj,AD_OBJHANDLE handle);
  58. BOOL processentity_dim_blob(CDSSubst* pDSSubst,AD_VMADDR blob);
  59. BOOL processentity_dim_head(CKmDataManager* pData,KmObject* pObj);
  60. BOOL processentity_dim_simple(CKmDataManager* pData,KmObject* pObj,AD_OBJHANDLE hBlock,AD_OBJHANDLE hDimstyle,AD_VMADDR blob);
  61. BOOL processentity_dim_radius(CKmDataManager* pData,KmObject* pObj,AD_OBJHANDLE hBlock,AD_OBJHANDLE hDimstyle,AD_VMADDR blob);
  62. BOOL processentity_dim_diameter(CKmDataManager* pData,KmObject* pObj,AD_OBJHANDLE hBlock,AD_OBJHANDLE hDimstyle,AD_VMADDR blob);
  63. BOOL processentity_dim_angle(CKmDataManager* pData,KmObject* pObj,AD_OBJHANDLE hBlock,AD_OBJHANDLE hDimstyle,AD_VMADDR blob);
  64. };
  65. #endif // !defined(AFX_KMGREADER_H__642E9E9B_5BA8_4D1D_9093_E86E8CE0E8AF__INCLUDED_)