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

OpenGL

开发平台:

Visual C++

  1. /////////////////////////////////////////////////////////////////////////////
  2. // 3dPageTranslate.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 "3dObjectDialog.h"
  22. #ifdef _DEBUG
  23. #undef THIS_FILE
  24. static char BASED_CODE THIS_FILE[] = __FILE__;
  25. #endif
  26. //////////////////////////////////////////////////////////////////
  27. // C3dPageTranslate
  28. IMPLEMENT_DYNCREATE(C3dPageTranslate, CPropertyPage)
  29. /////////////////////////////////////////////////////////////////////////////
  30. // C3dPageTranslate dialog construction
  31. C3dPageTranslate::C3dPageTranslate()
  32. : CPropertyPage(C3dPageTranslate::IDD)
  33. {
  34. //{{AFX_DATA_INIT(C3dPageTranslate)
  35. m_fTranslateX = 0.0f;
  36. m_fTranslateY = 0.0f;
  37. m_fTranslateZ = 0.0f;
  38. //}}AFX_DATA_INIT
  39. }
  40. /////////////////////////////////////////////////////////////////////////////
  41. // C3dPageTranslate Destructor
  42. C3dPageTranslate::~C3dPageTranslate()
  43. {
  44. }
  45. void C3dPageTranslate::DoDataExchange(CDataExchange* pDX)
  46. {
  47. CPropertyPage::DoDataExchange(pDX);
  48. //{{AFX_DATA_MAP(C3dPageTranslate)
  49. DDX_Text(pDX, IDC_X_AXIS, m_fTranslateX);
  50. DDX_Text(pDX, IDC_Y_AXIS, m_fTranslateY);
  51. DDX_Text(pDX, IDC_Z_AXIS, m_fTranslateZ);
  52. //}}AFX_DATA_MAP
  53. }
  54. BEGIN_MESSAGE_MAP(C3dPageTranslate, CPropertyPage)
  55. //{{AFX_MSG_MAP(C3dPageTranslate)
  56. //}}AFX_MSG_MAP
  57. END_MESSAGE_MAP()
  58. /////////////////////////////////////////////////////////////////////////////
  59. // C3dPageTranslate message handlers
  60. BOOL C3dPageTranslate::OnInitDialog() 
  61. {
  62. // Set our local values to the Objects' values
  63. m_fTranslateX = m_pObject->m_fTranslate[0];
  64. m_fTranslateY = m_pObject->m_fTranslate[1];
  65. m_fTranslateZ = m_pObject->m_fTranslate[2];
  66. CPropertyPage::OnInitDialog();  // let the base class do the default work
  67. return TRUE;  // return TRUE unless you set the focus to a control
  68.               // EXCEPTION: OCX Property Pages should return FALSE
  69. }
  70. void C3dPageTranslate::OnOK() 
  71. {
  72. // Dialog box is being initialized (FALSE)
  73. // or data is being retrieved (TRUE).
  74. UpdateData(TRUE);
  75. // Set the Objects Translate..
  76. m_pObject->m_fTranslate[0] = m_fTranslateX;
  77. m_pObject->m_fTranslate[1] = m_fTranslateY;
  78. m_pObject->m_fTranslate[2] = m_fTranslateZ;
  79. // Force the object to rebuild its' display list
  80. m_pObject->m_bBuildLists = TRUE;
  81. CPropertyPage::OnOK();
  82. }