#include <ps_fan_light.h>
Inheritance diagram for NL3D::CPSFanLight:
Definition at line 46 of file ps_fan_light.h.
Public Types | |
enum | TBlendingMode { add, modulate, alphaBlend, alphaTest } |
this enum summarize the useful modes for blending to the framebuffer More... | |
Public Member Functions | |
virtual void | basisChanged (TPSMatrixMode systemBasis) |
virtual bool | completeBBox (NLMISC::CAABBox &box) const |
==================================================================================== | |
NLMISC::CVector | computeI (void) const |
NLMISC::CVector | computeJ (void) const |
NLMISC::CVector | computeK (void) const |
void | disableAutoLOD (bool disable=true) |
Force the Auto-LOD to be disbaled. When set to false, the default behaviour set in the system is used. | |
virtual bool | doesProduceBBox (void) const |
void | enableGlobalColorLighting (bool enabled) |
void | enableZTest (bool enabled) |
=================================================================================== | |
virtual void | enumTexs (std::vector< NLMISC::CSmartPtr< ITexture > > &dest, IDriver &drv) |
==================================================================================== | |
void | forceModulateConstantColor (bool force, const NLMISC::CRGBA &col=NLMISC::CRGBA::White) |
=================================================================================== | |
void | forceTexturedMaterialStages (uint numStages) |
=================================================================================== | |
float | getAngle2D (void) const |
get the constant | |
const CPSAttribMaker< float > * | getAngle2DScheme (void) const |
get the angle 2D scheme (NULL if none) const version | |
CPSAttribMaker< float > * | getAngle2DScheme (void) |
get the angle 2D scheme (NULL if none) | |
CPSMaterial::TBlendingMode | getBlendingMode (void) const |
=================================================================================== | |
virtual std::string | getClassName ()=0 |
NLMISC::CRGBA | getColor (void) const |
Get the color. | |
const CPSAttribMaker< CRGBA > * | getColorScheme (void) const |
get the color scheme (NULL if none) const version | |
CPSAttribMaker< CRGBA > * | getColorScheme (void) |
get the color scheme (NULL if none) | |
IDriver * | getDriver () const |
shortcut to get an instance of the driver | |
uint32 | getExternID (void) const |
get the extern ID of this located bindable | |
const CFontGenerator * | getFontGenerator (void) const |
Shortcut to get the font generator if one was set (const version). | |
CFontGenerator * | getFontGenerator (void) |
Shortcut to get the font generator if one was set. | |
const CFontManager * | getFontManager (void) const |
Shortcut to get the font manager if one was set (const version). | |
CFontManager * | getFontManager (void) |
*************************************************************************************** | |
const NLMISC::CMatrix & | getInvertedSysMat (void) const |
shortcut to get the inverted matrix of the system | |
const NLMISC::CMatrix & | getInvertedViewMat (void) const |
shortcut to get the inverted view matrix | |
const NLMISC::CMatrix & | getLocalToWorldMatrix () const |
Shortcut to get the local to world matrix. | |
TPSLod | getLOD (void) const |
get the valid lods for that object | |
virtual uint32 | getMaxNumFaces (void) const |
==================================================================================== | |
float | getMoveIntensity (void) const |
get the intensity of fans movement | |
std::string | getName (void) const |
get the located bindable name (edition purpose) | |
uint32 | getNbFans (void) const |
const CPSLocated * | getOwner (void) const |
get the located that owns this bindable (const version) | |
CPSLocated * | getOwner (void) |
get the located that owns this bindable | |
uint32 | getPhaseSmoothness (void) const |
retrieve the phase smoothness | |
float | getPhaseSpeed (void) const |
get the speed for phase | |
virtual uint32 | getPriority (void) const |
return priority | |
float | getSize (void) const |
get the constant size | |
const CPSAttribMaker< float > * | getSizeScheme (void) const |
get the size scheme (NULL if none) const version | |
CPSAttribMaker< float > * | getSizeScheme (void) |
get the size scheme (NULL if none) | |
const NLMISC::CMatrix & | getSysMat (void) const |
*************************************************************************************** | |
const ITexture * | getTexture (void) const |
ITexture * | getTexture (void) |
get the texture used | |
uint32 | getType (void) const |
return this bindable type | |
virtual bool | getUserMatrixUsageCount () const |
const NLMISC::CMatrix & | getViewMat (void) const |
shortcut to get the view matrix | |
virtual bool | hasEmitters (void) const |
tells wether there are alive emitters | |
virtual bool | hasLightableFaces () |
from CPSParticle : return true if there are lightable faces in the object | |
virtual bool | hasOpaqueFaces (void) |
==================================================================================== | |
virtual bool | hasParticles (void) const |
return true if this located bindable derived class holds alive particles | |
virtual bool | hasTransparentFaces (void) |
==================================================================================== | |
bool | isActive () const |
bool | isAutoLODDisabled () const |
Test wether Auto-LOD is disabled. | |
bool | isZTestEnabled () const |
=================================================================================== | |
virtual void | motionTypeChanged (bool parametric) |
called when a located has switch between incrmental / parametric motion. The default does nothing | |
NLMISC_DECLARE_CLASS (CPSFanLight) | |
virtual void | notifyTargetRemoved (CPSLocated *ptr) |
*************************************************************************************** | |
virtual void | releaseAllRef () |
*************************************************************************************** | |
virtual void | releaseRefTo (const CParticleSystemProcess *other) |
void | serialAngle2DScheme (NLMISC::IStream &f) throw (NLMISC::EStream) |
=================================================================================== | |
void | serialColorScheme (NLMISC::IStream &f) throw (NLMISC::EStream) |
serialization. | |
void | serialMaterial (NLMISC::IStream &f) throw (NLMISC::EStream) |
=================================================================================== | |
void | serialSizeScheme (NLMISC::IStream &f) throw (NLMISC::EStream) |
serialization. We choose a different name because of multiple-inheritance | |
void | setActive (bool active) |
Activate / Deactivate this object. When not active, the owning system won't try to call the 'step' method. | |
void | setAngle2D (float angle) |
=================================================================================== | |
void | setAngle2DScheme (CPSAttribMaker< float > *scheme) |
=================================================================================== | |
void | setBlendingMode (CPSMaterial::TBlendingMode mode) |
=================================================================================== | |
void | setColor (NLMISC::CRGBA col) |
Set a constant color for the particles. remove any previous scheme. | |
void | setColorScheme (CPSAttribMaker< CRGBA > *col) |
void | setExternID (uint32 id) |
*************************************************************************************** | |
void | setLOD (TPSLod lod) |
void | setMoveIntensity (float intensity) |
set the intensity of fan movement. Default is 1.5 | |
void | setName (const std::string &name) |
set the located bindable name (edition purpose) | |
void | setNbFans (uint32 nbFans) |
==================================================================================== | |
void | setPhaseSmoothness (uint32 smoothNess) |
void | setPhaseSpeed (float multiplier) |
==================================================================================== | |
void | setSize (float size) |
Set a constant size for the particles. | |
void | setSizeScheme (CPSAttribMaker< float > *size) |
void | setTexture (CSmartPtr< ITexture > tex) |
Set a texture. NULL remove it. | |
void | setupDriverModelMatrix (void) |
shortcut to setup the model matrix (system basis or world basis) | |
virtual void | setZBias (float value) |
virtual void | showTool () |
draw the particles for edition mode. The default behaviour just draw a wireframe model | |
virtual void | step (TPSProcessPass pass, TAnimationTime ellapsedTime, TAnimationTime realEt) |
virtual bool | supportGlobalColorLighting () const |
virtual void | systemDateChanged () |
virtual void | updateMatAndVbForColor (void) |
==================================================================================== | |
bool | usesGlobalColorLighting () |
Object | |
CPSFanLight (uint32 nbFans=7) | |
==================================================================================== | |
void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
==================================================================================== | |
~CPSFanLight () | |
==================================================================================== | |
Static Public Member Functions | |
const float * | getRotTable (void) |
void | initFanLightPrecalc (void) |
==================================================================================== | |
void | initRotTable (void) |
=================================================================================== | |
Protected Member Functions | |
virtual void | bounceOccured (uint32 index) |
void | computeSrcStep (uint32 &step, uint &numToProcess) |
void | deleteAngle2DElement (uint32 index) |
void | deleteColorElement (uint32 index) |
void | deleteElement (uint32) |
==================================================================================== | |
void | deleteSizeElement (uint32 index) |
void | displayIcon2d (const NLMISC::CVector tab[], uint nbSegs, float scale) |
*************************************************************************************** | |
virtual CPSLocated * | getAngle2DOwner (void) |
deriver must return their owner there | |
virtual CPSLocated * | getColorOwner (void) |
deriver must return their owner there | |
virtual CPSLocated * | getSizeOwner (void) |
deriver must return their owner there | |
void | newAngle2DElement (CPSLocated *emitterLocated, uint32 emitterIndex) |
void | newColorElement (CPSLocated *emitterLocated, uint32 emitterIndex) |
void | newElement (CPSLocated *emitterLocated, uint32 emitterIndex) |
==================================================================================== | |
void | newSizeElement (CPSLocated *emitterLocated, uint32 emitterIndex) |
void | notifyOwnerMaxNumFacesChanged (void) const |
virtual void | resize (uint32 size) |
==================================================================================== | |
void | resizeAngle2D (uint32 size) |
void | resizeColor (uint32 size) |
void | resizeSize (uint32 size) |
virtual void | setOwner (CPSLocated *psl) |
*************************************************************************************** | |
Protected Attributes | |
bool | _Active |
float | _Angle2D |
CPSAttribMaker< float > * | _Angle2DScheme |
CRGBA | _Color |
CPSAttribMaker< CRGBA > * | _ColorScheme |
uint32 | _ExternID |
TPSLod | _LOD |
tells when this object must be dealt with | |
CMaterial | _Mat |
std::string | _Name |
CPSLocated * | _Owner |
float | _ParticleSize |
CPSAttribMaker< float > * | _SizeScheme |
Static Protected Attributes | |
bool | _InitializedRotTab = false |
it is true if the table has been initialized, for debug purposes | |
float | _RotTable [4 *256] |
Private Types | |
typedef std::hash_map< uint, TIndexBuffer > | TIBMap |
typedef std::vector< uint32 > | TIndexBuffer |
typedef std::hash_map< uint, CVertexBuffer > | TVBMap |
Private Member Functions | |
virtual void | draw (bool opaque) |
==================================================================================== | |
uint | getNumFanlightsInVB () const |
==================================================================================== | |
void | getVBnIB (CVertexBuffer *&vb, TIndexBuffer *&ib) |
==================================================================================== | |
virtual void | init (void) |
==================================================================================== | |
void | setupMaterial () |
==================================================================================== | |
Private Attributes | |
float | _MoveIntensity |
uint32 | _NbFans |
uint32 | _PhaseSmoothness |
float | _PhaseSpeed |
NLMISC::CSmartPtr< ITexture > | _Tex |
Static Private Attributes | |
TVBMap | _ColoredTexVBMap |
TVBMap | _ColoredVBMap |
TIBMap | _IBMap |
uint8 | _RandomPhaseTab [32][128] |
bool | _RandomPhaseTabInitialized = false |
TVBMap | _TexVBMap |
TVBMap | _VBMap |
Friends | |
class | CPSFanLightHelper |
class | CPSLocated |
|
Definition at line 154 of file ps_fan_light.h. |
|
Definition at line 153 of file ps_fan_light.h. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), and getVBnIB(). |
|
Definition at line 152 of file ps_fan_light.h. Referenced by getVBnIB(). |
|
this enum summarize the useful modes for blending to the framebuffer
Definition at line 809 of file ps_particle_basic.h.
00809 { add, modulate, alphaBlend, alphaTest }; |
|
====================================================================================
Definition at line 401 of file ps_fan_light.cpp. References init(), nlassert, and uint32.
00401 : _NbFans(nbFans), 00402 _PhaseSmoothness(0), 00403 _MoveIntensity(1.5f), 00404 _Tex(NULL), 00405 _PhaseSpeed(256) 00406 { 00407 nlassert(nbFans >= 3); 00408 00409 00410 init(); 00411 if (CParticleSystem::getSerializeIdentifierFlag()) _Name = std::string("FanLight"); 00412 } |
|
====================================================================================
Definition at line 416 of file ps_fan_light.cpp.
00417 { 00418 } |
|
Called when the basis of the owner changed. the default behaviour does nothing
Reimplemented in NL3D::CPSForce. Definition at line 968 of file ps_located.h.
00968 {} |
|
a bounce occured, so some action could be done. The default behaviour does nothing
Reimplemented in NL3D::CPSEmitter. Definition at line 1011 of file ps_located.h.
01011 {} |
|
====================================================================================
Reimplemented from NL3D::CPSLocatedBindable. Definition at line 393 of file ps_fan_light.cpp.
00394 { 00395 // TODO 00396 00397 return false; 00398 } |
|
Compute a vector that will map to (1 0 0) after view and model transform. This allow to have object that always faces the user, whatever basis they are in Definition at line 931 of file ps_located.h. References NL3D::CPSLocated::computeI(). Referenced by NL3D::CPSLocatedBindable::displayIcon2d(), NL3D::CPSFanLightHelper::drawFanLight(), NL3D::CPSFaceLookAtHelper::drawLookAt(), NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion(), NL3D::CPSGravity::show(), and NL3D::CPSEmitter::showTool().
00931 { return _Owner->computeI(); } |
|
Compute a vector that will map to (0 1 0) after view and model transform. This allow to have object that always faces the user, whatever basis they are in Definition at line 936 of file ps_located.h. References NL3D::CPSLocated::computeJ(). Referenced by NL3D::CPSFaceLookAtHelper::drawLookAt().
00936 { return _Owner->computeJ(); } |
|
Compute a vector that will map to (0 0 1) after view and model transform. This allow to have object that always faces the user, whatever basis they are in Definition at line 940 of file ps_located.h. References NL3D::CPSLocated::computeK(). Referenced by NL3D::CPSLocatedBindable::displayIcon2d(), NL3D::CPSFanLightHelper::drawFanLight(), NL3D::CPSFaceLookAtHelper::drawLookAt(), NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion(), and NL3D::CPSEmitter::showTool().
00940 { return _Owner->computeK(); } |
|
System may have hand-tuned LOD, or auto LOD. This compute the number of particles that must really be displayed, and the src step that allow to go through the whole collection. The step in the source is in a fixed point 16:16 format Definition at line 82 of file ps_particle_basic.cpp. References NL3D::CPSParticle::_DisableAutoLOD, NLMISC::clamp(), NL3D::CParticleSystem::getAutoLODDegradationExponent(), NL3D::CParticleSystem::getAutoLODMode(), NL3D::CParticleSystem::getAutoLODStartDistPercent(), NL3D::CParticleSystem::getOneMinusCurrentLODRatio(), NL3D::CParticleSystemProcess::getOwner(), NL3D::CPSLocated::getSize(), NL3D::CParticleSystem::isAutoLODEnabled(), NL3D::CParticleSystem::isSharingEnabled(), nlassert, r, uint, and uint32. Referenced by NL3D::CPSShockWave::draw(), NL3D::CPSConstraintMesh::draw(), draw(), NL3D::CPSFaceLookAt::draw(), NL3D::CPSDot::draw(), NL3D::CPSTailDot::step(), NL3D::CPSRibbonLookAt::step(), NL3D::CPSRibbon::step(), and NL3D::CPSFace::step().
00083 { 00084 nlassert(_Owner && _Owner->getOwner()); 00085 const CParticleSystem &ps = *(_Owner->getOwner()); 00086 if (_DisableAutoLOD || !ps.isAutoLODEnabled() || !ps.isSharingEnabled() || _Owner->getSize() == 0) // Should Auto-LOD be used ? 00087 { 00088 step = (1 << 16); 00089 numToProcess = _Owner->getSize(); 00090 } 00091 else 00092 { 00093 float oneMinusLODRatio = ps.getOneMinusCurrentLODRatio(); 00094 float LODRatio = 1.f - oneMinusLODRatio; 00095 if (LODRatio > ps.getAutoLODStartDistPercent()) 00096 { 00097 float factor = (LODRatio - 1.f) / (ps.getAutoLODStartDistPercent() - 1.f); 00098 NLMISC::clamp(factor, 0.f, 1.f); 00099 float r = factor; 00100 for (uint k = 1; k < ps.getAutoLODDegradationExponent(); ++k) 00101 { 00102 r *= factor; 00103 } 00104 numToProcess = (uint) (_Owner->getSize() * r); 00105 if (numToProcess < 1) { numToProcess = 1; } 00106 00107 step = ps.getAutoLODMode() ? // skip or limit number, depending on the mode 00108 (_Owner->getSize() << 16) / numToProcess : // skip particles 00109 (1 << 16); // just display less particles 00110 } 00111 else 00112 { 00113 step = (1 << 16); 00114 numToProcess = _Owner->getSize(); 00115 } 00116 } 00117 00118 } |
|
Definition at line 380 of file ps_particle_basic.h. References NL3D::CPSRotated2DParticle::_Angle2DScheme, NL3D::CPSAttribMaker< float >::deleteElement(), NL3D::CPSAttribMaker< float >::hasMemory(), index, and uint32. Referenced by NL3D::CPSShockWave::deleteElement(), NL3D::CPSMesh::deleteElement(), deleteElement(), and NL3D::CPSFaceLookAt::deleteElement().
00381 { 00382 if (_Angle2DScheme && _Angle2DScheme->hasMemory()) _Angle2DScheme->deleteElement(index); 00383 } |
|
Definition at line 237 of file ps_particle_basic.h. References NL3D::CPSAttribMaker< CRGBA >::deleteElement(), NL3D::CPSAttribMaker< CRGBA >::hasMemory(), index, and uint32. Referenced by NL3D::CPSTailDot::deleteElement(), NL3D::CPSShockWave::deleteElement(), NL3D::CPSRibbonLookAt::deleteElement(), NL3D::CPSRibbon::deleteElement(), NL3D::CPSQuad::deleteElement(), NL3D::CPSConstraintMesh::deleteElement(), deleteElement(), and NL3D::CPSDot::deleteElement().
00238 { 00239 if (_ColorScheme && _ColorScheme->hasMemory()) _ColorScheme->deleteElement(index); 00240 } |
|
====================================================================================
Implements NL3D::CPSParticle. Definition at line 272 of file ps_fan_light.cpp. References NL3D::CPSRotated2DParticle::deleteAngle2DElement(), NL3D::CPSColoredParticle::deleteColorElement(), NL3D::CPSSizedParticle::deleteSizeElement(), index, and uint32.
00273 { 00274 deleteColorElement(index); 00275 deleteSizeElement(index); 00276 deleteAngle2DElement(index); 00277 } |
|
Definition at line 295 of file ps_particle_basic.h. References NL3D::CPSSizedParticle::_SizeScheme, NL3D::CPSAttribMaker< float >::deleteElement(), NL3D::CPSAttribMaker< float >::hasMemory(), index, and uint32. Referenced by NL3D::CPSShockWave::deleteElement(), NL3D::CPSRibbonLookAt::deleteElement(), NL3D::CPSRibbon::deleteElement(), NL3D::CPSQuad::deleteElement(), NL3D::CPSConstraintMesh::deleteElement(), NL3D::CPSMesh::deleteElement(), and deleteElement().
00296 { 00297 if (_SizeScheme && _SizeScheme->hasMemory()) _SizeScheme->deleteElement(index); 00298 } |
|
Force the Auto-LOD to be disbaled. When set to false, the default behaviour set in the system is used.
Definition at line 137 of file ps_particle_basic.h. References NL3D::CPSParticle::_DisableAutoLOD.
00137 { _DisableAutoLOD = disable; } |
|
*************************************************************************************** show an drawing to represent the object, and in red if it is selected
Definition at line 2038 of file ps_located.cpp. References NL3D::CPSLocatedBindable::computeI(), NL3D::CPSLocatedBindable::computeK(), NL3D::CParticleSystem::getCurrentEditedElement(), NL3D::CPSLocatedBindable::getDriver(), NL3D::CParticleSystemProcess::getOwner(), NL3D::CPSLocated::getPos(), NL3D::CPSLocated::getSize(), index, NL3D::CMaterial::setBlend(), NL3D::CMaterial::setBlendFunc(), NL3D::CMaterial::setColor(), NL3D::CMaterial::setLighting(), NL3D::CPSLocatedBindable::setupDriverModelMatrix(), NL3D::CMaterial::setZFunc(), NL3D::CMaterial::setZWrite(), size, uint, uint32, NLMISC::CLine::V0, NLMISC::CLine::V1, NLMISC::CVector::x, and NLMISC::CVector::y. Referenced by NL3D::CPSSpring::show(), NL3D::CPSCentralGravity::show(), and NL3D::CPSParticle::showTool().
02039 { 02040 uint32 size = _Owner->getSize(); 02041 if (!size) return; 02042 setupDriverModelMatrix(); 02043 02044 const CVector I = computeI(); 02045 const CVector K = computeK(); 02046 02047 static std::vector<NLMISC::CLine> lines; 02048 02049 lines.clear(); 02050 02051 // ugly slow code, but not for runtime 02052 for (uint k = 0; k < size; ++k) 02053 { 02054 // center of the current particle 02055 const CVector p = _Owner->getPos()[k]; 02056 02057 02058 02059 for (uint l = 0; l < nbSegs; ++l) 02060 { 02061 NLMISC::CLine li; 02062 li.V0 = p + scale * (tab[l << 1].x * I + tab[l << 1].y * K); 02063 li.V1 = p + scale * (tab[(l << 1) + 1].x * I + tab[(l << 1) + 1].y * K); 02064 lines.push_back(li); 02065 } 02066 02067 CMaterial mat; 02068 02069 mat.setBlendFunc(CMaterial::one, CMaterial::one); 02070 mat.setZWrite(false); 02071 mat.setLighting(false); 02072 mat.setBlend(true); 02073 mat.setZFunc(CMaterial::less); 02074 02075 02076 02077 CPSLocated *loc; 02078 uint32 index; 02079 CPSLocatedBindable *lb; 02080 _Owner->getOwner()->getCurrentEditedElement(loc, index, lb); 02081 02082 mat.setColor((lb == NULL || this == lb) && loc == _Owner && index == k ? CRGBA::Red : CRGBA(127, 127, 127)); 02083 02084 02085 CDRU::drawLinesUnlit(lines, mat, *getDriver() ); 02086 } 02087 02088 } |
|
Reimplemented in NL3D::CPSForce. Definition at line 888 of file ps_located.h.
00888 { return true; } |
|
====================================================================================
Reimplemented from NL3D::CPSParticle. Definition at line 335 of file ps_fan_light.cpp. References NL3D::CPSAttrib< T >::begin(), NL3D::CPSParticle::computeSrcStep(), NL3D::CPSLocated::getPos(), NL3D::CPSLocated::getSize(), NL3D::CPSLocated::getTime(), PARTICLES_CHECK_MEM, setupMaterial(), NL3D::TIteratorTimeStep1616, NL3D::TIteratorVectStep1616, uint, and uint32.
00336 { 00337 PARTICLES_CHECK_MEM; 00338 if (!_Owner->getSize()) return; 00339 00340 uint32 step; 00341 uint numToProcess; 00342 computeSrcStep(step, numToProcess); 00343 if (!numToProcess) return; 00344 00345 setupMaterial(); 00346 00347 if (step == (1 << 16)) 00348 { 00349 CPSFanLightHelper::drawFanLight(_Owner->getPos().begin(), 00350 _Owner->getTime().begin(), 00351 *this, 00352 numToProcess, 00353 step 00354 ); 00355 } 00356 else 00357 { 00358 CPSFanLightHelper::drawFanLight(TIteratorVectStep1616(_Owner->getPos().begin(), 0, step), 00359 TIteratorTimeStep1616(_Owner->getTime().begin(), 0, step), 00360 *this, 00361 numToProcess, 00362 step 00363 ); 00364 } 00365 00366 PARTICLES_CHECK_MEM; 00367 } |
|
Definition at line 105 of file ps_particle_basic.h. References NL3D::CPSParticle::_UsesGlobalColorLighting.
00105 { _UsesGlobalColorLighting = enabled; } |
|
===================================================================================
Definition at line 508 of file ps_particle_basic.cpp. References NL3D::CMaterial::setZFunc().
00509 { 00510 _Mat.setZFunc(enabled ? CMaterial::less : CMaterial::always); 00511 } |
|
====================================================================================
Reimplemented from NL3D::CPSLocatedBindable. Definition at line 543 of file ps_fan_light.cpp.
00544 { 00545 if (_Tex) 00546 { 00547 dest.push_back(_Tex); 00548 } 00549 } |
|
*************************************************************************************** this should be called before to delete any bindable inserted in a system, but this is done by the system, so you should never need calling it. This has been introduced because calls in dtor are not polymorphic to derived class (which are already destroyed anyway), and some infos are needed in some dtor. The default behaviour does nothing Reimplemented in NL3D::CPSTargetLocatedBindable. Definition at line 1975 of file ps_located.cpp. References NL3D::CParticleSystemProcess::getOwner(), NL3D::CPSLocatedBindable::getUserMatrixUsageCount(), and NL3D::CParticleSystem::releaseRefForUserSysCoordInfo().
01976 { 01977 if (_Owner && _Owner->getOwner()) 01978 { 01979 _Owner->getOwner()->releaseRefForUserSysCoordInfo(getUserMatrixUsageCount()); 01980 } 01981 } |
|
=================================================================================== Force the material to have one texture that is modulated by diffuse, and a constant color and its diffuse color. This is not compatible with multitextureing, however.
Definition at line 573 of file ps_particle_basic.cpp. References NL3D::CPSMaterial::forceTexturedMaterialStages(), NL3D::CMaterial::getTexture(), NL3D::CMaterial::setTexture(), NL3D::CMaterial::texConstantColor(), NL3D::CMaterial::texEnvArg0Alpha(), NL3D::CMaterial::texEnvArg0RGB(), NL3D::CMaterial::texEnvArg1Alpha(), NL3D::CMaterial::texEnvArg1RGB(), NL3D::CMaterial::texEnvOpAlpha(), and NL3D::CMaterial::texEnvOpRGB(). Referenced by NL3D::CPSRibbonLookAt::displayRibbons(), NL3D::CPSShockWave::draw(), and NL3D::CPSQuad::updateMatBeforeRendering().
00574 { 00575 if (force) 00576 { 00578 _Mat.texConstantColor(1, col); 00579 _Mat.texEnvOpRGB(1, CMaterial::Modulate); 00580 _Mat.texEnvOpAlpha(1, CMaterial::Modulate); 00581 _Mat.texEnvArg0RGB(1, CMaterial::Previous, CMaterial::SrcColor); 00582 _Mat.texEnvArg1RGB(1, CMaterial::Constant, CMaterial::SrcColor); 00583 _Mat.texEnvArg0Alpha(1, CMaterial::Previous, CMaterial::SrcAlpha); 00584 _Mat.texEnvArg1Alpha(1, CMaterial::Constant, CMaterial::SrcAlpha); 00585 forceTexturedMaterialStages(2); 00586 } 00587 else 00588 { 00589 if (_Mat.getTexture(1) != NULL) 00590 { 00591 _Mat.setTexture(1, NULL); 00592 } 00593 } 00594 } |
|
=================================================================================== This setup n stage of a material with at least texture.
Definition at line 598 of file ps_particle_basic.cpp. References NL3D::CMaterial::getTexture(), NL3D::IDRV_MAT_MAXTEXTURES, NL3D::CMaterial::setTexture(), and uint. Referenced by NL3D::CPSDot::draw(), NL3D::CPSMaterial::forceModulateConstantColor(), and setupMaterial().
00599 { 00600 ITexture *blankTex = NULL; 00601 uint k; 00602 for (k = 0; k < numStages; ++k) 00603 { 00604 if (_Mat.getTexture(k) == NULL) 00605 { 00606 if (!blankTex) 00607 { 00608 blankTex = CTextureMem::Create1x1WhiteTex(); 00609 } 00610 _Mat.setTexture(k, blankTex); 00611 } 00612 } 00613 for (; k < IDRV_MAT_MAXTEXTURES; ++k) 00614 { 00615 if (_Mat.getTexture(k) != NULL) 00616 { 00617 _Mat.setTexture(k, NULL); 00618 } 00619 } 00620 } |
|
get the constant
Definition at line 336 of file ps_particle_basic.h. References NL3D::CPSRotated2DParticle::_Angle2D.
00336 { return _Angle2D; } |
|
deriver must return their owner there
Implements NL3D::CPSRotated2DParticle. Definition at line 149 of file ps_fan_light.h.
00149 { return _Owner; } |
|
get the angle 2D scheme (NULL if none) const version
Definition at line 326 of file ps_particle_basic.h. References NL3D::CPSRotated2DParticle::_Angle2DScheme.
00326 { return _Angle2DScheme; } |
|
get the angle 2D scheme (NULL if none)
Definition at line 323 of file ps_particle_basic.h. References NL3D::CPSRotated2DParticle::_Angle2DScheme.
00323 { return _Angle2DScheme; } |
|
===================================================================================
Definition at line 551 of file ps_particle_basic.cpp. References NL3D::CPSMaterial::alphaBlend, NL3D::CPSMaterial::alphaTest, NL3D::CMaterial::getBlend(), NL3D::CMaterial::getDstBlend(), NL3D::CMaterial::getSrcBlend(), and nlassert. Referenced by NL3D::CPSTailDot::hasTransparentFaces(), NL3D::CPSShockWave::hasTransparentFaces(), NL3D::CPSRibbonLookAt::hasTransparentFaces(), NL3D::CPSRibbon::hasTransparentFaces(), NL3D::CPSQuad::hasTransparentFaces(), hasTransparentFaces(), and NL3D::CPSDot::hasTransparentFaces().
00552 { 00553 if (_Mat.getBlend()) 00554 { 00555 CMaterial::TBlend srcBlend = _Mat.getSrcBlend(); 00556 CMaterial::TBlend destBlend = _Mat.getDstBlend(); 00557 00558 if (srcBlend == CMaterial::one && destBlend == CMaterial::one) return add; 00559 if (srcBlend == CMaterial::zero && destBlend == CMaterial::srccolor) return modulate; 00560 if (srcBlend == CMaterial::srcalpha && destBlend == CMaterial::invsrcalpha) return alphaBlend; 00561 00562 // unrecognized mode 00563 nlassert(0); 00564 return alphaTest; // to avoid a warning only ... 00565 } 00566 else 00567 { 00568 return alphaTest; 00569 } 00570 } |
|
Implemented in NLAIAGENT::CNumericIndex, NLAIC::IPointerGestion, NLAIC::CIdentType, and CAutomataDesc. Referenced by NLMISC::CClassRegistry::checkObject(), and NL3D::GetTextureSize(). |
|
Get the color.
Definition at line 211 of file ps_particle_basic.h.
00211 { return _Color; } |
|
deriver must return their owner there
Implements NL3D::CPSColoredParticle. Definition at line 147 of file ps_fan_light.h.
00147 { return _Owner; } |
|
get the color scheme (NULL if none) const version
Definition at line 205 of file ps_particle_basic.h.
00205 { return _ColorScheme; } |
|
get the color scheme (NULL if none)
Definition at line 202 of file ps_particle_basic.h.
00202 { return _ColorScheme; } |
|
|
get the extern ID of this located bindable
Definition at line 964 of file ps_located.h. References NL3D::CPSLocatedBindable::_ExternID, and uint32. Referenced by NL3D::CPSLocated::bind(), and NL3D::CParticleSystem::unregisterLocatedBindableExternID().
00964 { return _ExternID; } |
|
Shortcut to get the font generator if one was set (const version).
Definition at line 904 of file ps_located.h. References NL3D::CParticleSystemProcess::getFontGenerator(), and nlassert.
|
|
Shortcut to get the font generator if one was set.
Definition at line 897 of file ps_located.h. References NL3D::CParticleSystemProcess::getFontGenerator(), and nlassert. Referenced by NL3D::CPSZoneRectangle::show(), NL3D::CPSZoneCylinder::show(), NL3D::CPSZoneDisc::show(), NL3D::CPSZonePlane::show(), NL3D::CPSCylindricVortex::show(), NL3D::CPSGravity::show(), and NL3D::CPSEmitterRectangle::showTool().
|
|
Shortcut to get the font manager if one was set (const version).
Definition at line 2099 of file ps_located.cpp. References NL3D::CParticleSystemProcess::getFontManager(), and nlassert.
|
|
***************************************************************************************
Definition at line 2091 of file ps_located.cpp. References NL3D::CParticleSystemProcess::getFontManager(), and nlassert. Referenced by NL3D::CPSZoneRectangle::show(), NL3D::CPSZoneCylinder::show(), NL3D::CPSZoneDisc::show(), NL3D::CPSZonePlane::show(), NL3D::CPSCylindricVortex::show(), NL3D::CPSGravity::show(), and NL3D::CPSEmitterRectangle::showTool().
|
|
shortcut to get the inverted matrix of the system
Definition at line 2116 of file ps_located.cpp. References NL3D::CParticleSystem::getInvertedSysMat(), NL3D::CParticleSystemProcess::getOwner(), and nlassert.
|
|
shortcut to get the inverted view matrix
Definition at line 2134 of file ps_located.cpp. References NL3D::CParticleSystem::getInvertedViewMat(), NL3D::CParticleSystemProcess::getOwner(), and nlassert.
|
|
Shortcut to get the local to world matrix.
Definition at line 1144 of file ps_located.h. References NL3D::CPSLocated::getLocalToWorldMatrix(), and nlassert. Referenced by NL3D::CPSRibbonLookAt::displayRibbons(), NL3D::CPSSound::newElement(), NL3D::CPSZoneRectangle::show(), NL3D::CPSZoneCylinder::show(), NL3D::CPSZoneDisc::show(), NL3D::CPSZonePlane::show(), NL3D::CPSLight::show(), NL3D::CPSGravity::show(), NL3D::CPSEmitterRectangle::showTool(), NL3D::CPSLight::step(), and NL3D::CPSMesh::updatePos().
|
|
get the valid lods for that object
Definition at line 954 of file ps_located.h. References NL3D::CPSLocatedBindable::_LOD, and NL3D::TPSLod.
00954 { return _LOD; } |
|
====================================================================================
Implements NL3D::CPSParticle. Definition at line 245 of file ps_fan_light.cpp. References _NbFans, NL3D::CPSLocated::getMaxSize(), nlassert, and uint32.
|
|
get the intensity of fans movement
Definition at line 82 of file ps_fan_light.h. References _MoveIntensity.
00082 { return _MoveIntensity; } |
|
get the located bindable name (edition purpose)
Definition at line 948 of file ps_located.h.
00948 { return _Name; } |
|
Definition at line 85 of file ps_fan_light.h. References _NbFans, and uint32.
00086 { 00087 return _NbFans; 00088 } |
|
====================================================================================
Definition at line 536 of file ps_fan_light.cpp. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), and getVBnIB().
|
|
get the located that owns this bindable (const version)
Definition at line 944 of file ps_located.h.
00944 { return _Owner; } |
|
get the located that owns this bindable
Definition at line 942 of file ps_located.h. Referenced by NL3D::CPSLocated::deleteElement(), NL3D::CParticleSystemInstanceUser::emit(), NL3D::CPSFaceLookAt::CSecondSize::getSizeOwner(), NL3D::CPSSound::newElement(), NL3D::CPSLocated::registerIntegrableForce(), NL3D::CParticleSystem::registerLocatedBindableExternID(), NL3D::CParticleSystemInstanceUser::removeByID(), NL3D::CPSSound::resize(), NL3D::CPSLight::resize(), NL3D::CPSSound::step(), NL3D::CPSLocated::unregisterIntegrableForce(), and NL3D::CParticleSystem::unregisterLocatedBindableExternID().
00942 { return _Owner; } |
|
retrieve the phase smoothness
Definition at line 76 of file ps_fan_light.h. References _PhaseSmoothness, and uint32.
00076 { return _PhaseSmoothness;} |
|
get the speed for phase
Definition at line 97 of file ps_fan_light.h. References _PhaseSpeed.
00097 { return _PhaseSpeed / 256.0f; } |
|
return priority
Implements NL3D::CPSLocatedBindable. Definition at line 66 of file ps_particle_basic.h. References uint32.
00066 { return 1000; }
|
|
this return a float table used to speed up rotations of face look at and the like for each angle, there are 4 float : 2 couple of float : a1, b1, a2, b2 a1 * I + b1 * K = up left corner, a2 * I + b2 * K = up right corner, This table must have been initialized with initRotTable Definition at line 354 of file ps_particle_basic.h. References NL3D::CPSRotated2DParticle::_InitializedRotTab, NL3D::CPSRotated2DParticle::_RotTable, and nlassert.
|
|
get the constant size
Definition at line 274 of file ps_particle_basic.h. References NL3D::CPSSizedParticle::_ParticleSize. Referenced by NL3D::CPSFaceLookAtHelper::drawLookAt(), NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion(), NL3D::CPSSizedParticle::resizeSize(), and NL3D::CPSSizedParticle::setSizeScheme().
00274 { return _ParticleSize; } |
|
deriver must return their owner there
Implements NL3D::CPSSizedParticle. Definition at line 148 of file ps_fan_light.h.
00148 { return _Owner; } |
|
get the size scheme (NULL if none) const version
Definition at line 268 of file ps_particle_basic.h. References NL3D::CPSSizedParticle::_SizeScheme.
00268 { return _SizeScheme; } |
|
get the size scheme (NULL if none)
Definition at line 265 of file ps_particle_basic.h. References NL3D::CPSSizedParticle::_SizeScheme. Referenced by NL3D::CPSFaceLookAtHelper::drawLookAt(), and NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion().
00265 { return _SizeScheme; } |
|
***************************************************************************************
Definition at line 2108 of file ps_located.cpp. References NL3D::CParticleSystemProcess::getOwner(), NL3D::CParticleSystem::getSysMat(), and nlassert.
|
|
Implements NL3D::CPSTexturedParticleNoAnim. Definition at line 127 of file ps_fan_light.h.
00128 { 00129 return _Tex; 00130 } |
|
get the texture used
Implements NL3D::CPSTexturedParticleNoAnim. Definition at line 123 of file ps_fan_light.h.
00124 { 00125 return _Tex; 00126 } |
|
return this bindable type
Implements NL3D::CPSLocatedBindable. Definition at line 63 of file ps_particle_basic.h. References NL3D::PSParticle, and uint32.
00063 { return PSParticle; } |
|
Reimplemented in NL3D::CPSEmitter. Definition at line 974 of file ps_located.h. Referenced by NL3D::CPSLocatedBindable::finalize(), and NL3D::CPSLocatedBindable::setOwner().
00974 { return 0; }
|
|
====================================================================================
Definition at line 459 of file ps_fan_light.cpp. References _ColoredTexVBMap, _ColoredVBMap, _IBMap, _NbFans, _TexVBMap, _VBMap, getNumFanlightsInVB(), nlassert, NL3D::CVertexBuffer::setColor(), NL3D::CVertexBuffer::setNumVertices(), NL3D::CVertexBuffer::setTexCoord(), NL3D::CVertexBuffer::setVertexFormat(), size, TIndexBuffer, TVBMap, uint, and uint32. Referenced by NL3D::CPSFanLightHelper::drawFanLight().
00460 { 00461 TVBMap &vbMap = _ColorScheme ? (_Tex == NULL ? _ColoredVBMap : _ColoredTexVBMap) 00462 : (_Tex == NULL ? _VBMap : _TexVBMap); 00463 TVBMap::iterator vbIt = vbMap.find(_NbFans); 00464 if (vbIt != vbMap.end()) 00465 { 00466 retVb = &(vbIt->second); 00467 TIBMap::iterator pbIt = _IBMap.find(_NbFans); 00468 nlassert(pbIt != _IBMap.end()); 00469 retIb = &(pbIt->second); 00470 } 00471 else // we need to create the vb 00472 { 00473 // create an entry (we setup the primitive block at the same time, this could be avoided, but doesn't make much difference) 00474 CVertexBuffer &vb = vbMap[_NbFans]; // create a vb 00475 TIndexBuffer &ib = _IBMap[_NbFans]; // eventually create a pb 00476 const uint32 size = getNumFanlightsInVB(); 00477 vb.setVertexFormat(CVertexBuffer::PositionFlag | 00478 CVertexBuffer::PrimaryColorFlag | 00479 (_Tex != NULL ? CVertexBuffer::TexCoord0Flag : 0) 00480 ); 00481 vb.setNumVertices(size * (2 + _NbFans)); 00482 ib.resize(size * _NbFans * 3); 00483 // pointer on the current index to fill 00484 TIndexBuffer::iterator ptIndex = ib.begin(); 00485 00486 // index of the first vertex of the current fanFilght 00487 uint currVertFan = 0; 00488 00489 uint l; // the current fan in the current fanlight 00490 uint k; // the current fan light 00491 00492 for (k = 0; k < size; ++k) 00493 { 00494 for (l = 0; l < _NbFans; ++l) 00495 { 00496 *ptIndex++ = currVertFan; 00497 *ptIndex++ = currVertFan + (l + 1); 00498 *ptIndex++ = currVertFan + (l + 2); 00499 } 00500 currVertFan += 2 + _NbFans; 00501 } 00502 00503 for (k = 0; k < size; ++k) 00504 { 00505 if (_Tex) 00506 { 00507 vb.setTexCoord(k * (_NbFans + 2), 0, NLMISC::CUV(0, 0)); 00508 } 00509 if (!_ColorScheme) 00510 { 00511 vb.setColor(k * (_NbFans + 2), CRGBA::White); 00512 } 00513 if (!_Tex) 00514 { 00515 for(l = 1; l <= _NbFans + 1; ++l) 00516 { 00517 vb.setColor(l + k * (_NbFans + 2), CRGBA(0, 0, 0)); 00518 } 00519 } 00520 else 00521 { 00522 for(l = 1; l <= _NbFans + 1; ++l) 00523 { 00524 vb.setColor(l + k * (_NbFans + 2), CRGBA(0, 0, 0)); 00525 vb.setTexCoord(l + k * (_NbFans + 2), 0, NLMISC::CUV((l - 1) / (float) _NbFans, 1)); 00526 } 00527 } 00528 } 00529 00530 retVb = &vb; 00531 retIb = &ib; 00532 } 00533 } |
|
shortcut to get the view matrix
Definition at line 2125 of file ps_located.cpp. References NL3D::CParticleSystemProcess::getOwner(), NL3D::CParticleSystem::getViewMat(), and nlassert. Referenced by NL3D::CPSRibbonLookAt::displayRibbons(), and NL3D::CPSFaceLookAtHelper::drawLookAt().
|
|
tells wether there are alive emitters
Definition at line 958 of file ps_located.h.
00958 { return false; } |
|
from CPSParticle : return true if there are lightable faces in the object
Implements NL3D::CPSParticle. Definition at line 133 of file ps_fan_light.h.
00133 { return false; } |
|
====================================================================================
Implements NL3D::CPSParticle. Definition at line 258 of file ps_fan_light.cpp. References hasTransparentFaces().
00259 { 00260 return !hasTransparentFaces(); 00261 } |
|
return true if this located bindable derived class holds alive particles
Reimplemented from NL3D::CPSLocatedBindable. Definition at line 69 of file ps_particle_basic.h. References NL3D::CPSLocated::getSize(), and nlassert.
|
|
====================================================================================
Implements NL3D::CPSParticle. Definition at line 252 of file ps_fan_light.cpp. References NL3D::CPSMaterial::getBlendingMode(). Referenced by hasOpaqueFaces().
00253 { 00254 return getBlendingMode() != CPSMaterial::alphaTest ; 00255 } |
|
====================================================================================
Definition at line 442 of file ps_fan_light.cpp. References NL3D::CMaterial::setColor(), NL3D::CMaterial::setDoubleSided(), NL3D::CMaterial::setLighting(), NL3D::CMaterial::setZFunc(), and updateMatAndVbForColor(). Referenced by CPSFanLight().
00443 { 00444 _Mat.setLighting(false); 00445 _Mat.setZFunc(CMaterial::less); 00446 _Mat.setDoubleSided(true); 00447 _Mat.setColor(NLMISC::CRGBA::White); 00448 00449 updateMatAndVbForColor(); 00450 } |
|
====================================================================================
Definition at line 214 of file ps_fan_light.cpp. References _RandomPhaseTab, _RandomPhaseTabInitialized, NL3D::BlurBytesTab(), uint, uint32, and uint8.
00215 { 00216 // build several random tab, and linearly interpolate between l values 00217 float currPhase, nextPhase, phaseStep; 00218 for (uint l = 0; l < 32 ; l++) 00219 { 00220 nextPhase = (float) (uint8) (rand()&0xFF); 00221 uint32 k = 0; 00222 while (k < 128) 00223 { 00224 currPhase = nextPhase; 00225 nextPhase = (float) (uint8) (rand()&0xFF); 00226 phaseStep = (nextPhase - currPhase) / (l + 1); 00227 00228 for (uint32 m = 0; m <= l; ++m) 00229 { 00230 _RandomPhaseTab[l][k] = (uint8) currPhase; 00231 currPhase += phaseStep; 00232 ++k; 00233 if (k >= 128) break; 00234 } 00235 } 00236 for (uint m = 0; m < 2 * l; ++m) 00237 BlurBytesTab(&_RandomPhaseTab[l][0], &_RandomPhaseTab[l][0], 128); 00238 } 00239 //#ifdef NL_DEBUG 00240 _RandomPhaseTabInitialized = true; 00241 //#endif 00242 } |
|
===================================================================================
Definition at line 294 of file ps_particle_basic.cpp. References NL3D::CPSRotated2DParticle::_InitializedRotTab, NL3D::CPSRotated2DParticle::_RotTable, and uint32.
00295 { 00296 float *ptFloat = _RotTable; 00297 for (uint32 k = 0; k < 256; ++k) 00298 { 00299 const float ca = (float) cos(k * (1.0f / 256.0f) * 2.0f * NLMISC::Pi); 00300 const float sa = (float) sin(k * (1.0f / 256.0f) * 2.0f * NLMISC::Pi); 00301 00302 *ptFloat++ = -ca - sa; 00303 *ptFloat++ = -sa + ca; 00304 00305 *ptFloat++ = ca - sa; 00306 *ptFloat++ = sa + ca; 00307 } 00308 _InitializedRotTab = true; 00309 } |
|
Definition at line 844 of file ps_located.h. References NL3D::CPSLocatedBindable::_Active. Referenced by NL3D::CParticleSystem::hasActiveEmitters().
00844 { return _Active; } |
|
Test wether Auto-LOD is disabled.
Definition at line 140 of file ps_particle_basic.h. References NL3D::CPSParticle::_DisableAutoLOD.
00140 { return _DisableAutoLOD; }
|
|
===================================================================================
Definition at line 514 of file ps_particle_basic.cpp. References NL3D::CMaterial::getZFunc().
00515 { 00516 return _Mat.getZFunc() != CMaterial::always; 00517 } |
|
called when a located has switch between incrmental / parametric motion. The default does nothing
Reimplemented in NL3D::CPSRibbonBase. Definition at line 971 of file ps_located.h. Referenced by NL3D::CPSLocated::bind().
00971 {} |
|
Definition at line 376 of file ps_particle_basic.h. References NL3D::CPSRotated2DParticle::_Angle2DScheme, NL3D::CPSAttribMaker< float >::hasMemory(), NL3D::CPSAttribMaker< float >::newElement(), and uint32. Referenced by NL3D::CPSShockWave::newElement(), NL3D::CPSMesh::newElement(), newElement(), and NL3D::CPSFaceLookAt::newElement().
00377 { 00378 if (_Angle2DScheme && _Angle2DScheme->hasMemory()) _Angle2DScheme->newElement(emitterLocated, emitterIndex); 00379 } |
|
Definition at line 233 of file ps_particle_basic.h. References NL3D::CPSAttribMaker< CRGBA >::hasMemory(), NL3D::CPSAttribMaker< CRGBA >::newElement(), and uint32. Referenced by NL3D::CPSTailDot::newElement(), NL3D::CPSShockWave::newElement(), NL3D::CPSRibbonLookAt::newElement(), NL3D::CPSRibbon::newElement(), NL3D::CPSQuad::newElement(), NL3D::CPSConstraintMesh::newElement(), newElement(), and NL3D::CPSDot::newElement().
00234 { 00235 if (_ColorScheme && _ColorScheme->hasMemory()) _ColorScheme->newElement(emitterLocated, emitterIndex); 00236 } |
|
====================================================================================
Implements NL3D::CPSParticle. Definition at line 264 of file ps_fan_light.cpp. References NL3D::CPSRotated2DParticle::newAngle2DElement(), NL3D::CPSColoredParticle::newColorElement(), NL3D::CPSSizedParticle::newSizeElement(), and uint32.
00265 { 00266 newColorElement(emitterLocated, emitterIndex); 00267 newSizeElement(emitterLocated, emitterIndex); 00268 newAngle2DElement(emitterLocated, emitterIndex); 00269 } |
|
Definition at line 291 of file ps_particle_basic.h. References NL3D::CPSSizedParticle::_SizeScheme, NL3D::CPSAttribMaker< float >::hasMemory(), NL3D::CPSAttribMaker< float >::newElement(), and uint32. Referenced by NL3D::CPSShockWave::newElement(), NL3D::CPSRibbonLookAt::newElement(), NL3D::CPSRibbon::newElement(), NL3D::CPSQuad::newElement(), NL3D::CPSConstraintMesh::newElement(), NL3D::CPSMesh::newElement(), and newElement().
00292 { 00293 if (_SizeScheme && _SizeScheme->hasMemory()) _SizeScheme->newElement(emitterLocated, emitterIndex); 00294 } |
|
|
|
Shortcut to notify that the max number of faces has changed This must be called when a geometric property of the particle has been modified This needn't to be called during CPSParticle::resize overrides Definition at line 151 of file ps_particle_basic.h. References NL3D::CPSLocated::notifyMaxNumFacesChanged(). Referenced by setNbFans(), NL3D::CPSShockWave::setNbSegs(), and NL3D::CPSConstraintMesh::update().
|
|
*************************************************************************************** Can be used by located bindable that have located as targets (emitter, collision zone, forces) to be notified that one of their target has been removed. To do this : The object that focus the target must call registerDTorObserver on the target, with himself as a parameter When the target is removed, this target will call this method for all registered CPSLocated The default behaviour remove this object as an observer
Reimplemented in NL3D::CPSEmitter, and NL3D::CPSTargetLocatedBindable. Definition at line 1996 of file ps_located.cpp. References NL3D::CPSLocated::unregisterDtorObserver(). Referenced by NL3D::CPSLocated::releaseRefTo().
01997 {
01998 ptr->unregisterDtorObserver(this);
01999 }
|
|
*************************************************************************************** Release any reference this obj may have to other process of the system For example, this is used when detaching a located bindable from a system. Reimplemented in NL3D::CPSEmitter, NL3D::CPSLight, NL3D::CPSTargetLocatedBindable, and NL3D::CPSMesh. Definition at line 2170 of file ps_located.cpp. Referenced by NL3D::CPSLocatedBindable::setOwner().
02171 { 02172 } |
|
Release any reference this obj may have on the given process. For example, this is used when detaching a located bindable from a system. Reimplemented in NL3D::CPSEmitter, and NL3D::CPSTargetLocatedBindable. Definition at line 871 of file ps_located.h.
00871 {} |
|
====================================================================================
Implements NL3D::CPSParticle. Definition at line 432 of file ps_fan_light.cpp. References nlassert, NL3D::CPSRotated2DParticle::resizeAngle2D(), NL3D::CPSColoredParticle::resizeColor(), NL3D::CPSSizedParticle::resizeSize(), size, and uint32. Referenced by setNbFans().
00433 { 00434 nlassert(size < (1 << 16)); 00435 resizeColor(size); 00436 resizeAngle2D(size); 00437 resizeSize(size); 00438 00439 } |
|
Definition at line 384 of file ps_particle_basic.h. References NL3D::CPSRotated2DParticle::_Angle2DScheme, NL3D::CPSRotated2DParticle::getAngle2DOwner(), NL3D::CPSAttribMaker< float >::hasMemory(), nlassert, NL3D::CPSAttribMaker< float >::resize(), size, and uint32. Referenced by NL3D::CPSShockWave::resize(), NL3D::CPSMesh::resize(), resize(), and NL3D::CPSFaceLookAt::resize().
00385 { 00386 nlassert(size < (1 << 16)); 00387 if (_Angle2DScheme && _Angle2DScheme->hasMemory()) _Angle2DScheme->resize(size, getAngle2DOwner()->getSize()); 00388 } |
|
Definition at line 241 of file ps_particle_basic.h. References NL3D::CPSColoredParticle::getColorOwner(), NL3D::CPSAttribMaker< CRGBA >::hasMemory(), nlassert, NL3D::CPSAttribMaker< CRGBA >::resize(), size, and uint32. Referenced by NL3D::CPSTailDot::resize(), NL3D::CPSShockWave::resize(), NL3D::CPSRibbonLookAt::resize(), NL3D::CPSRibbon::resize(), NL3D::CPSQuad::resize(), NL3D::CPSConstraintMesh::resize(), resize(), and NL3D::CPSDot::resize().
00242 { 00243 nlassert(size < (1 << 16)); 00244 if (_ColorScheme && _ColorScheme->hasMemory()) _ColorScheme->resize(size, getColorOwner()->getSize()); 00245 } |
|
Definition at line 299 of file ps_particle_basic.h. References NL3D::CPSSizedParticle::_SizeScheme, NL3D::CPSSizedParticle::getSize(), NL3D::CPSSizedParticle::getSizeOwner(), NL3D::CPSAttribMaker< float >::hasMemory(), nlassert, NL3D::CPSAttribMaker< float >::resize(), size, and uint32. Referenced by NL3D::CPSShockWave::resize(), NL3D::CPSRibbonLookAt::resize(), NL3D::CPSRibbon::resize(), NL3D::CPSQuad::resize(), NL3D::CPSConstraintMesh::resize(), NL3D::CPSMesh::resize(), and resize().
00300 { 00301 nlassert(size < (1 << 16)); 00302 if (_SizeScheme && _SizeScheme->hasMemory()) _SizeScheme->resize(size, getSizeOwner()->getSize()); 00303 } |
|
====================================================================================
Reimplemented from NL3D::CPSParticle. Definition at line 370 of file ps_fan_light.cpp. References sint.
00371 { 00372 sint ver = f.serialVersion(2); 00373 CPSParticle::serial(f); 00374 CPSColoredParticle::serialColorScheme(f); 00375 CPSSizedParticle::serialSizeScheme(f); 00376 CPSRotated2DParticle::serialAngle2DScheme(f); 00377 f.serial(_NbFans); 00378 serialMaterial(f); 00379 if (ver > 1) 00380 { 00381 f.serial(_PhaseSmoothness, _MoveIntensity); 00382 ITexture *tex = _Tex; 00383 f.serialPolyPtr(tex); 00384 if (f.isReading()) _Tex = tex ; 00385 } 00386 if (f.isReading()) 00387 { 00388 init(); 00389 } 00390 } |
|
===================================================================================
Definition at line 270 of file ps_particle_basic.cpp. Referenced by NL3D::CPSRibbon::serial().
00271 { 00272 f.serialVersion(1); 00273 if (f.isReading()) 00274 { 00275 if (_Angle2DScheme) 00276 { 00277 delete _Angle2DScheme; 00278 _Angle2DScheme = NULL; 00279 } 00280 } 00281 bool useAngle2DScheme = _Angle2DScheme != NULL; 00282 f.serial(useAngle2DScheme); 00283 if (useAngle2DScheme) 00284 { 00285 f.serialPolyPtr(_Angle2DScheme); 00286 } 00287 else 00288 { 00289 f.serial(_Angle2D); 00290 } 00291 } |
|
serialization.
Definition at line 155 of file ps_particle_basic.cpp.
00156 { 00157 f.serialVersion(1); 00158 if (f.isReading()) 00159 { 00160 if (_ColorScheme) 00161 { 00162 delete _ColorScheme; 00163 _ColorScheme = NULL; 00164 } 00165 } 00166 bool useColorScheme = _ColorScheme != NULL; 00167 f.serial(useColorScheme); 00168 if (useColorScheme) 00169 { 00170 f.serialPolyPtr(_ColorScheme); 00171 } 00172 else 00173 { 00174 f.serial(_Color); 00175 } 00176 } |
|
===================================================================================
Definition at line 493 of file ps_particle_basic.cpp. References sint.
00494 { 00495 sint ver = f.serialVersion(2); 00496 TBlendingMode m = getBlendingMode(); 00497 f.serialEnum(m); 00498 setBlendingMode(m); 00499 if (ver >= 2) 00500 { 00501 bool zTest = isZTestEnabled(); 00502 f.serial(zTest); 00503 enableZTest(zTest); 00504 } 00505 } |
|
serialization. We choose a different name because of multiple-inheritance
Definition at line 211 of file ps_particle_basic.cpp.
00212 { 00213 f.serialVersion(1); 00214 if (f.isReading()) 00215 { 00216 if (_SizeScheme) 00217 { 00218 delete _SizeScheme; 00219 _SizeScheme = NULL; 00220 } 00221 } 00222 bool useSizeScheme = _SizeScheme != NULL; 00223 f.serial(useSizeScheme); 00224 if (useSizeScheme) 00225 { 00226 f.serialPolyPtr(_SizeScheme); 00227 } 00228 else 00229 { 00230 f.serial(_ParticleSize); 00231 } 00232 }; |
|
Activate / Deactivate this object. When not active, the owning system won't try to call the 'step' method.
Definition at line 843 of file ps_located.h. References NL3D::CPSLocatedBindable::_Active. Referenced by NL3D::CParticleSystem::activateEmitters(), and NL3D::CParticleSystemInstanceUser::setActive().
00843 { _Active = active; } |
|
=================================================================================== Set a constant angle for the particle. Angles range from 0.0f to 256.0f (2 pi) This discrad any previous scheme
Definition at line 251 of file ps_particle_basic.cpp. References NL3D::CPSRotated2DParticle::_Angle2D, and NL3D::CPSRotated2DParticle::_Angle2DScheme.
00252 { 00253 delete _Angle2DScheme; 00254 _Angle2DScheme = NULL; 00255 _Angle2D = angle2DScheme; 00256 } |
|
=================================================================================== Set an attribute maker that produce a float It must have been allocated by new It will be deleted by this object Output angles must range from 0.0f to 256.0f Definition at line 242 of file ps_particle_basic.cpp. References NL3D::CPSRotated2DParticle::_Angle2DScheme, NL3D::CPSRotated2DParticle::getAngle2DOwner(), nlassert, and NL3D::CPSAttribMaker< T >::resize().
00243 { 00244 nlassert(angle2DScheme); 00245 delete _Angle2DScheme; 00246 _Angle2DScheme = angle2DScheme; 00247 if (getAngle2DOwner() && angle2DScheme->hasMemory()) angle2DScheme->resize(getAngle2DOwner()->getMaxSize(), getAngle2DOwner()->getSize()); 00248 } |
|
===================================================================================
Definition at line 520 of file ps_particle_basic.cpp. References NL3D::CPSMaterial::alphaBlend, NL3D::CPSMaterial::alphaTest, NL3D::CMaterial::setAlphaTest(), NL3D::CMaterial::setBlend(), NL3D::CMaterial::setBlendFunc(), and NL3D::CMaterial::setZWrite().
00521 { 00522 switch (mode) 00523 { 00524 case add: 00525 _Mat.setBlend(true); 00526 _Mat.setBlendFunc(CMaterial::one, CMaterial::one); 00527 _Mat.setZWrite(false); 00528 _Mat.setAlphaTest(false); 00529 break; 00530 case modulate: 00531 _Mat.setBlend(true); 00532 _Mat.setBlendFunc(CMaterial::zero, CMaterial::srccolor); 00533 _Mat.setZWrite(false); 00534 _Mat.setAlphaTest(false); 00535 break; 00536 case alphaBlend: 00537 _Mat.setBlend(true); 00538 _Mat.setBlendFunc(CMaterial::srcalpha, CMaterial::invsrcalpha); 00539 _Mat.setZWrite(false); 00540 _Mat.setAlphaTest(false); 00541 break; 00542 case alphaTest: 00543 _Mat.setBlend(false); 00544 _Mat.setZWrite(true); 00545 _Mat.setAlphaTest(true); 00546 break; 00547 } 00548 } |
|
Set a constant color for the particles. remove any previous scheme.
Definition at line 135 of file ps_particle_basic.cpp. References NL3D::CPSColoredParticle::updateMatAndVbForColor().
00136 { 00137 delete _ColorScheme; 00138 _ColorScheme = NULL; 00139 _Color = col; 00140 updateMatAndVbForColor(); 00141 } |
|
Set an attribute maker that produce a color It must have been allocated by new It will be deleted by this object Definition at line 125 of file ps_particle_basic.cpp. References NL3D::CPSColoredParticle::getColorOwner(), nlassert, NL3D::CPSAttribMaker< T >::resize(), and NL3D::CPSColoredParticle::updateMatAndVbForColor().
00126 { 00127 nlassert(col); 00128 delete _ColorScheme; 00129 _ColorScheme = col; 00130 if (getColorOwner() && col->hasMemory()) col->resize(getColorOwner()->getMaxSize(), getColorOwner()->getSize()); 00131 updateMatAndVbForColor(); 00132 } |
|
*************************************************************************************** set the extern ID of this located bindable. 0 means no extern access. The map of ID-locatedBindable. Is in th particle system, so this located bindable must have been attached to a particle system, otherwise an assertion is raised Definition at line 2149 of file ps_located.cpp. References NL3D::CPSLocatedBindable::_ExternID, NL3D::CParticleSystemProcess::getOwner(), NL3D::CParticleSystem::registerLocatedBindableExternID(), uint32, and NL3D::CParticleSystem::unregisterLocatedBindableExternID().
02150 { 02151 if (id == _ExternID) return; 02152 CParticleSystem *ps = NULL; 02153 if (_Owner && _Owner->getOwner()) 02154 { 02155 ps = _Owner->getOwner(); 02156 } 02157 if (ps) 02158 { 02159 ps->unregisterLocatedBindableExternID(this); 02160 _ExternID = 0; 02161 } 02162 if (id != 0) 02163 { 02164 if (ps) ps->registerLocatedBindableExternID(id, this); 02165 _ExternID = id; 02166 } 02167 } |
|
set the LODs that apply to that object (warning : it is based on the position of the system, and don't act on a per instance basis ...) To have per instance precision, you must use an attribute maker that has LOD as its input Definition at line 952 of file ps_located.h. References NL3D::CPSLocatedBindable::_LOD.
00952 { _LOD = lod; } |
|
set the intensity of fan movement. Default is 1.5
Definition at line 79 of file ps_fan_light.h. References _MoveIntensity.
00079 { _MoveIntensity = intensity; } |
|
set the located bindable name (edition purpose)
Definition at line 946 of file ps_located.h.
00946 { _Name = name; } |
|
====================================================================================
Definition at line 422 of file ps_fan_light.cpp. References _NbFans, NL3D::CPSLocated::getMaxSize(), NL3D::CPSParticle::notifyOwnerMaxNumFacesChanged(), resize(), and uint32.
00423 { 00424 _NbFans = nbFans; 00425 00426 resize(_Owner->getMaxSize()); 00427 00428 notifyOwnerMaxNumFacesChanged(); 00429 } |
|
***************************************************************************************
Reimplemented in NL3D::CPSEmitter. Definition at line 1948 of file ps_located.cpp. References NL3D::CParticleSystem::addRefForUserSysCoordInfo(), NL3D::CPSLocatedBindable::deleteElement(), NL3D::CParticleSystemProcess::getOwner(), NL3D::CPSLocated::getSize(), NL3D::CPSLocatedBindable::getUserMatrixUsageCount(), NL3D::CPSLocatedBindable::releaseAllRef(), NL3D::CParticleSystem::releaseRefForUserSysCoordInfo(), and uint. Referenced by NL3D::CPSLocated::bind(), and NL3D::CPSLocated::unbind().
01949 { 01950 if (psl == _Owner) return; 01951 if (psl == NULL) 01952 { 01953 releaseAllRef(); 01954 if (_Owner) 01955 { 01956 // empty this located bindable. Need to be empty if it must be rebound to another located. 01957 for (uint k = 0; k < _Owner->getSize(); ++k) 01958 { 01959 deleteElement(0); 01960 } 01961 } 01962 } 01963 if (_Owner && _Owner->getOwner()) 01964 { 01965 _Owner->getOwner()->releaseRefForUserSysCoordInfo(getUserMatrixUsageCount()); 01966 } 01967 _Owner = psl; 01968 if (_Owner && _Owner->getOwner()) 01969 { 01970 _Owner->getOwner()->addRefForUserSysCoordInfo(getUserMatrixUsageCount()); 01971 } 01972 } |
|
Set the smoothness of phases. The default is 0 which means no smoothness. n mean that the phase will be linearly interpolated between each n + 1 fans It ranges from 0 to 31 Definition at line 69 of file ps_fan_light.h. References _PhaseSmoothness, nlassert, and uint32.
00070 { 00071 nlassert(smoothNess < 32); 00072 _PhaseSmoothness = smoothNess; 00073 } |
|
==================================================================================== Set the speed for phase If the located holding this particle as a limited lifetime, it gives how many 0-2Pi cycle it'll do during its life Otherwise it gives how many cycle there are in a second Definition at line 280 of file ps_fan_light.cpp. References _PhaseSpeed.
00281 { 00282 _PhaseSpeed = 256.0f * multiplier; 00283 } |
|
Set a constant size for the particles.
Definition at line 192 of file ps_particle_basic.cpp. References NL3D::CPSSizedParticle::_ParticleSize, NL3D::CPSSizedParticle::_SizeScheme, and size.
00193 { 00194 delete _SizeScheme; 00195 _SizeScheme = NULL; 00196 _ParticleSize = size; 00197 } |
|
Set an attribute maker that produce a size It must have been allocated by new It will be deleted by this object Definition at line 183 of file ps_particle_basic.cpp. References NL3D::CPSSizedParticle::_SizeScheme, NL3D::CPSSizedParticle::getSize(), NL3D::CPSSizedParticle::getSizeOwner(), nlassert, and size.
00184 { 00185 nlassert(size != NULL); 00186 delete _SizeScheme; 00187 _SizeScheme = size; 00188 if (getSizeOwner() && size->hasMemory()) size->resize(getSizeOwner()->getMaxSize(), getSizeOwner()->getSize()); 00189 } |
|
Set a texture. NULL remove it.
Implements NL3D::CPSTexturedParticleNoAnim. Definition at line 117 of file ps_fan_light.h.
00118 { 00119 _Tex = tex; 00120 } |
|
|
==================================================================================== update material color Definition at line 286 of file ps_fan_light.cpp. References NL3D::CPSMaterial::forceTexturedMaterialStages(), NL3D::CParticleSystem::getColorAttenuationScheme(), NL3D::CParticleSystem::getForceGlobalColorLightingFlag(), NL3D::CParticleSystem::getGlobalColor(), NL3D::CParticleSystem::getGlobalColorLighted(), NL3D::CParticleSystemProcess::getOwner(), NL3D::CParticleSystem::isUserColorUsed(), NLMISC::CRGBA::modulateFromColor(), NL3D::CMaterial::setTexture(), NL3D::SetupModulatedStage(), NL3D::CMaterial::texConstantColor(), and NL3D::CPSParticle::usesGlobalColorLighting(). Referenced by draw().
00287 { 00288 CParticleSystem &ps = *(_Owner->getOwner()); 00290 if (_Tex == NULL) 00291 { 00292 forceTexturedMaterialStages(1); 00293 SetupModulatedStage(_Mat, 0, CMaterial::Diffuse, CMaterial::Constant); 00294 } 00295 else 00296 { 00297 _Mat.setTexture(0, _Tex); 00298 forceTexturedMaterialStages(2); 00299 SetupModulatedStage(_Mat, 0, CMaterial::Texture, CMaterial::Constant); 00300 SetupModulatedStage(_Mat, 1, CMaterial::Diffuse, CMaterial::Previous); 00301 } 00302 00303 // always setup global colors 00304 if (_ColorScheme) 00305 { 00306 if (ps.getForceGlobalColorLightingFlag() || usesGlobalColorLighting()) 00307 { 00308 _Mat.texConstantColor(0, ps.getGlobalColorLighted()); 00309 } 00310 else 00311 { 00312 _Mat.texConstantColor(0, ps.getGlobalColor()); 00313 } 00314 } 00315 else 00316 { 00317 NLMISC::CRGBA col; 00318 if (ps.getForceGlobalColorLightingFlag() || usesGlobalColorLighting()) 00319 { 00320 col.modulateFromColor(ps.getGlobalColorLighted(), _Color); 00321 } 00322 else if (ps.getColorAttenuationScheme() != NULL || ps.isUserColorUsed()) 00323 { 00324 col.modulateFromColor(ps.getGlobalColor(), _Color); 00325 } 00326 else 00327 { 00328 col = _Color; 00329 } 00330 _Mat.texConstantColor(0, col); 00331 } 00332 } |
|
Implements NL3D::CPSParticle. Definition at line 141 of file ps_fan_light.h. References value.
00141 { CPSMaterial::setZBias(value); } |
|
draw the particles for edition mode. The default behaviour just draw a wireframe model
Definition at line 55 of file ps_particle_basic.cpp. References NL3D::CPSLocatedBindable::displayIcon2d(), PARTICLES_CHECK_MEM, and uint. Referenced by NL3D::CPSParticle::step(), NL3D::CPSConstraintMesh::step(), NL3D::CPSMesh::step(), and NL3D::CPSFace::step().
00056 { 00057 PARTICLES_CHECK_MEM; 00058 00059 CVector I = CVector::I; 00060 CVector J = CVector::J; 00061 00062 const CVector tab[] = { 2 * J, I + J 00063 , I + J, 2 * I + J 00064 , 2 * I + J, I 00065 , I, 2 * I - J 00066 , 2 * I - J, - .5f * J 00067 , - .5f * J, -2 * I - J 00068 , -2 * I - J, - I 00069 , - I, -2 * I + J 00070 , -2 * I + J, - I + J 00071 , - I + J, 2 * J 00072 }; 00073 const uint tabSize = sizeof(tab) / (2 * sizeof(CVector)); 00074 00075 const float sSize = 0.1f; 00076 displayIcon2d(tab, tabSize, sSize); 00077 00078 PARTICLES_CHECK_MEM; 00079 } |
|
process one pass for the particles. The default behaviour shows the particles Implements NL3D::CPSLocatedBindable. Reimplemented in NL3D::CPSFace, NL3D::CPSMesh, NL3D::CPSConstraintMesh, NL3D::CPSRibbon, NL3D::CPSRibbonLookAt, and NL3D::CPSTailDot. Definition at line 74 of file ps_particle_basic.h. References NL3D::CPSParticle::draw(), NL3D::CPSParticle::hasOpaqueFaces(), NL3D::CPSParticle::hasTransparentFaces(), NL3D::PSBlendRender, NL3D::PSSolidRender, NL3D::PSToolRender, NL3D::CPSParticle::showTool(), and NL3D::TAnimationTime.
00075 { 00076 if ( 00077 (pass == PSBlendRender && hasTransparentFaces()) 00078 || (pass == PSSolidRender && hasOpaqueFaces()) 00079 ) 00080 { 00081 draw(pass == PSSolidRender); 00082 } 00083 else 00084 if (pass == PSToolRender) // edition mode only 00085 { 00086 showTool(); 00087 } 00088 } |
|
Implements NL3D::CPSParticle. Definition at line 136 of file ps_fan_light.h.
00136 { return true; } |
|
PRIVATE USE : called by the system when its date has been manually changed. This his usually for object that expect time to be always increasing, so that they can reset their datas Reimplemented in NL3D::CPSRibbonBase. Definition at line 1038 of file ps_located.h.
01038 {} |
|
====================================================================================
Implements NL3D::CPSColoredParticle. Definition at line 453 of file ps_fan_light.cpp. Referenced by init().
00454 {
00455 //touch();
00456 }
|
|
Returns true if the object can use global lighting color. (example : 'lookat' particle do not have normals, so they use global lighting color instead Definition at line 103 of file ps_particle_basic.h. References NL3D::CPSParticle::_UsesGlobalColorLighting. Referenced by NL3D::CPSTailDot::displayRibbons(), NL3D::CPSRibbonLookAt::displayRibbons(), NL3D::CPSRibbon::displayRibbons(), NL3D::CPSShockWave::draw(), NL3D::CPSDot::draw(), NL3D::CPSTailDot::setupGlobalColor(), setupMaterial(), NL3D::CPSRibbon::setupTexturedGlobalColor(), NL3D::CPSRibbon::setupUntexturedGlobalColor(), NL3D::CPSTailDot::step(), NL3D::CPSRibbonLookAt::step(), NL3D::CPSRibbon::step(), NL3D::CPSQuad::updateMatBeforeRendering(), NL3D::CPSTailDot::updateMaterial(), NL3D::CPSRibbon::updateTexturedMaterial(), and NL3D::CPSRibbon::updateUntexturedMaterial().
00103 { return _UsesGlobalColorLighting; }
|
|
Definition at line 151 of file ps_fan_light.h. |
|
Reimplemented in NL3D::CPSForce. Definition at line 986 of file ps_located.h. |
|
Definition at line 1033 of file ps_located.h. Referenced by NL3D::CPSLocatedBindable::isActive(), and NL3D::CPSLocatedBindable::setActive(). |
|
|
|
Definition at line 226 of file ps_particle_basic.h. |
|
Definition at line 53 of file ps_fan_light.cpp. Referenced by getVBnIB(). |
|
Definition at line 52 of file ps_fan_light.cpp. Referenced by getVBnIB(). |
|
Definition at line 228 of file ps_particle_basic.h. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), NL3D::CPSConstraintMeshHelper::drawMeshs(), and NL3D::CPSConstraintMeshHelper::drawPrerotatedMeshs(). |
|
Definition at line 1027 of file ps_located.h. Referenced by NL3D::CPSLocatedBindable::getExternID(), NL3D::CPSLocatedBindable::setExternID(), and NL3D::CPSLocatedBindable::~CPSLocatedBindable(). |
|
Definition at line 54 of file ps_fan_light.cpp. Referenced by getVBnIB(). |
|
it is true if the table has been initialized, for debug purposes
Definition at line 239 of file ps_particle_basic.cpp. Referenced by NL3D::CPSRotated2DParticle::getRotTable(), and NL3D::CPSRotated2DParticle::initRotTable(). |
|
tells when this object must be dealt with
Definition at line 1029 of file ps_located.h. Referenced by NL3D::CPSLocatedBindable::getLOD(), and NL3D::CPSLocatedBindable::setLOD(). |
|
Definition at line 844 of file ps_particle_basic.h. Referenced by NL3D::CPSFaceHelper::drawFaces(), NL3D::CPSFanLightHelper::drawFanLight(), NL3D::CPSFaceLookAtHelper::drawLookAt(), and NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion(). |
|
Definition at line 158 of file ps_fan_light.h. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), getMoveIntensity(), and setMoveIntensity(). |
|
Definition at line 1031 of file ps_located.h. |
|
Definition at line 156 of file ps_fan_light.h. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), getMaxNumFaces(), getNbFans(), getNumFanlightsInVB(), getVBnIB(), and setNbFans(). |
|
|
|
Definition at line 157 of file ps_fan_light.h. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), getPhaseSmoothness(), and setPhaseSmoothness(). |
|
Definition at line 160 of file ps_fan_light.h. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), getPhaseSpeed(), and setPhaseSpeed(). |
|
Definition at line 47 of file ps_fan_light.cpp. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), and initFanLightPrecalc(). |
|
Definition at line 48 of file ps_fan_light.cpp. Referenced by NL3D::CPSFanLightHelper::drawFanLight(), and initFanLightPrecalc(). |
|
Definition at line 238 of file ps_particle_basic.cpp. Referenced by NL3D::CPSRotated2DParticle::getRotTable(), and NL3D::CPSRotated2DParticle::initRotTable(). |
|
|
Definition at line 159 of file ps_fan_light.h. |
|
Definition at line 51 of file ps_fan_light.cpp. Referenced by getVBnIB(). |
|
Definition at line 50 of file ps_fan_light.cpp. Referenced by getVBnIB(). |