Added aqua_speed for rite geo 50 tryker
[ryzomcore.git] / nel / tools / 3d / object_viewer / edit_ps_light.h
blob976acfd9633ac9f7aee5cef51f161c3d2f80ec0b
1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
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.
8 //
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_EDIT_PS_LIGHT_H__6F00004D_F2A5_452E_9FC2_8188F9164613__INCLUDED_)
18 #define AFX_EDIT_PS_LIGHT_H__6F00004D_F2A5_452E_9FC2_8188F9164613__INCLUDED_
20 #if _MSC_VER > 1000
21 #pragma once
22 #endif // _MSC_VER > 1000
23 // edit_ps_light.h : header file
25 #include "nel/3d/ps_light.h"
27 #include "ps_wrapper.h"
28 #include "particle_workspace.h"
32 class CAttribDlgFloat;
33 class CAttribDlgRGBA;
36 /* Edition of dynamic lights attributes in a particle system
38 * \author Nicolas Vizerie
39 * \author Nevrax France
40 * \date 2003
42 class CEditPSLight : public CDialog
44 // Construction
45 public:
46 CEditPSLight(CParticleWorkspace::CNode *ownerNode, NL3D::CPSLight *light); // standard constructor
47 ~CEditPSLight();
49 void init(CWnd* pParent = NULL);
50 // Dialog Data
51 //{{AFX_DATA(CEditPSLight)
52 enum { IDD = IDD_PS_LIGHT };
53 // NOTE: the ClassWizard will add data members here
54 //}}AFX_DATA
57 // Overrides
58 // ClassWizard generated virtual function overrides
59 //{{AFX_VIRTUAL(CEditPSLight)
60 protected:
61 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
62 //}}AFX_VIRTUAL
64 // Implementation
65 protected:
66 CParticleWorkspace::CNode *_Node;
67 NL3D::CPSLight *_Light;
68 CAttribDlgRGBA *_ColorDlg;
69 CAttribDlgFloat *_AttenStartDlg;
70 CAttribDlgFloat *_AttenEndDlg;
71 // Generated message map functions
72 //{{AFX_MSG(CEditPSLight)
73 // NOTE: the ClassWizard will add member functions here
74 //}}AFX_MSG
75 DECLARE_MESSAGE_MAP()
76 ///////////////////////////////////////
77 // wrapper to set the color of light //
78 ///////////////////////////////////////
79 struct CColorWrapper : public IPSWrapperRGBA, IPSSchemeWrapperRGBA
81 NL3D::CPSLight *L;
82 NLMISC::CRGBA get(void) const { return L->getColor(); }
83 void set(const NLMISC::CRGBA &v) { L->setColor(v); }
84 scheme_type *getScheme(void) const { return L->getColorScheme(); }
85 void setScheme(scheme_type *s) { L->setColorScheme(s); }
86 } _ColorWrapper;
87 ///////////////////////////////////////
88 // wrapper to set start atten radius //
89 ///////////////////////////////////////
90 struct CAttenStartWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
92 NL3D::CPSLight *L;
93 float get(void) const { return L->getAttenStart(); }
94 void set(const float &v) { L->setAttenStart(v); }
95 scheme_type *getScheme(void) const { return L->getAttenStartScheme(); }
96 void setScheme(scheme_type *s) { L->setAttenStartScheme(s); }
97 } _AttenStartWrapper;
98 ///////////////////////////////////////
99 // wrapper to set end atten radius //
100 ///////////////////////////////////////
101 struct CAttenEndWrapper : public IPSWrapperFloat, IPSSchemeWrapperFloat
103 NL3D::CPSLight *L;
104 float get(void) const { return L->getAttenEnd(); }
105 void set(const float &v) { L->setAttenEnd(v); }
106 scheme_type *getScheme(void) const { return L->getAttenEndScheme(); }
107 void setScheme(scheme_type *s) { L->setAttenEndScheme(s); }
108 } _AttenEndWrapper;
111 //{{AFX_INSERT_LOCATION}}
112 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
114 #endif // !defined(AFX_EDIT_PS_LIGHT_H__6F00004D_F2A5_452E_9FC2_8188F9164613__INCLUDED_)