SimplifyDiag.cpp
上传用户:lin85885
上传日期:2013-04-27
资源大小:796k
文件大小:2k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. // SimplifyDiag.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "Simplifier.h"
  5. #include "SimplifyDiag.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CSimplifyDiag dialog
  13. CSimplifyDiag::CSimplifyDiag(int nFace, CWnd* pParent /*=NULL*/)
  14. : CDialog(CSimplifyDiag::IDD, pParent)
  15. {
  16. //{{AFX_DATA_INIT(CSimplifyDiag)
  17. char tmps[80];
  18. sprintf(tmps,"原模型三角形数:  %d", nFace);
  19. m_nInputMode = 0;
  20. m_nFaceNo = nFace/5;
  21. m_fRate = 80.0f;
  22. m_sText = tmps;
  23. //}}AFX_DATA_INIT
  24. }
  25. void CSimplifyDiag::DoDataExchange(CDataExchange* pDX)
  26. {
  27. CDialog::DoDataExchange(pDX);
  28. //{{AFX_DATA_MAP(CSimplifyDiag)
  29. DDX_Control(pDX, IDC_RATE_VALUE, m_cEditRate);
  30. DDX_Control(pDX, IDC_FACE_VALUE, m_cEditFace);
  31. DDX_Radio(pDX, IDC_FACE, m_nInputMode);
  32. DDX_Text(pDX, IDC_FACE_VALUE, m_nFaceNo);
  33. DDX_Text(pDX, IDC_RATE_VALUE, m_fRate);
  34. DDV_MinMaxFloat(pDX, m_fRate, 0.f, 100.f);
  35. DDX_Text(pDX, IDC_TEXT, m_sText);
  36. //}}AFX_DATA_MAP
  37. }
  38. BEGIN_MESSAGE_MAP(CSimplifyDiag, CDialog)
  39. //{{AFX_MSG_MAP(CSimplifyDiag)
  40. ON_BN_CLICKED(IDC_FACE, OnFace)
  41. ON_BN_CLICKED(IDC_RATE, OnRate)
  42. //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44. /////////////////////////////////////////////////////////////////////////////
  45. // CSimplifyDiag message handlers
  46. void CSimplifyDiag::OnFace() 
  47. {
  48. if (m_nInputMode != 0 )
  49. {
  50. m_cEditRate.EnableWindow(FALSE);
  51. m_cEditFace.EnableWindow(TRUE);
  52. m_nInputMode = 0;
  53. }
  54. }
  55. void CSimplifyDiag::OnRate() 
  56. {
  57. if (m_nInputMode != 1 )
  58. {
  59. m_cEditRate.EnableWindow(TRUE);
  60. m_cEditFace.EnableWindow(FALSE);
  61. m_nInputMode = 1;
  62. }
  63. }
  64. BOOL CSimplifyDiag::OnInitDialog() 
  65. {
  66. CDialog::OnInitDialog();
  67. m_cEditRate.EnableWindow(FALSE);
  68. return TRUE;  // return TRUE unless you set the focus to a control
  69.               // EXCEPTION: OCX Property Pages should return FALSE
  70. }