#include <ps_color.h>
Inheritance diagram for NL3D::CPSColorGradient:
Definition at line 90 of file ps_color.h.
Public Types | |
typedef CPSValueGradientFunc< T > | functor_type |
the type of the functor object | |
typedef T | value_type |
the type of the attribute to be produced | |
Public Member Functions | |
CPSAttribMakerBase * | clone () const |
CPSColorGradient (const NLMISC::CRGBA *colorTab, uint32 nbValues, uint32 nbStages, float nbCycles=1.0f) | |
====================================================================================== | |
CPSColorGradient () | |
virtual T | get (float input) |
virtual T | get (CPSLocated *loc, uint32 index) |
compute one value of the attribute for the given index | |
virtual bool | getClamping (void) const |
virtual std::string | getClassName ()=0 |
virtual CPSInputType | getInput (void) const |
virtual T | getMaxValue (void) const |
get the min value, or an evalution that is guaranteed to be < to it (meaningful for ordered set only) | |
virtual T | getMinValue (void) const |
get the max value, or an evalution that is guaranteed to be > to it (meaningful for ordered set only) | |
virtual bool | hasCustomInput (void) |
bool | isClampingSupported (void) const |
NLMISC_DECLARE_CLASS (CPSColorGradient) | |
virtual void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
serialisation of the object | |
virtual void | setClamping (bool enable=true) |
virtual void | setInput (const CPSInputType &input) |
Data Fields | |
CPSValueGradientFunc< T > | _F |
the functor object | |
Static Public Attributes | |
NLMISC::CRGBA | _DefaultGradient [] |
Protected Attributes | |
bool | _HasMemory |
float | _NbCycles |
|
the type of the functor object
Definition at line 174 of file ps_attrib_maker_helper.h. |
|
the type of the attribute to be produced
Definition at line 171 of file ps_attrib_maker_helper.h. |
|
default ctor NB: a non null gradient must be set before use Definition at line 45 of file ps_color.cpp.
00045 : CPSValueGradient<CRGBA>(1.f) 00046 { 00047 } |
|
====================================================================================== Construct the value gradient blender by passing a pointer to a color table.
Definition at line 51 of file ps_color.cpp. References uint32.
00052 : CPSValueGradient<CRGBA>(nbCycles) 00053 { 00054 _F.setValues(colorTab, nbValues, nbStages) ; 00055 } |
|
Implements NL3D::CPSAttribMakerBase. Definition at line 108 of file ps_color.h.
00108 { return new CPSColorGradient(*this); } |
|
delete an element, given its index. this must be called only if memory management is used.
Reimplemented in NL3D::CPSAttribMakerBinOp< T >, NL3D::CPSAttribMakerMemoryBase< T >, NL3D::CPSAttribMakerBinOp< float >, NL3D::CPSAttribMakerBinOp< CPlaneBasis >, NL3D::CPSAttribMakerBinOp< uint32 >, NL3D::CPSAttribMakerBinOp< NLMISC::CRGBA >, NL3D::CPSAttribMakerBinOp< sint32 >, NL3D::CPSAttribMakerMemoryBase< float >, NL3D::CPSAttribMakerMemoryBase< CPlaneBasis >, NL3D::CPSAttribMakerMemoryBase< NLMISC::CRGBA >, NL3D::CPSAttribMakerMemoryBase< uint32 >, and NL3D::CPSAttribMakerMemoryBase< sint32 >. Definition at line 285 of file ps_attrib_maker.h.
00285 { nlassert(false) ; } |
|
Direct lookup of the result value from a float input (if it makes sense). This bypass what was set with setInput The input must be in [0, 1[ Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 60 of file ps_attrib_maker_helper.h.
00061 { 00062 NLMISC::OptFastFloorBegin(); 00063 nlassert(input >= 0.f && input <= 1.f); 00064 return _F(input); 00065 NLMISC::OptFastFloorEnd(); 00066 } |
|
compute one value of the attribute for the given index
Implements NL3D::CPSAttribMaker< T >. |
|
Test if the clamping is enabled.
Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 167 of file ps_attrib_maker_helper.h.
00167 { return _Clamp; };
|
|
Implemented in NLAIAGENT::CNumericIndex, NLAIC::IPointerGestion, NLAIC::CIdentType, and CAutomataDesc. Referenced by NLMISC::CClassRegistry::checkObject(), and NL3D::GetTextureSize(). |
|
get the type of input (if supported). The default return attrDate
Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 150 of file ps_attrib_maker_helper.h.
00150 { return _InputType; }
|
|
get the min value, or an evalution that is guaranteed to be < to it (meaningful for ordered set only)
Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 412 of file ps_attrib_maker_template.h.
00412 { return _F.getMaxValue(); } |
|
get the max value, or an evalution that is guaranteed to be > to it (meaningful for ordered set only)
Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 413 of file ps_attrib_maker_template.h.
00413 { return _F.getMinValue(); } |
|
Retrieve the number of cycles
Definition at line 236 of file ps_attrib_maker.h.
00236 { return _NbCycles ; } |
|
inherited from CPSAttribMakerBase. Template specialization will do the job
Implements NL3D::CPSAttribMakerBase. Definition at line 147 of file ps_attrib_maker.h.
00147 { return "UNKNOWN"; } |
|
tells wether one may choose one attribute from a CPSLocated to use as an input. If false, the input(s) is fixed For this class, it is supported Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 139 of file ps_attrib_maker_helper.h.
00139 { return true; } |
|
Some attribute makers may hold memory. this return true when this is the case. This also mean that you must call newElement, deleteElement, and resize, when it is called for the owning object (which is likely to be a CPSLocatedBindable) Definition at line 282 of file ps_attrib_maker.h. Referenced by NL3D::CPSLocated::setLifeScheme(), and NL3D::CPSLocated::setMassScheme().
00282 { return _HasMemory ; } |
|
tells wether clamping is supported for the input (value can't go above MaxInputValue) Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 155 of file ps_attrib_maker_helper.h.
00155 { return true; } |
|
create a new element, and provides the emitter, this must be called only if this attribute maker has its own memory Reimplemented in NL3D::CPSAttribMakerBinOp< T >, NL3D::CPSAttribMakerMemoryBase< T >, NL3D::CPSAttribMakerMemory< uint32 >, NL3D::CPSAttribMakerMemory< sint32 >, NL3D::CPSAttribMakerMemory< float >, NL3D::CPSAttribMakerBinOp< float >, NL3D::CPSAttribMakerBinOp< CPlaneBasis >, NL3D::CPSAttribMakerBinOp< uint32 >, NL3D::CPSAttribMakerBinOp< NLMISC::CRGBA >, NL3D::CPSAttribMakerBinOp< sint32 >, NL3D::CPSAttribMakerMemoryBase< float >, NL3D::CPSAttribMakerMemoryBase< CPlaneBasis >, NL3D::CPSAttribMakerMemoryBase< NLMISC::CRGBA >, NL3D::CPSAttribMakerMemoryBase< uint32 >, and NL3D::CPSAttribMakerMemoryBase< sint32 >. Definition at line 290 of file ps_attrib_maker.h.
00290 { nlassert(false) ; } |
|
|
|
|
serialisation of the object The same as make4, but with n replication instead of 4
Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 104 of file ps_attrib_maker_helper.h.
00105 { 00106 sint ver = f.serialVersion(2); 00107 CPSAttribMaker<T>::serial(f); 00108 f.serial(_F); 00109 switch (ver) 00110 { 00111 case 1: 00112 { 00113 CPSInputType it; 00114 f.serialEnum(it.InputType); 00115 _InputType = it; 00116 } 00117 break; 00118 case 2: 00119 f.serial(_InputType); 00120 break; 00121 } 00122 f.serial(_Clamp); 00123 } |
|
Enable, disable the clamping of input values.
Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 161 of file ps_attrib_maker_helper.h.
00161 { _Clamp = enable; }; |
|
set a new input type Reimplemented from NL3D::CPSAttribMaker< T >. Definition at line 144 of file ps_attrib_maker_helper.h.
00144 { _InputType = input; } |
|
Set the number of cycles that must be done during the life of a particle, or the number of cycle per second for a particle that has no life limit. It is used to multiply the input used by this attribute maker It must be >= 0 Definition at line 227 of file ps_attrib_maker.h.
|
|
Initial value: Definition at line 36 of file ps_color.cpp. |
|
the functor object
Definition at line 55 of file ps_attrib_maker_helper.h. |
|
Definition at line 304 of file ps_attrib_maker.h. |
|
Definition at line 301 of file ps_attrib_maker.h. |