// DlgBoid.cpp : implementation file // #include "stdafx.h" #include "worldcreator.h" #include "DlgBoid.h" #include "SceneManager.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgBoid dialog CDlgBoid::CDlgBoid(CWnd* pParent /*=NULL*/) : CDialog(CDlgBoid::IDD, pParent) { //{{AFX_DATA_INIT(CDlgBoid) m_fAngle = 0.0f; m_fFraction = 0.0f; m_fRadius = 0.0f; m_fRatio = 0.0f; m_fSpeed = 0.0f; m_nBoid = 0; //}}AFX_DATA_INIT } void CDlgBoid::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgBoid) DDX_Text(pDX, IDC_EDIT_ANGLE, m_fAngle); DDX_Text(pDX, IDC_EDIT_FRACTION, m_fFraction); DDX_Text(pDX, IDC_EDIT_RADIUS, m_fRadius); DDX_Text(pDX, IDC_EDIT_RATIO, m_fRatio); DDX_Text(pDX, IDC_EDIT_SPEED, m_fSpeed); DDX_Text(pDX, IDC_EDIT_OBJECTCOUNT, m_nBoid); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDlgBoid, CDialog) //{{AFX_MSG_MAP(CDlgBoid) ON_BN_CLICKED(IDC_BUTTON_BUFFERFLY, OnButtonBufferfly) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDlgBoid message handlers BOOL CDlgBoid::OnInitDialog() { CDialog::OnInitDialog(); /* m_fAngle=CSceneManager::m_Boid.m_AngleTweak; m_fFraction=CSceneManager::m_Boid.m_CollisionFraction; m_fRadius=CSceneManager::m_Boid.m_InfluenceRadius; m_fRatio=CSceneManager::m_Boid.m_PitchToSpeedRatio; m_fSpeed=CSceneManager::m_Boid.m_NormalSpeed; */ UpdateData(FALSE); // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDlgBoid::OnOK() { // TODO: Add extra validation here UpdateData(); /* CSceneManager::m_Boid.DeleteBoid(); CSceneManager::m_Boid.Create(m_nBoid,0); CSceneManager::m_Boid.m_AngleTweak=m_fAngle; CSceneManager::m_Boid.m_CollisionFraction=m_fFraction; CSceneManager::m_Boid.m_InfluenceRadius=m_fRadius; CSceneManager::m_Boid.m_PitchToSpeedRatio=m_fRatio; CSceneManager::m_Boid.m_NormalSpeed=m_fSpeed; CSceneManager::m_Boid.m_InfluenceRadiusSquared= CSceneManager::m_Boid.m_InfluenceRadius*CSceneManager::m_Boid.m_InfluenceRadius; CSceneManager::m_Boid.m_InvCollisionFraction=1.0f/(1.0f-CSceneManager::m_Boid.m_CollisionFraction); for(int i=0;i