00001
00002
00003
00004 #include "stdafx.h"
00005 #include "SDKParticules.h"
00006 #include "SDKParticulesDlg.h"
00007
00008 #ifdef _DEBUG
00009 #define new DEBUG_NEW
00010 #endif
00011
00012
00013
00014
00015 class CAboutDlg : public CDialog
00016 {
00017 public:
00018 CAboutDlg();
00019
00020
00021 enum { IDD = IDD_ABOUTBOX };
00022
00023 protected:
00024 virtual void DoDataExchange(CDataExchange* pDX);
00025
00026
00027 protected:
00028 DECLARE_MESSAGE_MAP()
00029 };
00030
00031 CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
00032 {
00033 }
00034
00035 void CAboutDlg::DoDataExchange(CDataExchange* pDX)
00036 {
00037 CDialog::DoDataExchange(pDX);
00038 }
00039
00040 BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
00041 END_MESSAGE_MAP()
00042
00043
00044
00045
00046
00047
00048 CSDKParticulesDlg::CSDKParticulesDlg(CWnd* pParent )
00049 : CDialog(CSDKParticulesDlg::IDD, pParent)
00050 , m_Vparticule_max_life(_T(""))
00051 , m_Vparticule_min_life(_T(""))
00052 , m_VEmit_Rate(_T(""))
00053 , m_VEmit_Range(_T(""))
00054 , m_VEmit_Max_Part(_T(""))
00055 , m_VEmit_Angular(_T(""))
00056 , m_VEmit_Max_Pos_X(_T(""))
00057 , m_VEmit_Max_Pos_Y(_T(""))
00058 , m_VEmit_Max_Pos_Z(_T(""))
00059 , m_VEmit_Min_Pos_X(_T(""))
00060 , m_VEmit_Min_Pos_Y(_T(""))
00061 , m_VEmit_Min_Pos_Z(_T(""))
00062 , m_VParticule_Max_Velocity_x(_T(""))
00063 , m_VParticule_Max_Velocity_Y(_T(""))
00064 , m_VParticule_Max_Velocity_Z(_T(""))
00065 , m_VParticule_Min_Velocity_X(_T(""))
00066 , m_VParticule_Min_Velocity_Y(_T(""))
00067 , m_VParticule_Min_Velocity_Z(_T(""))
00068 , m_VParticule_Max_Acceleration_X(_T(""))
00069 , m_VParticule_Max_Acceleration_Y(_T(""))
00070 , m_VParticule_Max_Acceleration_Z(_T(""))
00071 , m_VParticule_Min_Acceleration_X(_T(""))
00072 , m_VParticule_Min_Acceleration_Y(_T(""))
00073 , m_VParticule_Min_Acceleration_Z(_T(""))
00074 , m_VParticule_Max_Gravity_X(_T(""))
00075 , m_VParticule_Max_Gravity_Y(_T(""))
00076 , m_VParticule_Max_Gravity_Z(_T(""))
00077 , m_VParticule_Min_Gravity_X(_T(""))
00078 , m_VParticule_Min_Gravity_Y(_T(""))
00079 , m_VParticule_Min_Gravity_Z(_T(""))
00080 , m_VParticule_Max_Red(_T(""))
00081 , m_VParticule_Min_Red(_T(""))
00082 , m_VParticule_Max_Green(_T(""))
00083 , m_VParticule_Min_Green(_T(""))
00084 , m_VParticule_Max_Blue(_T(""))
00085 , m_VParticule_Min_Blue(_T(""))
00086 , m_VParticule_Max_Trans(_T(""))
00087 , m_VParticule_Min_Trans(_T(""))
00088 , m_VParticule_Max_Weight(_T(""))
00089 , m_VParticule_Min_Weight(_T(""))
00090 , m_VParticule_Max_Size(_T(""))
00091 , m_VParticule_Min_Size(_T(""))
00092 {
00093 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
00094 }
00095
00096 void CSDKParticulesDlg::DoDataExchange(CDataExchange* pDX)
00097 {
00098 CDialog::DoDataExchange(pDX);
00099 DDX_Control(pDX, IDC_CHECKGRILLE, m_Grille);
00100 DDX_Control(pDX, IDC_COMBOEMITTYPE, m_CEmitter_type);
00101 DDX_Control(pDX, IDC_EDITPARTMAXLIFE, m_Cparticule_max_life);
00102 DDX_Text(pDX, IDC_EDITPARTMAXLIFE, m_Vparticule_max_life);
00103 DDX_Control(pDX, IDC_SPINPARTMAXLIFE, m_CSpin_part_Max_Life);
00104 DDX_Control(pDX, IDC_SPINPARTMINLIFE, m_CSpin_part_Min_Life);
00105 DDX_Text(pDX, IDC_EDITPARTMINLIFE, m_Vparticule_min_life);
00106 DDX_Control(pDX, IDC_SPINEMITMAXPOSX, m_CSpin_Emit_Max_Pos_X);
00107 DDX_Control(pDX, IDC_SPINEMITMINPOSX, m_CSpin_Emit_Min_Pos_X);
00108 DDX_Control(pDX, IDC_SPINEMITMAXPOSY, m_CSpin_Emit_Max_Pos_Y);
00109 DDX_Control(pDX, IDC_SPINEMITMINPOSY, m_CSpin_Emit_Min_Pos_Y);
00110 DDX_Control(pDX, IDC_SPINEMITMAXPOSZ, m_CSpin_Emit_Max_Pos_Z);
00111 DDX_Control(pDX, IDC_SPINEMITMINPOSZ, m_CSpin_Emit_Min_Pos_Z);
00112 DDX_Control(pDX, IDC_SPINEMITRATE, m_CSpin_Emit_Rate);
00113 DDX_Control(pDX, IDC_SPINEMITRANGE, m_CSpin_Emit_Range);
00114 DDX_Control(pDX, IDC_SPINEMITMAXPART, m_CSpin_Emit_Max_Part);
00115 DDX_Control(pDX, IDC_SPINEMITANGULAR, m_CSpin_Emit_Angular);
00116 DDX_Text(pDX, IDC_EDITEMITRATE, m_VEmit_Rate);
00117 DDX_Text(pDX, IDC_EDITEMITRANGE, m_VEmit_Range);
00118 DDX_Text(pDX, IDC_EDITEMITMAXPART, m_VEmit_Max_Part);
00119 DDX_Text(pDX, IDC_EDITEMITANGULAR, m_VEmit_Angular);
00120 DDX_Text(pDX, IDC_EDITEMITMAXPOSX, m_VEmit_Max_Pos_X);
00121 DDX_Text(pDX, IDC_EDITEMITMAXPOSY, m_VEmit_Max_Pos_Y);
00122 DDX_Text(pDX, IDC_EDITEMITMAXPOSZ, m_VEmit_Max_Pos_Z);
00123 DDX_Text(pDX, IDC_EDITEMITMINPOSX, m_VEmit_Min_Pos_X);
00124 DDX_Text(pDX, IDC_EDITEMITMINPOSY, m_VEmit_Min_Pos_Y);
00125 DDX_Text(pDX, IDC_EDITEMITMINPOSZ, m_VEmit_Min_Pos_Z);
00126 DDX_Text(pDX, IDC_EDITPARTMAXVELOCITYX, m_VParticule_Max_Velocity_x);
00127 DDX_Text(pDX, IDC_EDITPARTMAXVELOCITYY, m_VParticule_Max_Velocity_Y);
00128 DDX_Text(pDX, IDC_EDITPARTMAXVELOCITYZ, m_VParticule_Max_Velocity_Z);
00129 DDX_Text(pDX, IDC_EDITPARTMINVELOCITYX, m_VParticule_Min_Velocity_X);
00130 DDX_Text(pDX, IDC_EDITPARTMINVELOCITYY, m_VParticule_Min_Velocity_Y);
00131 DDX_Text(pDX, IDC_EDITPARTMINVELOCITYZ, m_VParticule_Min_Velocity_Z);
00132 DDX_Control(pDX, IDC_SPINPARTMINVELOCITYX, m_CSpin_Particule_Min_Velocity_X);
00133 DDX_Control(pDX, IDC_SPINPARTMINVELOCITYY, m_CSpin_Particule_Min_Velocity_Y);
00134 DDX_Control(pDX, IDC_SPINPARTMINVELOCITYZ, m_CSpin_Particule_Min_Velocity_Z);
00135 DDX_Control(pDX, IDC_SPINPARTMAXVELOCITYX, m_CSpin_Particule_Max_Velocity_X);
00136 DDX_Control(pDX, IDC_SPINPARTMAXVELOCITYY, m_CSpin_Particule_Max_Velocity_Y);
00137 DDX_Control(pDX, IDC_SPINPARTMAXVELOCITYZ, m_CSpin_Particule_Max_Velocity_Z);
00138 DDX_Text(pDX, IDC_EDITPARTMAXACCELX, m_VParticule_Max_Acceleration_X);
00139 DDX_Text(pDX, IDC_EDITPARTMAXACCELY, m_VParticule_Max_Acceleration_Y);
00140 DDX_Text(pDX, IDC_EDITPARTMAXACCELZ, m_VParticule_Max_Acceleration_Z);
00141 DDX_Text(pDX, IDC_EDITPARTMINACCELX, m_VParticule_Min_Acceleration_X);
00142 DDX_Text(pDX, IDC_EDITPARTMINACCELY, m_VParticule_Min_Acceleration_Y);
00143 DDX_Text(pDX, IDC_EDITPARTMINACCELZ, m_VParticule_Min_Acceleration_Z);
00144 DDX_Text(pDX, IDC_EDITPARTMAXGRAVITYX, m_VParticule_Max_Gravity_X);
00145 DDX_Text(pDX, IDC_EDITPARTMAXGRAVITYY, m_VParticule_Max_Gravity_Y);
00146 DDX_Text(pDX, IDC_EDITPARTMAXGRAVITYZ, m_VParticule_Max_Gravity_Z);
00147 DDX_Text(pDX, IDC_EDITPARTMINGRAVITYX, m_VParticule_Min_Gravity_X);
00148 DDX_Text(pDX, IDC_EDITPARTMINGRAVITYY, m_VParticule_Min_Gravity_Y);
00149 DDX_Text(pDX, IDC_EDITPARTMINGRAVITYZ, m_VParticule_Min_Gravity_Z);
00150 DDX_Control(pDX, IDC_SPINPARTMAXGRAVITYX, m_CSpin_Particule_Max_Gravity_X);
00151 DDX_Control(pDX, IDC_SPINPARTMAXGRAVITYY, m_CSpin_Particule_Max_Gravity_Y);
00152 DDX_Control(pDX, IDC_SPINPARTMAXGRAVITYZ, m_CSpin_Particule_Max_Gravity_Z);
00153 DDX_Control(pDX, IDC_SPINPARTMINGRAVITYX, m_CSpin_Particule_Min_Gravity_X);
00154 DDX_Control(pDX, IDC_SPINPARTMINGRAVITYY, m_CSpin_Particule_Min_Gravity_Y);
00155 DDX_Control(pDX, IDC_SPINPARTMINGRAVITYZ, m_CSpin_Particule_Min_Gravity_Z);
00156 DDX_Text(pDX, IDC_EDITPARTRED, m_VParticule_Max_Red);
00157 DDX_Text(pDX, IDC_EDITPARTMINRED, m_VParticule_Min_Red);
00158 DDX_Text(pDX, IDC_EDITPARTMAXGREEN, m_VParticule_Max_Green);
00159 DDX_Text(pDX, IDC_EDITPARTMINGREEN, m_VParticule_Min_Green);
00160 DDX_Text(pDX, IDC_EDITPARTMAXBLUE, m_VParticule_Max_Blue);
00161 DDX_Text(pDX, IDC_EDITPARTMINBLUE, m_VParticule_Min_Blue);
00162 DDX_Text(pDX, IDC_EDITPARTMAXTRANS, m_VParticule_Max_Trans);
00163 DDX_Text(pDX, IDC_EDITPARTMINTRANS, m_VParticule_Min_Trans);
00164 DDX_Control(pDX, IDC_SPINPARTMAXRED, m_CSpin_Particule_Max_Red);
00165 DDX_Control(pDX, IDC_SPINPARTMINRED, m_CSpin_Particule_Min_Red);
00166 DDX_Control(pDX, IDC_SPINPARTMAXGREEN, m_CSpin_Particule_Max_Green);
00167 DDX_Control(pDX, IDC_SPINPARTMINGREEN, m_CSpin_Particule_Min_Green);
00168 DDX_Control(pDX, IDC_SPINPARTMAXGRAVITYZ2, m_CSpin_Particule_Max_Blue);
00169 DDX_Control(pDX, IDC_SPINPARTMINGRAVITYZ2, m_CSpin_Particule_Min_Blue);
00170 DDX_Control(pDX, IDC_SPINPARTMAXTRANS, m_CSpin_Particule_Max_Trans);
00171 DDX_Control(pDX, IDC_SPINPARTMINTRANS, m_CSpin_Particule_Min_Trans);
00172 DDX_Text(pDX, IDC_EDITPARTMAXWEIGHT, m_VParticule_Max_Weight);
00173 DDX_Text(pDX, IDC_EDITPARTMINWEIGHT, m_VParticule_Min_Weight);
00174 DDX_Text(pDX, IDC_EDITPARTMAXSIZE, m_VParticule_Max_Size);
00175 DDX_Text(pDX, IDC_EDITPARTMINSIZE, m_VParticule_Min_Size);
00176 DDX_Control(pDX, IDC_SPINPARTMAXWEIGHT, m_CSpin_Particule_Max_Weight);
00177 DDX_Control(pDX, IDC_SPINPARTMINWEIGHT, m_CSpin_Particule_Min_Weight);
00178 DDX_Control(pDX, IDC_SPINPARTMAXSIZE, m_CSpin_Particule_Max_Size);
00179 DDX_Control(pDX, IDC_SPINPARTMINSIZE, m_CSpin_Particule_Min_Size);
00180 DDX_Control(pDX, IDC_SPINPARTMAXACCELX, m_CSpin_Particule_Max_Acceleration_X);
00181 DDX_Control(pDX, IDC_SPINPARTMAXACCELY, m_CSpin_Particule_Max_Acceleration_Y);
00182 DDX_Control(pDX, IDC_SPINPARTMAXACCELZ, m_CSpin_Particule_Max_Acceleration_Z);
00183 DDX_Control(pDX, IDC_SPINPARTMINACCELX, m_CSpin_Particule_Min_Acceleration_X);
00184 DDX_Control(pDX, IDC_SPINPARTMINACCELY, m_CSpin_Particule_Min_Acceleration_Y);
00185 DDX_Control(pDX, IDC_SPINPARTMINACCELZ, m_CSpin_Particule_Min_Acceleration_Z);
00186 }
00187
00188 BEGIN_MESSAGE_MAP(CSDKParticulesDlg, CDialog)
00189 ON_WM_SYSCOMMAND()
00190 ON_WM_PAINT()
00191 ON_WM_QUERYDRAGICON()
00192
00193 ON_WM_RBUTTONDOWN()
00194 ON_WM_RBUTTONUP()
00195 ON_WM_MOUSEWHEEL()
00196 ON_WM_MOUSEMOVE()
00197 ON_BN_CLICKED(IDC_CHECKGRILLE, OnBnClickedCheckgrille)
00198 ON_WM_TIMER()
00199 ON_CBN_SELCHANGE(IDC_COMBOEMITTYPE, OnCbnSelchangeComboemittype)
00200 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXLIFE, OnDeltaposSpinpartmaxlife)
00201 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINLIFE, OnDeltaposSpinpartminlife)
00202 ON_BN_CLICKED(IDC_BUTEMITRESET, OnBnClickedButemitreset)
00203 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITRATE, OnDeltaposSpinemitrate)
00204 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITRANGE, OnDeltaposSpinemitrange)
00205 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITMAXPART, OnDeltaposSpinemitmaxpart)
00206 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITANGULAR, OnDeltaposSpinemitangular)
00207 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITMAXPOSX, OnDeltaposSpinemitmaxposx)
00208 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITMAXPOSY, OnDeltaposSpinemitmaxposy)
00209 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITMAXPOSZ, OnDeltaposSpinemitmaxposz)
00210 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITMINPOSX, OnDeltaposSpinemitminposx)
00211 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITMINPOSY, OnDeltaposSpinemitminposy)
00212 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINEMITMINPOSZ, OnDeltaposSpinemitminposz)
00213 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXGRAVITYX, OnDeltaposSpinpartmaxgravityx)
00214 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXGRAVITYY, OnDeltaposSpinpartmaxgravityy)
00215 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXGRAVITYZ, OnDeltaposSpinpartmaxgravityz)
00216 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINGRAVITYX, OnDeltaposSpinpartmingravityx)
00217 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINGRAVITYY, OnDeltaposSpinpartmingravityy)
00218 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINGRAVITYZ, OnDeltaposSpinpartmingravityz)
00219 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXACCELX, OnDeltaposSpinpartmaxaccelx)
00220 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXACCELY, OnDeltaposSpinpartmaxaccely)
00221 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXACCELZ, OnDeltaposSpinpartmaxaccelz)
00222 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINACCELX, OnDeltaposSpinpartminaccelx)
00223 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINACCELY, OnDeltaposSpinpartminaccely)
00224 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINACCELZ, OnDeltaposSpinpartminaccelz)
00225 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXVELOCITYX, OnDeltaposSpinpartmaxvelocityx)
00226 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXVELOCITYY, OnDeltaposSpinpartmaxvelocityy)
00227 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXVELOCITYZ, OnDeltaposSpinpartmaxvelocityz)
00228 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINVELOCITYX, OnDeltaposSpinpartminvelocityx)
00229 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINVELOCITYY, OnDeltaposSpinpartminvelocityy)
00230 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINVELOCITYZ, OnDeltaposSpinpartminvelocityz)
00231 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXRED, OnDeltaposSpinpartmaxred)
00232 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXGREEN, OnDeltaposSpinpartmaxgreen)
00233 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXGRAVITYZ2, OnDeltaposSpinpartmaxgravityz2)
00234 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXTRANS, OnDeltaposSpinpartmaxtrans)
00235 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINGREEN, OnDeltaposSpinpartmingreen)
00236 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINGRAVITYZ2, OnDeltaposSpinpartmingravityz2)
00237 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINTRANS, OnDeltaposSpinpartmintrans)
00238 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXWEIGHT, OnDeltaposSpinpartmaxweight)
00239 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMAXSIZE, OnDeltaposSpinpartmaxsize)
00240 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINWEIGHT, OnDeltaposSpinpartminweight)
00241 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINSIZE, OnDeltaposSpinpartminsize)
00242 ON_NOTIFY(UDN_DELTAPOS, IDC_SPINPARTMINRED, OnDeltaposSpinpartminred)
00243 ON_BN_CLICKED(IDC_BUTTONTEXTCHANGE, OnBnClickedButtontextchange)
00244 ON_BN_CLICKED(IDC_BUTTONSAVE, OnBnClickedButtonsave)
00245 END_MESSAGE_MAP()
00246
00247
00248
00249
00250 BOOL CSDKParticulesDlg::OnInitDialog()
00251 {
00252 CDialog::OnInitDialog();
00253
00254
00255
00256
00257 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
00258 ASSERT(IDM_ABOUTBOX < 0xF000);
00259
00260 CMenu* pSysMenu = GetSystemMenu(FALSE);
00261 if (pSysMenu != NULL)
00262 {
00263 CString strAboutMenu;
00264 strAboutMenu.LoadString(IDS_ABOUTBOX);
00265 if (!strAboutMenu.IsEmpty())
00266 {
00267 pSysMenu->AppendMenu(MF_SEPARATOR);
00268 pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
00269 }
00270 }
00271
00272
00273
00274 SetIcon(m_hIcon, TRUE);
00275 SetIcon(m_hIcon, FALSE);
00276
00277
00278 int iWidth,iHeight;
00279 CPaintDC dc(this);
00280 m_hDC = ::GetDC(this->m_hWnd);
00281
00282
00283
00284 pclStaticCurrent = (CStatic *)GetDlgItem(IDC_OPENGLRENDER);
00285 GlRenderCurrent = new CGlView(pclStaticCurrent);
00286
00287 GlRenderCurrent->SetPixelformat(m_hDC);
00288 GlRenderCurrent->InitGL();
00289 RECT rect;
00290 GetClientRect(&rect);
00291 pclStaticCurrent->GetWindowRect(&rect);
00292 iWidth = -(rect.right - rect.left);
00293 iHeight = rect.top - rect.bottom;
00294 GlRenderCurrent->ReSizeGLScene(iWidth, iHeight);
00295 SetTimer(1, 1, 0);
00296
00297
00298 DWORD point=m_CEmitter_type.AddString("Emitter point");
00299 m_CEmitter_type.SetItemData(point,1);
00300 DWORD ligne=m_CEmitter_type.AddString("Emitter ligne");
00301 m_CEmitter_type.SetItemData(ligne,2);
00302 DWORD rectangle=m_CEmitter_type.AddString("Emitter rectangle");
00303 m_CEmitter_type.SetItemData(rectangle,3);
00304 DWORD cube=m_CEmitter_type.AddString("Emitter cube");
00305 m_CEmitter_type.SetItemData(cube,4);
00306 DWORD circle=m_CEmitter_type.AddString("Emitter circle");
00307 m_CEmitter_type.SetItemData(circle,5);
00308 DWORD spiral=m_CEmitter_type.AddString("Emitter spiral");
00309 m_CEmitter_type.SetItemData(spiral,6);
00310 DWORD disc=m_CEmitter_type.AddString("Emitter disc");
00311 m_CEmitter_type.SetItemData(disc,7);
00312
00313 Reset();
00314
00315
00316
00317 return TRUE;
00318 }
00319
00320 void CSDKParticulesDlg::OnSysCommand(UINT nID, LPARAM lParam)
00321 {
00322 if ((nID & 0xFFF0) == IDM_ABOUTBOX)
00323 {
00324 CAboutDlg dlgAbout;
00325 dlgAbout.DoModal();
00326 }
00327 else
00328 {
00329 CDialog::OnSysCommand(nID, lParam);
00330 }
00331 }
00332
00333
00334
00335
00336
00337 void CSDKParticulesDlg::OnPaint()
00338 {
00339 CPaintDC dc(this);
00340 if (IsIconic())
00341 {
00342
00343
00344 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
00345
00346
00347 int cxIcon = GetSystemMetrics(SM_CXICON);
00348 int cyIcon = GetSystemMetrics(SM_CYICON);
00349 CRect rect;
00350 GetClientRect(&rect);
00351 int x = (rect.Width() - cxIcon + 1) / 2;
00352 int y = (rect.Height() - cyIcon + 1) / 2;
00353
00354
00355 dc.DrawIcon(x, y, m_hIcon);
00356
00357 }
00358 else
00359 {
00360 CDialog::OnPaint();
00361 }
00362 GlRenderCurrent->DrawGLScene();
00363
00364
00365
00366 }
00367
00368
00369
00370 HCURSOR CSDKParticulesDlg::OnQueryDragIcon()
00371 {
00372 return static_cast<HCURSOR>(m_hIcon);
00373 }
00374
00375 void CSDKParticulesDlg::OnRButtonDown(UINT nFlags, CPoint point)
00376 {
00377
00378 m_MouseDownPoint=point;
00379 SetCapture();
00380 CDialog::OnRButtonDown(nFlags, point);
00381 }
00382
00383 void CSDKParticulesDlg::OnRButtonUp(UINT nFlags, CPoint point)
00384 {
00385
00386 m_MouseDownPoint=CPoint(0,0);
00387 ReleaseCapture();
00388 CDialog::OnRButtonUp(nFlags, point);
00389 }
00390
00391 BOOL CSDKParticulesDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
00392 {
00393
00394 RECT rect;
00395 GetClientRect(&rect);
00396 pclStaticCurrent->GetWindowRect(&rect);
00397 CRgn RegOpengl;
00398 RegOpengl.CreateRectRgnIndirect(&rect);
00399 if(RegOpengl.PtInRegion(pt))
00400 {
00401 if(zDelta<0)
00402 {
00403 GlRenderCurrent->IncreaseZoom();
00404 }else
00405 {
00406 GlRenderCurrent->DecreaseZoom();
00407 }
00408 GlRenderCurrent->DrawGLScene();
00409 }
00410 return CDialog::OnMouseWheel(nFlags, zDelta, pt);
00411 }
00412
00413 void CSDKParticulesDlg::OnMouseMove(UINT nFlags, CPoint point)
00414 {
00415
00416 if (GetCapture()==this)
00417 {
00418 GlRenderCurrent->m_fAngleX+=(float)(point.y-m_MouseDownPoint.y)/3.6;
00419 GlRenderCurrent->m_fAngleY+=(float)(point.x-m_MouseDownPoint.x)/3.6;
00420 InvalidateRect(NULL,FALSE);
00421 m_MouseDownPoint=point;
00422 GlRenderCurrent->DrawGLScene();
00423 }
00424 CDialog::OnMouseMove(nFlags, point);
00425 }
00426
00427 void CSDKParticulesDlg::OnBnClickedCheckgrille()
00428 {
00429
00430 switch(m_Grille.GetCheck())
00431 {
00432 case 0:GlRenderCurrent->m_ShowGrid=false;break;
00433 case 1:GlRenderCurrent->m_ShowGrid=true;break;
00434 }
00435
00436 }
00437
00438 void CSDKParticulesDlg::OnTimer(UINT nIDEvent)
00439 {
00440
00441 GlRenderCurrent->DrawGLScene();
00442 CDialog::OnTimer(nIDEvent);
00443 }
00444
00445 void CSDKParticulesDlg::Reset(void)
00446 {
00447 m_CEmitter_type.SetCurSel(4);
00448
00449 m_Vparticule_max_life="10";
00450 m_CSpin_part_Max_Life.SetRange(1,1000);
00451 m_CSpin_part_Max_Life.SetPos(10);
00452 GlRenderCurrent->system.SetParticuleMaxLife(10);
00453
00454 m_Vparticule_min_life="1";
00455 m_CSpin_part_Min_Life.SetRange(1,1000);
00456 m_CSpin_part_Min_Life.SetPos(1);
00457 GlRenderCurrent->system.SetParticuleMinLife(1);
00458
00459 m_VEmit_Rate="10";
00460 m_CSpin_Emit_Rate.SetRange(1,100);
00461 m_CSpin_Emit_Rate.SetPos(10);
00462 GlRenderCurrent->system.SetRate(10);
00463
00464 m_VEmit_Range="3";
00465 m_CSpin_Emit_Range.SetRange(1,1000);
00466 m_CSpin_Emit_Range.SetPos(3);
00467 GlRenderCurrent->system.SetRange(3);
00468
00469 m_VEmit_Max_Part="100";
00470 m_CSpin_Emit_Max_Part.SetRange(1,10000);
00471 m_CSpin_Emit_Max_Part.SetPos(100);
00472 GlRenderCurrent->system.SetMaxParticule(100);
00473
00474 m_VEmit_Angular="1";
00475 m_CSpin_Emit_Angular.SetRange(1,1000);
00476 m_CSpin_Emit_Angular.SetPos(1);
00477 GlRenderCurrent->system.SetSpeedAngle(1);
00478
00479 m_VEmit_Max_Pos_X="0";
00480 m_CSpin_Emit_Max_Pos_X.SetRange(-100,100);
00481 m_CSpin_Emit_Max_Pos_X.SetPos(0);
00482 GlRenderCurrent->system.SetEmitterP1X(0);
00483
00484 m_VEmit_Max_Pos_Y="0";
00485 m_CSpin_Emit_Max_Pos_Y.SetRange(-100,100);
00486 m_CSpin_Emit_Max_Pos_Y.SetPos(0);
00487 GlRenderCurrent->system.SetEmitterP1Y(0);
00488
00489 m_VEmit_Max_Pos_Z="0";
00490 m_CSpin_Emit_Max_Pos_Z.SetRange(-100,100);
00491 m_CSpin_Emit_Max_Pos_Z.SetPos(0);
00492 GlRenderCurrent->system.SetEmitterP1Z(0);
00493
00494 m_VEmit_Min_Pos_X="0";
00495 m_CSpin_Emit_Min_Pos_X.SetRange(-100,100);
00496 m_CSpin_Emit_Min_Pos_X.SetPos(0);
00497 GlRenderCurrent->system.SetEmitterP2X(0);
00498
00499 m_VEmit_Min_Pos_Y="0";
00500 m_CSpin_Emit_Min_Pos_Y.SetRange(-100,100);
00501 m_CSpin_Emit_Min_Pos_Y.SetPos(0);
00502 GlRenderCurrent->system.SetEmitterP2Y(0);
00503
00504 m_VEmit_Min_Pos_Z="0";
00505 m_CSpin_Emit_Min_Pos_Z.SetRange(-100,100);
00506 m_CSpin_Emit_Min_Pos_Z.SetPos(0);
00507 GlRenderCurrent->system.SetEmitterP2Z(0);
00508
00509
00510
00511
00512 m_VParticule_Max_Velocity_x="0";
00513 m_CSpin_Particule_Max_Velocity_X.SetRange(-100,100);
00514 m_CSpin_Particule_Max_Velocity_X.SetPos(0);
00515 GlRenderCurrent->system.SetEmitterMaxVelocityX(0);
00516
00517 m_VParticule_Max_Velocity_Y="1";
00518 m_CSpin_Particule_Max_Velocity_Y.SetRange(-100,100);
00519 m_CSpin_Particule_Max_Velocity_Y.SetPos(1);
00520 GlRenderCurrent->system.SetEmitterMaxVelocityY(1);
00521
00522 m_VParticule_Max_Velocity_Z="0";
00523 m_CSpin_Particule_Max_Velocity_Z.SetRange(-100,100);
00524 m_CSpin_Particule_Max_Velocity_Z.SetPos(0);
00525 GlRenderCurrent->system.SetEmitterMaxVelocityZ(0);
00526
00527 m_VParticule_Min_Velocity_X="0";
00528 m_CSpin_Particule_Min_Velocity_X.SetRange(-100,100);
00529 m_CSpin_Particule_Min_Velocity_X.SetPos(0);
00530 GlRenderCurrent->system.SetEmitterMinVelocityX(0);
00531
00532 m_VParticule_Min_Velocity_Y="0";
00533 m_CSpin_Particule_Min_Velocity_Y.SetRange(-100,100);
00534 m_CSpin_Particule_Min_Velocity_Y.SetPos(0);
00535 GlRenderCurrent->system.SetEmitterMinVelocityY(0);
00536
00537 m_VParticule_Min_Velocity_Z="0";
00538 m_CSpin_Particule_Min_Velocity_Z.SetRange(-100,100);
00539 m_CSpin_Particule_Min_Velocity_Z.SetPos(0);
00540 GlRenderCurrent->system.SetEmitterMinVelocityZ(0);
00541
00542 m_VParticule_Max_Acceleration_X="0";
00543 m_CSpin_Particule_Max_Acceleration_X.SetRange(-100,100);
00544 m_CSpin_Particule_Max_Acceleration_X.SetPos(0);
00545 GlRenderCurrent->system.SetEmitterMaxAccelerationX(0);
00546
00547 m_VParticule_Max_Acceleration_Y="0";
00548 m_CSpin_Particule_Max_Acceleration_Y.SetRange(-100,100);
00549 m_CSpin_Particule_Max_Acceleration_Y.SetPos(0);
00550 GlRenderCurrent->system.SetEmitterMaxAccelerationY(0);
00551
00552 m_VParticule_Max_Acceleration_Z="0";
00553 m_CSpin_Particule_Max_Acceleration_Z.SetRange(-100,100);
00554 m_CSpin_Particule_Max_Acceleration_Z.SetPos(0);
00555 GlRenderCurrent->system.SetEmitterMaxAccelerationZ(0);
00556
00557 m_VParticule_Min_Acceleration_X="0";
00558 m_CSpin_Particule_Min_Acceleration_X.SetRange(-100,100);
00559 m_CSpin_Particule_Min_Acceleration_X.SetPos(0);
00560 GlRenderCurrent->system.SetEmitterMinAccelerationX(0);
00561
00562 m_VParticule_Min_Acceleration_Y="0";
00563 m_CSpin_Particule_Min_Acceleration_Y.SetRange(-100,100);
00564 m_CSpin_Particule_Min_Acceleration_Y.SetPos(0);
00565 GlRenderCurrent->system.SetEmitterMinAccelerationY(0);
00566
00567 m_VParticule_Min_Acceleration_Z="0";
00568 m_CSpin_Particule_Min_Acceleration_Z.SetRange(-100,100);
00569 m_CSpin_Particule_Min_Acceleration_Z.SetPos(0);
00570 GlRenderCurrent->system.SetEmitterMinAccelerationZ(0);
00571
00572 m_VParticule_Max_Gravity_X="0";
00573 m_CSpin_Particule_Max_Gravity_X.SetRange(-100,100);
00574 m_CSpin_Particule_Max_Gravity_X.SetPos(0);
00575 GlRenderCurrent->system.SetEmitterMaxGravityX(0);
00576
00577 m_VParticule_Max_Gravity_Y="0";
00578 m_CSpin_Particule_Max_Gravity_Y.SetRange(-100,100);
00579 m_CSpin_Particule_Max_Gravity_Y.SetPos(0);
00580 GlRenderCurrent->system.SetEmitterMaxGravityY(0);
00581
00582 m_VParticule_Max_Gravity_Z="0";
00583 m_CSpin_Particule_Max_Gravity_Z.SetRange(-100,100);
00584 m_CSpin_Particule_Max_Gravity_Z.SetPos(0);
00585 GlRenderCurrent->system.SetEmitterMaxGravityZ(0);
00586
00587 m_VParticule_Min_Gravity_X="0";
00588 m_CSpin_Particule_Min_Gravity_X.SetRange(-100,100);
00589 m_CSpin_Particule_Min_Gravity_X.SetPos(0);
00590 GlRenderCurrent->system.SetEmitterMinGravityX(0);
00591
00592 m_VParticule_Min_Gravity_Y="0";
00593 m_CSpin_Particule_Min_Gravity_Y.SetRange(-100,100);
00594 m_CSpin_Particule_Min_Gravity_Y.SetPos(0);
00595 GlRenderCurrent->system.SetEmitterMinGravityY(0);
00596
00597 m_VParticule_Min_Gravity_Z="0";
00598 m_CSpin_Particule_Min_Gravity_Z.SetRange(-100,100);
00599 m_CSpin_Particule_Min_Gravity_Z.SetPos(0);
00600 GlRenderCurrent->system.SetEmitterMinGravityZ(0);
00601
00602 m_VParticule_Max_Red="255";
00603 m_CSpin_Particule_Max_Red.SetRange(0,255);
00604 m_CSpin_Particule_Max_Red.SetPos(255);
00605 GlRenderCurrent->system.SetParticuleMaxColorR(255);
00606
00607 m_VParticule_Min_Red="0";
00608 m_CSpin_Particule_Min_Red.SetRange(0,255);
00609 m_CSpin_Particule_Min_Red.SetPos(0);
00610 GlRenderCurrent->system.SetParticuleMinColorR(0);
00611
00612 m_VParticule_Max_Green="255";
00613 m_CSpin_Particule_Max_Green.SetRange(0,255);
00614 m_CSpin_Particule_Max_Green.SetPos(255);
00615 GlRenderCurrent->system.SetParticuleMaxColorG(255);
00616
00617 m_VParticule_Min_Green="0";
00618 m_CSpin_Particule_Min_Green.SetRange(0,255);
00619 m_CSpin_Particule_Min_Green.SetPos(0);
00620 GlRenderCurrent->system.SetParticuleMinColorG(0);
00621
00622 m_VParticule_Max_Blue="255";
00623 m_CSpin_Particule_Max_Blue.SetRange(0,255);
00624 m_CSpin_Particule_Max_Blue.SetPos(255);
00625 GlRenderCurrent->system.SetParticuleMaxColorB(255);
00626
00627 m_VParticule_Min_Blue="0";
00628 m_CSpin_Particule_Min_Blue.SetRange(0,255);
00629 m_CSpin_Particule_Min_Blue.SetPos(0);
00630 GlRenderCurrent->system.SetParticuleMinColorB(0);
00631
00632 m_VParticule_Max_Trans="255";
00633 m_CSpin_Particule_Max_Trans.SetRange(0,255);
00634 m_CSpin_Particule_Max_Trans.SetPos(255);
00635 GlRenderCurrent->system.SetParticuleMaxBlending(255);
00636
00637 m_VParticule_Min_Trans="0";
00638 m_CSpin_Particule_Min_Trans.SetRange(0,255);
00639 m_CSpin_Particule_Min_Trans.SetPos(0);
00640 GlRenderCurrent->system.SetParticuleMinBlending(0);
00641
00642 m_VParticule_Max_Weight="10";
00643 m_CSpin_Particule_Max_Weight.SetRange(1,10);
00644 m_CSpin_Particule_Max_Weight.SetPos(10);
00645 GlRenderCurrent->system.SetParticuleMaxGrowth(10);
00646
00647 m_VParticule_Min_Weight="10";
00648 m_CSpin_Particule_Min_Weight.SetRange(1,10);
00649 m_CSpin_Particule_Min_Weight.SetPos(10);
00650 GlRenderCurrent->system.SetParticuleMinGrowth(10);
00651
00652 m_VParticule_Max_Size="0.5";
00653 m_CSpin_Particule_Max_Size.SetRange(0,100);
00654 m_CSpin_Particule_Max_Size.SetPos(0.5);
00655 GlRenderCurrent->system.SetParticuleMaxSize(0.5);
00656
00657 m_VParticule_Min_Size="0.5";
00658 m_CSpin_Particule_Min_Size.SetRange(0,100);
00659 m_CSpin_Particule_Min_Size.SetPos(0.5);
00660 GlRenderCurrent->system.SetParticuleMinSize(0.5);
00661
00662 UpdateData(false);
00663 }
00664
00665 void CSDKParticulesDlg::OnBnClickedButemitreset()
00666 {
00667
00668 Reset();
00669 }
00670
00671 void CSDKParticulesDlg::OnCbnSelchangeComboemittype()
00672 {
00673
00674 GlRenderCurrent->system.SetEmitterType(m_CEmitter_type.GetItemData(m_CEmitter_type.GetCurSel()));
00675 }
00676
00677 void CSDKParticulesDlg::OnDeltaposSpinpartmaxlife(NMHDR *pNMHDR, LRESULT *pResult)
00678 {
00679 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00680
00681 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
00682 GlRenderCurrent->system.SetParticuleMaxLife(value);
00683 m_Vparticule_max_life.Format("%d",value);
00684 UpdateData(false);
00685 *pResult = 0;
00686 }
00687
00688 void CSDKParticulesDlg::OnDeltaposSpinpartminlife(NMHDR *pNMHDR, LRESULT *pResult)
00689 {
00690 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00691
00692 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
00693 GlRenderCurrent->system.SetParticuleMinLife(value);
00694 m_Vparticule_min_life.Format("%d",value);
00695 UpdateData(false);
00696 *pResult = 0;
00697 }
00698
00699
00700
00701
00702
00703 void CSDKParticulesDlg::OnDeltaposSpinemitrate(NMHDR *pNMHDR, LRESULT *pResult)
00704 {
00705 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00706
00707 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
00708 GlRenderCurrent->system.SetRate(value);
00709 m_VEmit_Rate.Format("%d",value);
00710 UpdateData(false);
00711 *pResult = 0;
00712 }
00713
00714 void CSDKParticulesDlg::OnDeltaposSpinemitrange(NMHDR *pNMHDR, LRESULT *pResult)
00715 {
00716 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00717
00718 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00719 GlRenderCurrent->system.SetRange(value);
00720 m_VEmit_Range.Format("%f",value);
00721 UpdateData(false);
00722 *pResult = 0;
00723 }
00724
00725 void CSDKParticulesDlg::OnDeltaposSpinemitmaxpart(NMHDR *pNMHDR, LRESULT *pResult)
00726 {
00727 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00728
00729 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
00730 GlRenderCurrent->system.SetMaxParticule(value);
00731 m_VEmit_Max_Part.Format("%d",value);
00732 UpdateData(false);
00733 *pResult = 0;
00734 }
00735
00736 void CSDKParticulesDlg::OnDeltaposSpinemitangular(NMHDR *pNMHDR, LRESULT *pResult)
00737 {
00738 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00739
00740 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
00741 GlRenderCurrent->system.SetSpeedAngle(value);
00742 m_VEmit_Angular.Format("%d",value);
00743 UpdateData(false);
00744 *pResult = 0;
00745 }
00746
00747 void CSDKParticulesDlg::OnDeltaposSpinemitmaxposx(NMHDR *pNMHDR, LRESULT *pResult)
00748 {
00749 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00750
00751 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00752 GlRenderCurrent->system.SetEmitterP1X(value);
00753 m_VEmit_Max_Pos_X.Format("%f",value);
00754 UpdateData(false);
00755 *pResult = 0;
00756 }
00757
00758 void CSDKParticulesDlg::OnDeltaposSpinemitmaxposy(NMHDR *pNMHDR, LRESULT *pResult)
00759 {
00760 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00761
00762 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00763 GlRenderCurrent->system.SetEmitterP1Y(value);
00764 m_VEmit_Max_Pos_Y.Format("%f",value);
00765 UpdateData(false);
00766 *pResult = 0;
00767 }
00768
00769 void CSDKParticulesDlg::OnDeltaposSpinemitmaxposz(NMHDR *pNMHDR, LRESULT *pResult)
00770 {
00771 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00772
00773 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00774 GlRenderCurrent->system.SetEmitterP1Z(value);
00775 m_VEmit_Max_Pos_Z.Format("%f",value);
00776 UpdateData(false);
00777 *pResult = 0;
00778 }
00779
00780 void CSDKParticulesDlg::OnDeltaposSpinemitminposx(NMHDR *pNMHDR, LRESULT *pResult)
00781 {
00782 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00783
00784 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00785 GlRenderCurrent->system.SetEmitterP2X(value);
00786 m_VEmit_Min_Pos_X.Format("%f",value);
00787 UpdateData(false);
00788 *pResult = 0;
00789 }
00790
00791 void CSDKParticulesDlg::OnDeltaposSpinemitminposy(NMHDR *pNMHDR, LRESULT *pResult)
00792 {
00793 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00794
00795 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00796 GlRenderCurrent->system.SetEmitterP2Y(value);
00797 m_VEmit_Min_Pos_Y.Format("%f",value);
00798 UpdateData(false);
00799 *pResult = 0;
00800 }
00801
00802 void CSDKParticulesDlg::OnDeltaposSpinemitminposz(NMHDR *pNMHDR, LRESULT *pResult)
00803 {
00804 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00805
00806 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00807 GlRenderCurrent->system.SetEmitterP2Z(value);
00808 m_VEmit_Min_Pos_Z.Format("%f",value);
00809 UpdateData(false);
00810 *pResult = 0;
00811 }
00812
00813 void CSDKParticulesDlg::OnDeltaposSpinpartmaxgravityx(NMHDR *pNMHDR, LRESULT *pResult)
00814 {
00815 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00816
00817 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00818 GlRenderCurrent->system.SetEmitterMaxGravityX(value);
00819 m_VParticule_Max_Gravity_X.Format("%f",value);
00820 UpdateData(false);
00821 *pResult = 0;
00822 }
00823
00824 void CSDKParticulesDlg::OnDeltaposSpinpartmaxgravityy(NMHDR *pNMHDR, LRESULT *pResult)
00825 {
00826 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00827
00828 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00829 GlRenderCurrent->system.SetEmitterMaxGravityY(value);
00830 m_VParticule_Max_Gravity_Y.Format("%f",value);
00831 UpdateData(false);
00832 *pResult = 0;
00833 }
00834
00835 void CSDKParticulesDlg::OnDeltaposSpinpartmaxgravityz(NMHDR *pNMHDR, LRESULT *pResult)
00836 {
00837 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00838
00839 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00840 GlRenderCurrent->system.SetEmitterMaxGravityZ(value);
00841 m_VParticule_Max_Gravity_Z.Format("%f",value);
00842 UpdateData(false);
00843 *pResult = 0;
00844 }
00845
00846 void CSDKParticulesDlg::OnDeltaposSpinpartmingravityx(NMHDR *pNMHDR, LRESULT *pResult)
00847 {
00848 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00849
00850 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00851 GlRenderCurrent->system.SetEmitterMinGravityX(value);
00852 m_VParticule_Min_Gravity_X.Format("%f",value);
00853 UpdateData(false);
00854 *pResult = 0;
00855 }
00856
00857 void CSDKParticulesDlg::OnDeltaposSpinpartmingravityy(NMHDR *pNMHDR, LRESULT *pResult)
00858 {
00859 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00860
00861 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00862 GlRenderCurrent->system.SetEmitterMinGravityY(value);
00863 m_VParticule_Min_Gravity_Y.Format("%f",value);
00864 UpdateData(false);
00865 *pResult = 0;
00866 }
00867
00868 void CSDKParticulesDlg::OnDeltaposSpinpartmingravityz(NMHDR *pNMHDR, LRESULT *pResult)
00869 {
00870 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00871
00872 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00873 GlRenderCurrent->system.SetEmitterMinGravityZ(value);
00874 m_VParticule_Min_Gravity_Z.Format("%f",value);
00875 UpdateData(false);
00876 *pResult = 0;
00877 }
00878
00879 void CSDKParticulesDlg::OnDeltaposSpinpartmaxaccelx(NMHDR *pNMHDR, LRESULT *pResult)
00880 {
00881 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00882
00883 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00884 GlRenderCurrent->system.SetEmitterMaxAccelerationX(value);
00885 m_VParticule_Max_Acceleration_X.Format("%f",value);
00886 UpdateData(false);
00887 *pResult = 0;
00888 }
00889
00890 void CSDKParticulesDlg::OnDeltaposSpinpartmaxaccely(NMHDR *pNMHDR, LRESULT *pResult)
00891 {
00892 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00893
00894 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00895 GlRenderCurrent->system.SetEmitterMaxAccelerationY(value);
00896 m_VParticule_Max_Acceleration_Y.Format("%f",value);
00897 UpdateData(false);
00898 *pResult = 0;
00899 }
00900
00901 void CSDKParticulesDlg::OnDeltaposSpinpartmaxaccelz(NMHDR *pNMHDR, LRESULT *pResult)
00902 {
00903 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00904
00905 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00906 GlRenderCurrent->system.SetEmitterMaxAccelerationZ(value);
00907 m_VParticule_Max_Acceleration_Z.Format("%f",value);
00908 UpdateData(false);
00909 *pResult = 0;
00910 }
00911
00912 void CSDKParticulesDlg::OnDeltaposSpinpartminaccelx(NMHDR *pNMHDR, LRESULT *pResult)
00913 {
00914 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00915
00916 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00917 GlRenderCurrent->system.SetEmitterMinAccelerationX(value);
00918 m_VParticule_Min_Acceleration_X.Format("%f",value);
00919 UpdateData(false);
00920 *pResult = 0;
00921 }
00922
00923 void CSDKParticulesDlg::OnDeltaposSpinpartminaccely(NMHDR *pNMHDR, LRESULT *pResult)
00924 {
00925 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00926
00927 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00928 GlRenderCurrent->system.SetEmitterMinAccelerationY(value);
00929 m_VParticule_Min_Acceleration_Y.Format("%f",value);
00930 UpdateData(false);
00931 *pResult = 0;
00932 }
00933
00934 void CSDKParticulesDlg::OnDeltaposSpinpartminaccelz(NMHDR *pNMHDR, LRESULT *pResult)
00935 {
00936 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00937
00938 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00939 GlRenderCurrent->system.SetEmitterMinAccelerationZ(value);
00940 m_VParticule_Min_Acceleration_Z.Format("%f",value);
00941 UpdateData(false);
00942 *pResult = 0;
00943 }
00944
00945 void CSDKParticulesDlg::OnDeltaposSpinpartmaxvelocityx(NMHDR *pNMHDR, LRESULT *pResult)
00946 {
00947 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00948
00949 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00950 GlRenderCurrent->system.SetEmitterMaxVelocityX(value);
00951 m_VParticule_Max_Velocity_x.Format("%f",value);
00952 UpdateData(false);
00953 *pResult = 0;
00954 }
00955
00956 void CSDKParticulesDlg::OnDeltaposSpinpartmaxvelocityy(NMHDR *pNMHDR, LRESULT *pResult)
00957 {
00958 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00959
00960 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00961 GlRenderCurrent->system.SetEmitterMaxVelocityY(value);
00962 m_VParticule_Max_Velocity_Y.Format("%f",value);
00963 UpdateData(false);
00964 *pResult = 0;
00965 }
00966
00967 void CSDKParticulesDlg::OnDeltaposSpinpartmaxvelocityz(NMHDR *pNMHDR, LRESULT *pResult)
00968 {
00969 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00970
00971 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00972 GlRenderCurrent->system.SetEmitterMaxVelocityZ(value);
00973 m_VParticule_Max_Velocity_Z.Format("%f",value);
00974 UpdateData(false);
00975 *pResult = 0;
00976 }
00977
00978 void CSDKParticulesDlg::OnDeltaposSpinpartminvelocityx(NMHDR *pNMHDR, LRESULT *pResult)
00979 {
00980 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00981
00982 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00983 GlRenderCurrent->system.SetEmitterMinVelocityX(value);
00984 m_VParticule_Min_Velocity_X.Format("%f",value);
00985 UpdateData(false);
00986 *pResult = 0;
00987 }
00988
00989 void CSDKParticulesDlg::OnDeltaposSpinpartminvelocityy(NMHDR *pNMHDR, LRESULT *pResult)
00990 {
00991 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
00992
00993 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
00994 GlRenderCurrent->system.SetEmitterMinVelocityY(value);
00995 m_VParticule_Min_Velocity_Y.Format("%f",value);
00996 UpdateData(false);
00997 *pResult = 0;
00998 }
00999
01000 void CSDKParticulesDlg::OnDeltaposSpinpartminvelocityz(NMHDR *pNMHDR, LRESULT *pResult)
01001 {
01002 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01003
01004 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
01005 GlRenderCurrent->system.SetEmitterMinVelocityZ(value);
01006 m_VParticule_Min_Velocity_Z.Format("%f",value);
01007 UpdateData(false);
01008 *pResult = 0;
01009 }
01010
01011 void CSDKParticulesDlg::OnDeltaposSpinpartmaxred(NMHDR *pNMHDR, LRESULT *pResult)
01012 {
01013 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01014
01015 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
01016 GlRenderCurrent->system.SetParticuleMaxColorR(value);
01017 m_VParticule_Max_Red.Format("%d",value);
01018 UpdateData(false);
01019 *pResult = 0;
01020 }
01021
01022 void CSDKParticulesDlg::OnDeltaposSpinpartmaxgreen(NMHDR *pNMHDR, LRESULT *pResult)
01023 {
01024 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01025
01026 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
01027 GlRenderCurrent->system.SetParticuleMaxColorG(value);
01028 m_VParticule_Max_Green.Format("%d",value);
01029 UpdateData(false);
01030 *pResult = 0;
01031 }
01032
01033 void CSDKParticulesDlg::OnDeltaposSpinpartmaxgravityz2(NMHDR *pNMHDR, LRESULT *pResult)
01034 {
01035 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01036
01037 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
01038 GlRenderCurrent->system.SetParticuleMaxColorB(value);
01039 m_VParticule_Max_Blue.Format("%d",value);
01040 UpdateData(false);
01041 *pResult = 0;
01042 }
01043
01044 void CSDKParticulesDlg::OnDeltaposSpinpartmaxtrans(NMHDR *pNMHDR, LRESULT *pResult)
01045 {
01046 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01047
01048 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
01049 GlRenderCurrent->system.SetParticuleMaxBlending(value);
01050 m_VParticule_Max_Trans.Format("%d",value);
01051 UpdateData(false);
01052 *pResult = 0;
01053 }
01054
01055 void CSDKParticulesDlg::OnDeltaposSpinpartmingreen(NMHDR *pNMHDR, LRESULT *pResult)
01056 {
01057 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01058
01059 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
01060 GlRenderCurrent->system.SetParticuleMinColorG(value);
01061 m_VParticule_Min_Green.Format("%d",value);
01062 UpdateData(false);
01063 *pResult = 0;
01064 }
01065
01066 void CSDKParticulesDlg::OnDeltaposSpinpartmingravityz2(NMHDR *pNMHDR, LRESULT *pResult)
01067 {
01068 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01069
01070 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
01071 GlRenderCurrent->system.SetParticuleMinColorB(value);
01072 m_VParticule_Min_Blue.Format("%d",value);
01073 UpdateData(false);
01074 *pResult = 0;
01075 }
01076
01077 void CSDKParticulesDlg::OnDeltaposSpinpartmintrans(NMHDR *pNMHDR, LRESULT *pResult)
01078 {
01079 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01080
01081 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
01082 GlRenderCurrent->system.SetParticuleMinBlending(value);
01083 m_VParticule_Min_Trans.Format("%d",value);
01084 UpdateData(false);
01085 *pResult = 0;
01086 }
01087
01088 void CSDKParticulesDlg::OnDeltaposSpinpartminred(NMHDR *pNMHDR, LRESULT *pResult)
01089 {
01090 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01091
01092 int value=labs(pNMUpDown->iDelta)*pNMUpDown->iPos;
01093 GlRenderCurrent->system.SetParticuleMinColorR(value);
01094 m_VParticule_Min_Red.Format("%d",value);
01095 UpdateData(false);
01096 *pResult = 0;
01097 }
01098
01099 void CSDKParticulesDlg::OnDeltaposSpinpartmaxweight(NMHDR *pNMHDR, LRESULT *pResult)
01100 {
01101 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01102
01103 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
01104 GlRenderCurrent->system.SetParticuleMaxGrowth(value);
01105 m_VParticule_Max_Weight.Format("%f",value);
01106 UpdateData(false);
01107 *pResult = 0;
01108 }
01109
01110 void CSDKParticulesDlg::OnDeltaposSpinpartmaxsize(NMHDR *pNMHDR, LRESULT *pResult)
01111 {
01112 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01113
01114 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
01115 GlRenderCurrent->system.SetParticuleMaxSize(value);
01116 m_VParticule_Max_Size.Format("%f",value);
01117 UpdateData(false);
01118 *pResult = 0;
01119 }
01120
01121 void CSDKParticulesDlg::OnDeltaposSpinpartminweight(NMHDR *pNMHDR, LRESULT *pResult)
01122 {
01123 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01124
01125 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
01126 GlRenderCurrent->system.SetParticuleMinGrowth(value);
01127 m_VParticule_Min_Weight.Format("%f",value);
01128 UpdateData(false);
01129 *pResult = 0;
01130 }
01131
01132 void CSDKParticulesDlg::OnDeltaposSpinpartminsize(NMHDR *pNMHDR, LRESULT *pResult)
01133 {
01134 LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
01135
01136 float value=(float)(labs(pNMUpDown->iDelta)*pNMUpDown->iPos)/10;
01137 GlRenderCurrent->system.SetParticuleMinSize(value);
01138 m_VParticule_Min_Size.Format("%f",value);
01139 UpdateData(false);
01140 *pResult = 0;
01141 }
01142
01143
01144
01145 void CSDKParticulesDlg::OnBnClickedButtontextchange()
01146 {
01147
01148 char szFilters[]="Texture Files (*.bmp)|*.bmp|All Files (*.*)|*.*||";
01149 CFileDialog fileDlg(true,"*.bmp",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilters,this);
01150 if(fileDlg.DoModal()==IDOK)
01151 {
01152 GlRenderCurrent->LoadTexture(fileDlg.GetPathName());
01153 GlRenderCurrent->system.SetParticuleTextureName(fileDlg.GetFileName().GetString());
01154 AfxMessageBox(fileDlg.GetFileName().GetString());
01155 }
01156 }
01157
01158 void CSDKParticulesDlg::OnBnClickedButtonsave()
01159 {
01160
01161 char szFilters[]="Texture Files (*.part)|*.part|All Files (*.*)|*.*||";
01162 CFileDialog fileDlg(false,"*.part",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilters,this);
01163 if(fileDlg.DoModal()==IDOK)
01164 {
01165 std::ofstream fout;
01166 CString Buffer;
01167 fout.open(fileDlg.GetPathName(),std::ios::out);
01168 fout<<"<filetype>particulesystem<#filetype>"<<std::endl;
01169 fout<<"<EmissionRate>"<<GlRenderCurrent->system.GetRate()<<"<#EmissionRate>"<<std::endl;
01170 fout<<"<MaxParticule>"<<GlRenderCurrent->system.GetMaxParticule()<<"<#MaxParticule>"<<std::endl;
01171 fout<<"<TypeEmmeteur>"<<GlRenderCurrent->system.GetEmitterType()<<"<#TypeEmmeteur>"<<std::endl;
01172 fout<<"<Point1X>"<<GlRenderCurrent->system.GetEmitterP1X()<<"<#Point1X>"<<std::endl;
01173 fout<<"<Point1y>"<<GlRenderCurrent->system.GetEmitterP1Y()<<"<#Point1y>"<<std::endl;
01174 fout<<"<Point1z>"<<GlRenderCurrent->system.GetEmitterP1Z()<<"<#Point1z>"<<std::endl;
01175 fout<<"<Point2X>"<<GlRenderCurrent->system.GetEmitterP2X()<<"<#Point2X>"<<std::endl;
01176 fout<<"<Point2y>"<<GlRenderCurrent->system.GetEmitterP2Y()<<"<#Point2y>"<<std::endl;
01177 fout<<"<Point2z>"<<GlRenderCurrent->system.GetEmitterP2Z()<<"<#Point2z>"<<std::endl;
01178 fout<<"<Rayon>"<<GlRenderCurrent->system.GetRange()<<"<#Rayon>"<<std::endl;
01179 fout<<"<VitessAngle>"<<GlRenderCurrent->system.GetSpeedAngle()<<"<#VitessAngle>"<<std::endl;
01180 fout<<"<MaxLifeSpan>"<<GlRenderCurrent->system.GetParticuleMaxLife()<<"<#MaxLifeSpan>"<<std::endl;
01181 fout<<"<MinLifeSpan>"<<GlRenderCurrent->system.GetParticuleMinLife()<<"<#MinLifeSpan>"<<std::endl;
01182 fout<<"<MaxGrowth>"<<GlRenderCurrent->system.GetParticuleMaxGrowth()<<"<#MaxGrowth>"<<std::endl;
01183 fout<<"<MinGrowth>"<<GlRenderCurrent->system.GetParticuleMinGrowth()<<"<#MinGrowth>"<<std::endl;
01184 fout<<"<MaxSize>"<<GlRenderCurrent->system.GetParticuleMaxSize()<<"<#MaxSize>"<<std::endl;
01185 fout<<"<MinSize>"<<GlRenderCurrent->system.GetParticuleMinSize()<<"<#MinSize>"<<std::endl;
01186 fout<<"<MaxWeight>"<<GlRenderCurrent->system.GetParticuleMaxWeight()<<"<#MaxWeight>"<<std::endl;
01187 fout<<"<MinWeight>"<<GlRenderCurrent->system.GetParticuleMinWeight()<<"<#MinWeight>"<<std::endl;
01188 fout<<"<MaxColorR>"<<GlRenderCurrent->system.GetParticuleMaxColorR()<<"<#MaxColorR>"<<std::endl;
01189 fout<<"<MinColorR>"<<GlRenderCurrent->system.GetParticuleMinColorR()<<"<#MinColorR>"<<std::endl;
01190 fout<<"<MaxColorG>"<<GlRenderCurrent->system.GetParticuleMaxColorG()<<"<#MaxColorG>"<<std::endl;
01191 fout<<"<MinColorG>"<<GlRenderCurrent->system.GetParticuleMinColorG()<<"<#MinColorG>"<<std::endl;
01192 fout<<"<MaxColorB>"<<GlRenderCurrent->system.GetParticuleMaxColorB()<<"<#MaxColorB>"<<std::endl;
01193 fout<<"<MinColorB>"<<GlRenderCurrent->system.GetParticuleMinColorB()<<"<#MinColorB>"<<std::endl;
01194 fout<<"<MaxBlending>"<<GlRenderCurrent->system.GetParticuleMaxBlending()<<"<#MaxBlending>"<<std::endl;
01195 fout<<"<MinBlending>"<<GlRenderCurrent->system.GetParticuleMinBlending()<<"<#MinBlending>"<<std::endl;
01196 fout<<"<MaxVelocityX>"<<GlRenderCurrent->system.GetEmitterMaxVelocityX()<<"<#MaxVelocityX>"<<std::endl;
01197 fout<<"<MaxVelocityY>"<<GlRenderCurrent->system.GetEmitterMaxVelocityY()<<"<#MaxVelocityY>"<<std::endl;
01198 fout<<"<MaxVelocityZ>"<<GlRenderCurrent->system.GetEmitterMaxVelocityZ()<<"<#MaxVelocityZ>"<<std::endl;
01199 fout<<"<MinVelocityX>"<<GlRenderCurrent->system.GetEmitterMinVelocityX()<<"<#MinVelocityX>"<<std::endl;
01200 fout<<"<MinVelocityY>"<<GlRenderCurrent->system.GetEmitterMinVelocityY()<<"<#MinVelocityY>"<<std::endl;
01201 fout<<"<MinVelocityZ>"<<GlRenderCurrent->system.GetEmitterMinVelocityZ()<<"<#MinVelocityZ>"<<std::endl;
01202 fout<<"<MaxAccelerationX>"<<GlRenderCurrent->system.GetEmitterMaxAccelerationX()<<"<#MaxAccelerationX>"<<std::endl;
01203 fout<<"<MaxAccelerationY>"<<GlRenderCurrent->system.GetEmitterMaxAccelerationY()<<"<#MaxAccelerationY>"<<std::endl;
01204 fout<<"<MaxAccelerationZ>"<<GlRenderCurrent->system.GetEmitterMaxAccelerationZ()<<"<#MaxAccelerationZ>"<<std::endl;
01205 fout<<"<MinAccelerationX>"<<GlRenderCurrent->system.GetEmitterMinAccelerationX()<<"<#MinAccelerationX>"<<std::endl;
01206 fout<<"<MinAccelerationY>"<<GlRenderCurrent->system.GetEmitterMinAccelerationY()<<"<#MinAccelerationY>"<<std::endl;
01207 fout<<"<MinAccelerationZ>"<<GlRenderCurrent->system.GetEmitterMinAccelerationZ()<<"<#MinAccelerationZ>"<<std::endl;
01208 fout<<"<MaxGravityX>"<<GlRenderCurrent->system.GetEmitterMaxGravityX()<<"<#MaxGravityX>"<<std::endl;
01209 fout<<"<MaxGravityY>"<<GlRenderCurrent->system.GetEmitterMaxGravityY()<<"<#MaxGravityY>"<<std::endl;
01210 fout<<"<MaxGravityZ>"<<GlRenderCurrent->system.GetEmitterMaxGravityZ()<<"<#MaxGravityZ>"<<std::endl;
01211 fout<<"<MinGravityX>"<<GlRenderCurrent->system.GetEmitterMinGravityX()<<"<#MinGravityX>"<<std::endl;
01212 fout<<"<MinGravityY>"<<GlRenderCurrent->system.GetEmitterMinGravityY()<<"<#MinGravityY>"<<std::endl;
01213 fout<<"<MinGravityZ>"<<GlRenderCurrent->system.GetEmitterMinGravityZ()<<"<#MinGravityZ>"<<std::endl;
01214 fout<<"<Type>"<<GlRenderCurrent->system.GetParticuleType()<<"<#Type>"<<std::endl;
01215 fout<<"<Texture>"<<GlRenderCurrent->system.GetParticuleTexture()<<"<#Texture>"<<std::endl;
01216 fout.close();
01217 }
01218 }