home *** CD-ROM | disk | FTP | other *** search
/ Xentax forum attachments archive / xentax.7z / 8090 / ModelEdit.7z / LODEdit.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2006-03-08  |  1.4 KB  |  63 lines

  1. // LODEdit.cpp : implementation file
  2. //
  3.  
  4. #include "precompile.h"
  5. #include "modeledit.h"
  6. #include "lodedit.h"
  7.  
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // LODEdit dialog
  16.  
  17.  
  18. LODEdit::LODEdit(CWnd* pParent /*=NULL*/)
  19.     : CDialog(LODEdit::IDD, pParent)
  20. {
  21.     //{{AFX_DATA_INIT(LODEdit)
  22.     m_fDistance = 0.0f;
  23.     m_fReduction = 0.0f;
  24.     //}}AFX_DATA_INIT
  25. }
  26.  
  27.  
  28. void LODEdit::DoDataExchange(CDataExchange* pDX)
  29. {
  30.     CDialog::DoDataExchange(pDX);
  31.     //{{AFX_DATA_MAP(LODEdit)
  32.     DDX_Text(pDX, IDC_DISTANCE, m_fDistance);
  33.     DDV_MinMaxFloat(pDX, m_fDistance, 0.f, 1.e+006f);
  34.     DDX_Text(pDX, IDC_REDUCTION, m_fReduction);
  35.     DDV_MinMaxFloat(pDX, m_fReduction, 0.f, 100.f);
  36.     //}}AFX_DATA_MAP
  37. }
  38.  
  39.  
  40. BEGIN_MESSAGE_MAP(LODEdit, CDialog)
  41.     //{{AFX_MSG_MAP(LODEdit)
  42.         // NOTE: the ClassWizard will add message map macros here
  43.     //}}AFX_MSG_MAP
  44. END_MESSAGE_MAP()
  45.  
  46.  
  47.  
  48. void LODEdit::ToLOD(Model *pModel, LODRequestInfo *pInfo)
  49. {
  50.     pInfo->m_Dist = m_fDistance;
  51.     pInfo->m_nTris = (DWORD)((float)pModel->CalcNumTris() * (m_fReduction/100.0f));
  52. }
  53.  
  54. void LODEdit::FromLOD(Model *pModel, LODRequestInfo *pInfo)
  55. {
  56.     m_fDistance = pInfo->m_Dist;
  57.     m_fReduction = ((float)pInfo->m_nTris * 100.0f) / pModel->CalcNumTris();
  58. }
  59.  
  60.  
  61. /////////////////////////////////////////////////////////////////////////////
  62. // LODEdit message handlers
  63.