mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-25 08:36:14 +00:00
142 lines
4.3 KiB
C++
142 lines
4.3 KiB
C++
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
|
// Copyright (C) 2010 Winch Gate Property Limited
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as
|
|
// published by the Free Software Foundation, either version 3 of the
|
|
// License, or (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
#ifndef NL_VEGETABLE_EDIT_TOOLS_H
|
|
#define NL_VEGETABLE_EDIT_TOOLS_H
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// range_selector.h : header file
|
|
//
|
|
|
|
|
|
#include "nel/misc/types_nl.h"
|
|
#include "editable_range.h"
|
|
#include "vegetable_refresh.h"
|
|
|
|
|
|
// ***************************************************************************
|
|
// Defaults Sliders ranges.
|
|
#define NL_VEGETABLE_EDIT_DEFAULT_MAX_DENSITY 50.f
|
|
|
|
// General Frequence
|
|
#define NL_VEGETABLE_FREQ_RANGE_MIN 0.0001f
|
|
#define NL_VEGETABLE_FREQ_RANGE_MAX 1.f
|
|
#define NL_VEGETABLE_FREQ_DEFAULT 0.1f
|
|
// Density
|
|
#define NL_VEGETABLE_DENSITY_ABS_RANGE_MIN -10.f
|
|
#define NL_VEGETABLE_DENSITY_ABS_RANGE_MAX 10.f
|
|
#define NL_VEGETABLE_DENSITY_RAND_RANGE_MIN 0.f
|
|
#define NL_VEGETABLE_DENSITY_RAND_RANGE_MAX 10.f
|
|
#define NL_VEGETABLE_DENSITY_ABS_DEFAULT 0.f
|
|
#define NL_VEGETABLE_DENSITY_RAND_DEFAULT 0.25f
|
|
// BendPhase
|
|
#define NL_VEGETABLE_BENDPHASE_RANGE_MIN 0.f
|
|
#define NL_VEGETABLE_BENDPHASE_RANGE_MAX 2.f
|
|
#define NL_VEGETABLE_BENDPHASE_ABS_DEFAULT 0.f
|
|
#define NL_VEGETABLE_BENDPHASE_RAND_DEFAULT 2.f
|
|
// BendFactor
|
|
#define NL_VEGETABLE_BENDFACTOR_RANGE_MIN 0.f
|
|
#define NL_VEGETABLE_BENDFACTOR_RANGE_MAX 1.f
|
|
#define NL_VEGETABLE_BENDFACTOR_ABS_DEFAULT 0.5f
|
|
#define NL_VEGETABLE_BENDFACTOR_RAND_DEFAULT 0.5f
|
|
// ColorNoise
|
|
#define NL_VEGETABLE_COLOR_RANGE_MIN -1.f
|
|
#define NL_VEGETABLE_COLOR_RANGE_MAX 3.f
|
|
#define NL_VEGETABLE_COLOR_ABS_DEFAULT -1.f
|
|
#define NL_VEGETABLE_COLOR_RAND_DEFAULT 3.f
|
|
// Scale
|
|
#define NL_VEGETABLE_SCALE_RANGE_MIN 0.f
|
|
#define NL_VEGETABLE_SCALE_RANGE_MAX 1.f
|
|
#define NL_VEGETABLE_SCALE_ABS_DEFAULT 0.5f
|
|
#define NL_VEGETABLE_SCALE_RAND_DEFAULT 0.5f
|
|
// Rotate
|
|
#define NL_VEGETABLE_ROTATE_RANGE_MIN -90.f
|
|
#define NL_VEGETABLE_ROTATE_RANGE_MAX 90.f
|
|
#define NL_VEGETABLE_ROTATEX_ABS_DEFAULT -20.f
|
|
#define NL_VEGETABLE_ROTATEX_RAND_DEFAULT 40.f
|
|
#define NL_VEGETABLE_ROTATEY_ABS_DEFAULT 0.f
|
|
#define NL_VEGETABLE_ROTATEY_RAND_DEFAULT 0.f
|
|
#define NL_VEGETABLE_ROTATEZ_ABS_DEFAULT 0.f
|
|
#define NL_VEGETABLE_ROTATEZ_RAND_DEFAULT 3000.f
|
|
#define NL_VEGETABLE_ROTATEZ_FREQ_DEFAULT 10.f
|
|
// BendFreq
|
|
#define NL_VEGETABLE_BENDFREQ_RANGE_MIN 0.f
|
|
#define NL_VEGETABLE_BENDFREQ_RANGE_MAX 4.f
|
|
|
|
|
|
|
|
// ***************************************************************************
|
|
/**
|
|
* An edition of a float with a pointer to him
|
|
* \author Lionel Berenguier
|
|
* \author Nevrax France
|
|
* \date 2001
|
|
*/
|
|
class CDirectEditableRangeFloat : public CEditableRangeFloat
|
|
{
|
|
public:
|
|
// Approximate Height of this control
|
|
enum {ControlHeight= 34};
|
|
|
|
public:
|
|
|
|
// ctor.
|
|
CDirectEditableRangeFloat(const std::string &id, float defaultMin, float defaultMax, const std::string &title);
|
|
|
|
// Init the dialog, and the static text.
|
|
virtual void init(uint32 x, uint32 y, CWnd *pParent);
|
|
|
|
// Set our pointer to the float, and update view.
|
|
void setFloat(float *value, IVegetableRefresh *vegetRefresh);
|
|
|
|
// if false, nothgin will be written to the Float.
|
|
void enableWrite(bool enb);
|
|
|
|
// *****************
|
|
private:
|
|
|
|
// Our easy wrapper.
|
|
class CDirectFloatWrapper : public IPSWrapperFloat
|
|
{
|
|
public:
|
|
CDirectFloatWrapper()
|
|
{
|
|
Value= NULL;
|
|
WriteEnabled= true;
|
|
}
|
|
|
|
float *Value ;
|
|
IVegetableRefresh *VegetableRefresh;
|
|
bool WriteEnabled;
|
|
float get(void) const;
|
|
void set(const float &f);
|
|
};
|
|
|
|
CDirectFloatWrapper _Wrapper;
|
|
|
|
|
|
// Our Caption
|
|
std::string _Title;
|
|
CStatic _StaticText;
|
|
|
|
};
|
|
|
|
|
|
#endif // NL_VEGETABLE_EDIT_TOOLS_H
|
|
|
|
/* End of vegetable_edit_tools.h */
|