Main Page   Namespace List   Class Hierarchy   Alphabetical List   Data Structures   File List   Namespace Members   Data Fields   Globals  

SDKParticulesDlg.cpp

Go to the documentation of this file.
00001 // SDKParticulesDlg.cpp : implementation file
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 // CAboutDlg dialog used for App About
00014 
00015 class CAboutDlg : public CDialog
00016 {
00017 public:
00018         CAboutDlg();
00019 
00020 // Dialog Data
00021         enum { IDD = IDD_ABOUTBOX };
00022 
00023         protected:
00024         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
00025 
00026 // Implementation
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 // CSDKParticulesDlg dialog
00045 
00046 
00047 
00048 CSDKParticulesDlg::CSDKParticulesDlg(CWnd* pParent /*=NULL*/)
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         //}}AFX_MSG_MAP
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 // CSDKParticulesDlg message handlers
00249 
00250 BOOL CSDKParticulesDlg::OnInitDialog()
00251 {
00252         CDialog::OnInitDialog();
00253 
00254         // Add "About..." menu item to system menu.
00255 
00256         // IDM_ABOUTBOX must be in the system command range.
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         // Set the icon for this dialog.  The framework does this automatically
00273         //  when the application's main window is not a dialog
00274         SetIcon(m_hIcon, TRUE);                 // Set big icon
00275         SetIcon(m_hIcon, FALSE);                // Set small icon
00276 
00277         // TODO: Add extra initialization here
00278         int iWidth,iHeight;
00279         CPaintDC dc(this); // device context for painting
00280         m_hDC = ::GetDC(this->m_hWnd);
00281 
00282         //Openlg render 
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         //init défault value 
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         //hBmp=(HBITMAP)LoadImage(NULL,"",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
00316 
00317         return TRUE;  // return TRUE  unless you set the focus to a control
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 // If you add a minimize button to your dialog, you will need the code below
00334 //  to draw the icon.  For MFC applications using the document/view model,
00335 //  this is automatically done for you by the framework.
00336 
00337 void CSDKParticulesDlg::OnPaint() 
00338 {
00339         CPaintDC dc(this); // device context for painting
00340         if (IsIconic())
00341         {
00342                 
00343 
00344                 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
00345 
00346                 // Center icon in client rectangle
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                 // Draw the icon
00355                 dc.DrawIcon(x, y, m_hIcon);
00356 
00357         }
00358         else
00359         {
00360                 CDialog::OnPaint();
00361         }
00362         GlRenderCurrent->DrawGLScene();
00363         //OnPrepareDC(&dc);
00364         
00365 
00366 }
00367 
00368 // The system calls this function to obtain the cursor to display while the user drags
00369 //  the minimized window.
00370 HCURSOR CSDKParticulesDlg::OnQueryDragIcon()
00371 {
00372         return static_cast<HCURSOR>(m_hIcon);
00373 }
00374 
00375 void CSDKParticulesDlg::OnRButtonDown(UINT nFlags, CPoint point)
00376 {
00377         // TODO : ajoutez ici le code de votre gestionnaire de messages et/ou les paramètres par défaut des appels
00378         m_MouseDownPoint=point;
00379     SetCapture();
00380         CDialog::OnRButtonDown(nFlags, point);
00381 }
00382 
00383 void CSDKParticulesDlg::OnRButtonUp(UINT nFlags, CPoint point)
00384 {
00385         // TODO : ajoutez ici le code de votre gestionnaire de messages et/ou les paramètres par défaut des appels
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         // TODO : ajoutez ici le code de votre gestionnaire de messages et/ou les paramètres par défaut des appels
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         // TODO : ajoutez ici le code de votre gestionnaire de messages et/ou les paramètres par défaut des appels
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de messages et/ou les paramètres par défaut des appels
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
00668         Reset();
00669 }
00670 
00671 void CSDKParticulesDlg::OnCbnSelchangeComboemittype()
00672 {
00673         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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         // TODO : ajoutez ici le code de votre gestionnaire de notification de contrôle
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 }

Generated on Tue Dec 10 18:20:09 2002 for ExNihilo by doxygen1.3-rc1