AnimPageWobble.cpp
上传用户:shxiangxiu
上传日期:2007-01-03
资源大小:1101k
文件大小:4k
源码类别:

OpenGL

开发平台:

Visual C++

  1. /////////////////////////////////////////////////////////////////////////////
  2. // AnimPageWobble.cpp : implementation file
  3. //
  4. // glOOP (OpenGL Object Oriented Programming library)
  5. // Copyright (c) Craig Fahrnbach 1997, 1998
  6. //
  7. // OpenGL is a registered trademark of Silicon Graphics
  8. //
  9. //
  10. // This program is provided for educational and personal use only and
  11. // is provided without guarantee or warrantee expressed or implied.
  12. //
  13. // Commercial use is strickly prohibited without written permission
  14. // from ImageWare Development.
  15. //
  16. // This program is -not- in the public domain.
  17. //
  18. /////////////////////////////////////////////////////////////////////////////
  19. #include "stdafx.h"
  20. #include "glOOP.h"
  21. #include "AnimationDialog.h"
  22. #ifdef _DEBUG
  23. #undef THIS_FILE
  24. static char BASED_CODE THIS_FILE[] = __FILE__;
  25. #endif
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CAnimPageWobble
  28. IMPLEMENT_DYNCREATE(CAnimPageWobble, CPropertyPage)
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CAnimPageWobble dialog construction
  31. CAnimPageWobble::CAnimPageWobble()
  32. : CPropertyPage(CAnimPageWobble::IDD)
  33. {
  34. //{{AFX_DATA_INIT(CAnimPageWobble)
  35. m_fWobbleX = 0.0f;
  36. m_fWobbleY = 0.0f;
  37. m_fWobbleZ = 0.0f;
  38. m_fLimitX = 0.0f;
  39. m_fLimitY = 0.0f;
  40. m_fLimitZ = 0.0f;
  41. m_dTimeX = 0.0;
  42. m_dTimeY = 0.0;
  43. m_dTimeZ = 0.0;
  44. //}}AFX_DATA_INIT
  45. }
  46. /////////////////////////////////////////////////////////////////////////////
  47. // CAnimPageWobble Destructor
  48. CAnimPageWobble::~CAnimPageWobble()
  49. {
  50. }
  51. void CAnimPageWobble::DoDataExchange(CDataExchange* pDX)
  52. {
  53. CPropertyPage::DoDataExchange(pDX);
  54. //{{AFX_DATA_MAP(CAnimPageWobble)
  55. DDX_Text(pDX, IDC_WOBBLE_X, m_fWobbleX);
  56. DDX_Text(pDX, IDC_WOBBLE_Y, m_fWobbleY);
  57. DDX_Text(pDX, IDC_WOBBLE_Z, m_fWobbleZ);
  58. DDX_Text(pDX, IDC_LIMIT_X, m_fLimitX);
  59. DDX_Text(pDX, IDC_LIMIT_Y, m_fLimitY);
  60. DDX_Text(pDX, IDC_LIMIT_Z, m_fLimitZ);
  61. DDX_Text(pDX, IDC_TIME_X, m_dTimeX);
  62. DDX_Text(pDX, IDC_TIME_Y, m_dTimeY);
  63. DDX_Text(pDX, IDC_TIME_Z, m_dTimeZ);
  64. //}}AFX_DATA_MAP
  65. }
  66. BEGIN_MESSAGE_MAP(CAnimPageWobble, CPropertyPage)
  67. //{{AFX_MSG_MAP(CAnimPageWobble)
  68. //}}AFX_MSG_MAP
  69. END_MESSAGE_MAP()
  70. /////////////////////////////////////////////////////////////////////////////
  71. // CAnimPageWobble message handlers
  72. BOOL CAnimPageWobble::OnInitDialog() 
  73. {
  74. // Set our local values to the Objects' values
  75. if(m_pAnimation)
  76. {
  77. m_fWobbleX = m_pAnimation->m_fWobbleX;
  78. m_fWobbleY = m_pAnimation->m_fWobbleY;
  79. m_fWobbleZ = m_pAnimation->m_fWobbleZ;
  80. m_fLimitX = m_pAnimation->m_fLimitX;
  81. m_fLimitY = m_pAnimation->m_fLimitY;
  82. m_fLimitZ = m_pAnimation->m_fLimitZ;
  83. m_dTimeX = m_pAnimation->m_dSpeedX;
  84. m_dTimeY = m_pAnimation->m_dSpeedY;
  85. m_dTimeZ = m_pAnimation->m_dSpeedZ;
  86. }
  87. CPropertyPage::OnInitDialog();  // let the base class do the default work
  88. return TRUE;  // return TRUE unless you set the focus to a control
  89.               // EXCEPTION: OCX Property Pages should return FALSE
  90. }
  91. void CAnimPageWobble::OnOK() 
  92. {
  93. // Dialog box is being initialized (FALSE)
  94. // or data is being retrieved (TRUE).
  95. UpdateData(TRUE);
  96. // Set our Objects' values to the local values
  97. if(m_pAnimation)
  98. {
  99. m_pAnimation->m_fWobbleX = m_fWobbleX;
  100. m_pAnimation->m_fWobbleY = m_fWobbleY;
  101. m_pAnimation->m_fWobbleZ = m_fWobbleZ;
  102. m_pAnimation->m_fLimitX = m_fLimitX;
  103. m_pAnimation->m_fLimitY = m_fLimitY;
  104. m_pAnimation->m_fLimitZ = m_fLimitZ;
  105. m_pAnimation->m_dSpeedX = m_dTimeX;
  106. m_pAnimation->m_dSpeedY = m_dTimeY;
  107. m_pAnimation->m_dSpeedZ = m_dTimeZ;
  108. }
  109. CPropertyPage::OnOK();
  110. }