1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #if !defined(AFX_COLLISION_ZONE_DLG_H__45AFAC35_D67B_40AB_85B6_7A472B7C4B30__INCLUDED_)
18 #define AFX_COLLISION_ZONE_DLG_H__45AFAC35_D67B_40AB_85B6_7A472B7C4B30__INCLUDED_
28 #include "ps_wrapper.h"
29 #include "dialog_stack.h"
30 #include "editable_range.h"
31 #include "particle_workspace.h"
33 #include "nel/3d/ps_zone.h"
38 /////////////////////////////////////////////////////////////////////////////
39 // CCollisionZoneDlg dialog
41 class CCollisionZoneDlg
: public CDialog
, public CDialogStack
45 CCollisionZoneDlg(CParticleWorkspace::CNode
*ownerNode
, NL3D::CPSZone
*zone
, CParticleDlg
*particleDlg
) ; // standard constructor
47 void init(sint x
, sint y
, CWnd
*pParent
) ;
49 //{{AFX_DATA(CCollisionZoneDlg)
50 enum { IDD
= IDD_ZONE
};
51 CComboBox m_CollisionBehaviour
;
56 // ClassWizard generated virtual function overrides
57 //{{AFX_VIRTUAL(CCollisionZoneDlg)
59 virtual void DoDataExchange(CDataExchange
* pDX
); // DDX/DDV support
64 CParticleWorkspace::CNode
*_Node
;
65 CParticleDlg
*_ParticleDlg
;
66 // the collision zone being edited
67 NL3D::CPSZone
*_Zone
;
68 // edition of the bounce factor
69 CEditableRangeFloat
*_BounceFactorDlg
;
70 // Generated message map functions
71 //{{AFX_MSG(CCollisionZoneDlg)
72 afx_msg
void OnSelchangeCollisionBehaviour();
76 // wrapper to set the bounce factor of a collision zone
77 struct CBounceFactorWrapper
: public IPSWrapperFloat
79 // the zone being wrapped
81 float get(void) const { return Z
->getBounceFactor() ; }
82 void set(const float &v
) { Z
->setBounceFactor(v
) ; }
83 } _BounceFactorWrapper
;
87 //{{AFX_INSERT_LOCATION}}
88 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
90 #endif // !defined(AFX_COLLISION_ZONE_DLG_H__45AFAC35_D67B_40AB_85B6_7A472B7C4B30__INCLUDED_)