#include <ps_plane_basis_maker.h>
Inheritance diagram for NL3D::CPSPlaneBasisBinOp:
Definition at line 178 of file ps_plane_basis_maker.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 CPlaneBasis | get (float input) |
virtual CPlaneBasis | get (CPSLocated *loc, uint32 index) |
compute one value of the attribute from the given located at the given index | |
const CPSAttribMaker< CPlaneBasis > * | getArg (uint argNb) const |
CPSAttribMaker< CPlaneBasis > * | getArg (uint argNb) |
virtual bool | getClamping (void) const |
virtual std::string | getClassName ()=0 |
virtual CPSInputType | getInput (void) const |
virtual CPlaneBasis | getMaxValue (void) const |
get the min value, or an evalution that is guaranteed to be < to it (meaningful for ordered set only) | |
virtual CPlaneBasis | 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 (CPSPlaneBasisBinOp) | |
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< CPlaneBasis > *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) |
cplane basis template specialization for supportOp | |
Protected Member Functions | |
void | clean (void) |
void | make4Private (CPlaneBasis *buf1, CPlaneBasis *buf2, CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, uint32 srcStep=(1<< 16)) const |
void | makeNPrivate (CPlaneBasis *buf1, CPlaneBasis *buf2, CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, uint32 nbReplicate, uint32 srcStep=(1<< 16)) const |
void * | makePrivate (CPlaneBasis *buf1, CPlaneBasis *buf2, CPSLocated *loc, uint32 startIndex, void *tab, uint32 stride, uint32 numAttrib, bool allowNoCopy=false, uint32 srcStep=(1<< 16)) const |
Protected Attributes | |
CPSAttribMaker< CPlaneBasis > * | _Arg [2] |
bool | _HasMemory |
uint32 | _MaxSize |
float | _NbCycles |
CPSBinOp::BinOp | _Op |
uint32 | _Size |
|
|
|
Implements NL3D::CPSAttribMakerBase. Definition at line 182 of file ps_plane_basis_maker.h.
00182 { return new CPSPlaneBasisBinOp(*this); } |
|
delete an element, given its index. this must be called only if memory management is used.
Reimplemented from NL3D::CPSAttribMaker< CPlaneBasis >. |
|
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< CPlaneBasis, CPSValueBlendFunc< CPlaneBasis > >, NL3D::CPSAttribMakerT< CPlaneBasis, CPSValueGradientFunc< CPlaneBasis > >, and NL3D::CPSAttribMakerT< CPlaneBasis, CSpinnerFunctor >. 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< CPlaneBasis >. |
|
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< CPlaneBasis, CPSValueBlendFunc< CPlaneBasis > >, NL3D::CPSAttribMakerT< CPlaneBasis, CPSValueGradientFunc< CPlaneBasis > >, and NL3D::CPSAttribMakerT< CPlaneBasis, CSpinnerFunctor >. 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< CPlaneBasis, CPSValueBlendFunc< CPlaneBasis > >, NL3D::CPSAttribMakerT< CPlaneBasis, CPSValueGradientFunc< CPlaneBasis > >, and NL3D::CPSAttribMakerT< CPlaneBasis, CSpinnerFunctor >. 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< CPlaneBasis >. 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< CPlaneBasis >. 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< CPlaneBasis, CPSValueBlendFunc< CPlaneBasis > >, NL3D::CPSAttribMakerT< CPlaneBasis, CPSValueGradientFunc< CPlaneBasis > >, and NL3D::CPSAttribMakerT< CPlaneBasis, CSpinnerFunctor >. Definition at line 239 of file ps_attrib_maker.h.
00239 { return false ; } |
|
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::CPSRotated3DPlaneParticle::deletePlaneBasisElement(), NL3D::CPSRotated3DPlaneParticle::newPlaneBasisElement(), and NL3D::CPSRotated3DPlaneParticle::resizePlaneBasis().
00282 { return _HasMemory ; } |
|
tells wether clamping is supported for the input (value can't go above MaxInputValue) The default is false Reimplemented in NL3D::CPSAttribMakerT< CPlaneBasis, CPSValueBlendFunc< CPlaneBasis > >, NL3D::CPSAttribMakerT< CPlaneBasis, CPSValueGradientFunc< CPlaneBasis > >, and NL3D::CPSAttribMakerT< CPlaneBasis, CSpinnerFunctor >. 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< CPlaneBasis >. |
|
The same as make, but it replicate each attribute 4 times, thus filling 4*numAttrib. Useful for facelookat and the like
Implements NL3D::CPSAttribMaker< CPlaneBasis >. |
|
|
|
The same as make4, but with n replication instead of 4
Implements NL3D::CPSAttribMaker< CPlaneBasis >. |
|
|
|
|
|
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< CPlaneBasis >. |
|
|
|
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< CPlaneBasis >. |
|
serialisation of the object. Derivers MUST call this, (if they use the attribute of this class at least)
Reimplemented from NL3D::CPSAttribMaker< CPlaneBasis >. |
|
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< CPlaneBasis, CPSValueBlendFunc< CPlaneBasis > >, NL3D::CPSAttribMakerT< CPlaneBasis, CPSValueGradientFunc< CPlaneBasis > >, and NL3D::CPSAttribMakerT< CPlaneBasis, CSpinnerFunctor >. 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< CPlaneBasis, CPSValueBlendFunc< CPlaneBasis > >, NL3D::CPSAttribMakerT< CPlaneBasis, CPSValueGradientFunc< CPlaneBasis > >, and NL3D::CPSAttribMakerT< CPlaneBasis, CSpinnerFunctor >. 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. |