#include <ps_float.h>
Inheritance diagram for NL3D::CPSFloatBinOp:
Definition at line 97 of file ps_float.h.
Public Member Functions | |
CPSAttribMakerBase * | clone () const |
virtual void | deleteElement (uint32 index) |
delete an element, given its index. this must be called only if memory management is used. | |
virtual float | get (float input) |
virtual float | get (CPSLocated *loc, uint32 index) |
compute one value of the attribute from the given located at the given index | |
const CPSAttribMaker< float > * | getArg (uint argNb) const |
CPSAttribMaker< float > * | getArg (uint argNb) |
virtual bool | getClamping (void) const |
virtual std::string | getClassName ()=0 |
virtual CPSInputType | getInput (void) const |
virtual float | getMaxValue (void) const |
get the min value, or an evalution that is guaranteed to be < to it (meaningful for ordered set only) | |
virtual float | getMinValue (void) const |
get the max value, or an evalution that is guaranteed to be > to it (meaningful for ordered set only) | |
float | getNbCycles (void) const |
CPSBinOp::BinOp | getOp (void) const |
get the current operator | |
virtual const char * | getType () |
inherited from CPSAttribMakerBase. Template specialization will do the job | |
virtual bool | hasCustomInput (void) |
tells wether one may choose one attribute from a CPSLocated to use as an input. If false, the input(s) is fixed | |
bool | hasMemory (void) const |
virtual bool | isClampingSupported (void) const |
virtual void * | make (CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, bool allowNoCopy=false, uint32 srcStep=(1<< 16)) const |
virtual void | make4 (CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, uint32 srcStep=(1<< 16)) const |
virtual void | makeN (CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, uint32 nbReplicate, uint32 srcStep=(1<< 16)) const |
virtual void | newElement (CPSLocated *emitterLocated, uint32 emitterIndex) |
NLMISC_DECLARE_CLASS (CPSFloatBinOp) | |
virtual void | resize (uint32 capacity, uint32 nbPresentElements) |
virtual void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
serialisation of the object. Derivers MUST call this, (if they use the attribute of this class at least) | |
void | setArg (uint argNb, CPSAttribMaker< float > *arg) |
virtual void | setClamping (bool enable=true) |
virtual void | setInput (const CPSInputType &input) |
void | setNbCycles (float nbCycles) |
void | setOp (CPSBinOp::BinOp op) |
bool | supportOp (CPSBinOp::BinOp op) |
return true if an operation is supported. The default support all ops | |
Protected Member Functions | |
void | clean (void) |
void | make4Private (float *buf1, float *buf2, CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, uint32 srcStep=(1<< 16)) const |
void | makeNPrivate (float *buf1, float *buf2, CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, uint32 nbReplicate, uint32 srcStep=(1<< 16)) const |
void * | makePrivate (float *buf1, float *buf2, CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, bool allowNoCopy=false, uint32 srcStep=(1<< 16)) const |
Protected Attributes | |
CPSAttribMaker< float > * | _Arg [2] |
bool | _HasMemory |
uint32 | _MaxSize |
float | _NbCycles |
CPSBinOp::BinOp | _Op |
uint32 | _Size |
|
|
|
Implements NL3D::CPSAttribMakerBase. Definition at line 101 of file ps_float.h.
00101 { return new CPSFloatBinOp(*this); } |
|
delete an element, given its index. this must be called only if memory management is used.
Reimplemented from NL3D::CPSAttribMaker< float >. |
|
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 in NL3D::CPSAttribMakerT< float, CPSFloatCurveFunctor >, NL3D::CPSAttribMakerT< float, CPSValueGradientFunc< float > >, and NL3D::CPSAttribMakerT< float, CPSValueBlendFunc< float > >. Definition at line 161 of file ps_attrib_maker.h.
00161 { nlassert(0); return T(); /* not supported by default */ } |
|
compute one value of the attribute from the given located at the given index
Implements NL3D::CPSAttribMaker< float >. |
|
get an argument, const version
Definition at line 148 of file ps_attrib_maker_bin_op.h.
|
|
get an argument
Definition at line 139 of file ps_attrib_maker_bin_op.h.
|
|
Test if the clamping is enabled. The default is false (clamping unsupported)
Reimplemented in NL3D::CPSAttribMakerT< float, CPSFloatCurveFunctor >, NL3D::CPSAttribMakerT< float, CPSValueGradientFunc< float > >, and NL3D::CPSAttribMakerT< float, CPSValueBlendFunc< float > >. Definition at line 272 of file ps_attrib_maker.h.
00272 { return false ; } |
|
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 in NL3D::CPSAttribMakerT< float, CPSFloatCurveFunctor >, NL3D::CPSAttribMakerT< float, CPSValueGradientFunc< float > >, and NL3D::CPSAttribMakerT< float, CPSValueBlendFunc< float > >. Definition at line 251 of file ps_attrib_maker.h.
00251 { return CPSInputType() ; }
|
|
get the min value, or an evalution that is guaranteed to be < to it (meaningful for ordered set only)
Reimplemented from NL3D::CPSAttribMaker< float >. Definition at line 175 of file ps_attrib_maker_bin_op.h.
00175 { return T() ; /* no mean by default */ } |
|
get the max value, or an evalution that is guaranteed to be > to it (meaningful for ordered set only)
Reimplemented from NL3D::CPSAttribMaker< float >. Definition at line 174 of file ps_attrib_maker_bin_op.h.
00174 { return T() ; /* no mean by default */ } |
|
Retrieve the number of cycles
Definition at line 236 of file ps_attrib_maker.h.
00236 { return _NbCycles ; } |
|
get the current operator
Definition at line 170 of file ps_attrib_maker_bin_op.h.
00170 { return _Op; } |
|
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
Reimplemented in NL3D::CPSAttribMakerT< float, CPSFloatCurveFunctor >, NL3D::CPSAttribMakerT< float, CPSValueGradientFunc< float > >, and NL3D::CPSAttribMakerT< float, CPSValueBlendFunc< float > >. Definition at line 239 of file ps_attrib_maker.h.
00239 { return false ; } |
|
|
tells wether clamping is supported for the input (value can't go above MaxInputValue) The default is false Reimplemented in NL3D::CPSAttribMakerT< float, CPSFloatCurveFunctor >, NL3D::CPSAttribMakerT< float, CPSValueGradientFunc< float > >, and NL3D::CPSAttribMakerT< float, CPSValueBlendFunc< float > >. Definition at line 258 of file ps_attrib_maker.h.
00258 { return false ; } |
|
Fill tab with an attribute by using the given stride. It fills numAttrib attributes.
Implements NL3D::CPSAttribMaker< float >. |
|
The same as make, but it replicate each attribute 4 times, thus filling 4*numAttrib. Useful for facelookat and the like
Implements NL3D::CPSAttribMaker< float >. |
|
|
|
The same as make4, but with n replication instead of 4
Implements NL3D::CPSAttribMaker< float >. |
|
|
|
|
|
create a new element, and provides the emitter, this must be called only if this attribute maker has its own memory Reimplemented from NL3D::CPSAttribMaker< float >. |
|
|
|
set a new capacity for the memorized attribute, and a number of used element. This usually is 0 , but during edition, this may not be ... so new element are created. this must be called only if this attribute maker has its own memory Reimplemented from NL3D::CPSAttribMaker< float >. |
|
serialisation of the object. Derivers MUST call this, (if they use the attribute of this class at least)
Reimplemented from NL3D::CPSAttribMaker< float >. |
|
set an argument for the operator
Definition at line 125 of file ps_attrib_maker_bin_op.h.
|
|
Enable, disable the clamping of input values. The default does nothing (clamping unsupported)
Reimplemented in NL3D::CPSAttribMakerT< float, CPSFloatCurveFunctor >, NL3D::CPSAttribMakerT< float, CPSValueGradientFunc< float > >, and NL3D::CPSAttribMakerT< float, CPSValueBlendFunc< float > >. Definition at line 265 of file ps_attrib_maker.h.
00265 {} ; |
|
set a new input type (if supported). The default does nothing
Reimplemented in NL3D::CPSAttribMakerT< float, CPSFloatCurveFunctor >, NL3D::CPSAttribMakerT< float, CPSValueGradientFunc< float > >, and NL3D::CPSAttribMakerT< float, CPSValueBlendFunc< float > >. Definition at line 245 of file ps_attrib_maker.h.
00245 {} |
|
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.
|
|
Set the operator to use An assertion is thrown when no available Definition at line 160 of file ps_attrib_maker_bin_op.h.
|
|
return true if an operation is supported. The default support all ops
Definition at line 167 of file ps_attrib_maker_bin_op.h.
00167 { return true; } |
|
Definition at line 211 of file ps_attrib_maker_bin_op.h. |
|
Definition at line 304 of file ps_attrib_maker.h. |
|
Definition at line 213 of file ps_attrib_maker_bin_op.h. |
|
Definition at line 301 of file ps_attrib_maker.h. |
|
Definition at line 210 of file ps_attrib_maker_bin_op.h. |
|
Definition at line 213 of file ps_attrib_maker_bin_op.h. |