|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CPSLocated Class Referencethis class is a located : it belongs to a particle system, and it represents any kind of object that has a position in the world.
More...
#include <ps_located.h>
Inheritance diagram for NL3D::CPSLocated:
List of all members.
Public Types |
typedef CPSAttrib< CParametricInfo > | TPSAttribParametricInfo |
| WARNING : private use by forces only. More...
|
Public Methods |
| CPSLocated () |
| Constructor. More...
|
virtual | ~CPSLocated () |
| dtor. More...
|
void | bind (CPSLocatedBindable *lb) |
| sorted insertion (by decreasing priority order) of a bindable (particle e.g an aspect, emitter) in a located. More...
|
CPSLocatedBindable * | unbind (uint index) |
| =============================================================================. More...
|
bool | isBound (const CPSLocatedBindable *lb) const |
| =============================================================================. More...
|
uint | getIndexOf (const CPSLocatedBindable *lb) const |
| =============================================================================. More...
|
void | remove (const CPSLocatedBindable *lb) |
| remove a bound object from the located if the object doesnt exist -> nlassert it is deleted. More...
|
virtual void | releaseRefTo (const CParticleSystemProcess *other) |
| =============================================================================. More...
|
virtual void | releaseAllRef () |
| =============================================================================. More...
|
uint32 | getNbBoundObjects (void) const |
| count the number of bound objects. More...
|
const CPSLocatedBindable * | getBoundObject (uint32 index) const |
| get a pointer to a bound object (const version). More...
|
CPSLocatedBindable * | getBoundObject (uint32 index) |
| get a pointer to a bound object. More...
|
sint32 | newElement (const NLMISC::CVector &pos=NLMISC::CVector::Null, const NLMISC::CVector &speed=NLMISC::CVector::Null, CPSLocated *emitterLocated=NULL, uint32 indexInEmitter=0, bool basisConversionForSpeed=true, TAnimationTime ellapsedTime=0.f) |
| new element generation. More...
|
void | deleteElement (uint32 index) |
| delete an element. More...
|
CScene * | getScene (void) |
| shortcut to get the scene. More...
|
void | getLODVect (NLMISC::CVector &v, float &offset, bool systemBasis) |
| shortcut to the same method of the owning particle system. More...
|
void | incrementNbDrawnParticles (uint num) |
| Shorcut to increase the particle counter (number of particle drawn, for benchmark purpose ) should be called only by bound object that display particles. More...
|
uint32 | getNewElementIndex (void) const |
| Get the index of the new element that is created Valid only after the newElement method (overridable) of a LocatedBindable is called : you get the index of the located being generated, if you need its pos, speed, or mass. More...
|
bool | computeBBox (NLMISC::CAABBox &aabbox) const |
| Compute the aabbox of this located, (expressed in world basis. More...
|
void | setInitialLife (TAnimationTime lifeTime) |
| Set the duration of locateds. More...
|
void | setLifeScheme (CPSAttribMaker< float > *scheme) |
| Reset all particles current date to 0. More...
|
TAnimationTime | getInitialLife (void) const |
| get the life of created particles (valid if they have a limited life time). More...
|
CPSAttribMaker< float > * | getLifeScheme (void) |
| get the life scheme of created particle, null if none (valid if they have a limited life time). More...
|
const CPSAttribMaker< float > * | getLifeScheme (void) const |
void | setInitialMass (float mass) |
| Set the mass of locateds. More...
|
void | setMassScheme (CPSAttribMaker< float > *scheme) |
| Set a scheme (allocated by new, released by that object) that generate the mass of locateds. More...
|
float | getInitialMass (void) const |
| get the mass of created particle. More...
|
CPSAttribMaker< float > * | getMassScheme (void) |
| get the scheme that compute mass of created particles, null if none. More...
|
const CPSAttribMaker< float > * | getMassScheme (void) const |
void | setLastForever (void) |
| set immortality for located. More...
|
bool | getLastForever (void) const |
| retrieve immortality for locateds. More...
|
TPSAttribFloat & | getInvMass (void) |
| get mass inverse attrib ref. More...
|
const TPSAttribFloat & | getInvMass (void) const |
| get mass inverse attrib const ref. More...
|
TPSAttribVector & | getPos (void) |
| get Pos attrib ref. More...
|
const TPSAttribVector & | getPos (void) const |
| get Pos attrib const ref. More...
|
TPSAttribVector & | getSpeed (void) |
| get Speed attrib ref. More...
|
const TPSAttribVector & | getSpeed (void) const |
| get Speed attrib const ref. More...
|
TPSAttribTime & | getTime (void) |
| get Time attrib ref. More...
|
const TPSAttribTime & | getTime (void) const |
| get Time attrib const ref. More...
|
TPSAttribTime & | getTimeIncrement (void) |
| get TotalTime attrib ref. More...
|
const TPSAttribTime & | getTimeIncrement (void) const |
| get TotalTime attrib const ref. More...
|
virtual void | step (TPSProcessPass pass, TAnimationTime ellapsedTime, TAnimationTime realEt) |
| process the system. More...
|
uint32 | getSize (void) const |
| get the current number of instance in this located container. More...
|
uint32 | getMaxSize (void) const |
| get the max number of instance in this located container. More...
|
void | setFrameRate (uint32 nbFramesToSkip=0) |
| set the Refresh Rate of this located. More...
|
uint32 | getFrameRate (void) const |
void | resize (uint32 newSize) |
| Resize the located container. More...
|
void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
| serialization. More...
|
IDriver * | getDriver () const |
| Shortcut to get an instance of the 3d driver. More...
|
float | getUserParam (uint numParam) const |
| shorcut to get a user param that was set in the owner system. More...
|
| NLMISC_DECLARE_CLASS (CPSLocated) |
void | setupDriverModelMatrix (void) |
| Setup the driver model matrix. It is set accordingly to the basis used for rendering. More...
|
NLMISC::CVector | computeI (void) const |
| Compute a vector that will map to (1 0 0) after view and model transform. More...
|
NLMISC::CVector | computeJ (void) const |
| Compute a vector that will map to (0 1 0) after view and model transform. More...
|
NLMISC::CVector | computeK (void) const |
| Compute a vector that will map to (0 0 1) after view and model transform. More...
|
void | queryCollisionInfo (void) |
| call this if you need collision infos. More...
|
void | releaseCollisionInfo (void) |
| Release the collideInfos attribute. More...
|
bool | hasCollisionInfos () const |
| test wether this located has collision infos. More...
|
TPSAttribCollisionInfo & | getCollisionInfo (void) |
| get a ref to the collision infos. More...
|
const TPSAttribCollisionInfo & | getCollisionInfo (void) const |
| get a const ref to the collision infos. More...
|
void | collisionUpdate (const CPSCollisionInfo &ci, uint32 index) |
| A collider must call this when a collision occurs If the collider was nearer that another one it will be taken in account \index the index of instance that collided. More...
|
void | registerDtorObserver (CPSLocatedBindable *observer) |
| Register a dtor observer; (that derives from CPSLocatedBindable) Each observer will be called when this object dtor is called (call of method notifyTargetRemoved() ) This allow for objects that hold this as a target to know when it is suppressed (example : collision objects hold located as targets) When an observer is detroyed, it MUST call unregisterDtorObserver, The same observer can only register once, otherwise, an assertion occurs. More...
|
void | unregisterDtorObserver (CPSLocatedBindable *anObserver) |
| remove a dtor observer (not present -> nlassert) see register dtor observer. More...
|
void | setName (const std::string &name) |
| set the located bindable name (edition purpose). More...
|
std::string | getName (void) const |
| get the located bindable name (edition purpose). More...
|
virtual bool | hasParticles (void) const |
| tells wether there are alive entities / particles in the system. More...
|
virtual bool | hasEmitters (void) const |
| tells wether there are alive emitters. More...
|
void | forceLODDegradation (bool enable=true) |
| Enable the to force LOD degradation. More...
|
bool | hasLODDegradation (void) const |
| Test whether LOD degradation was activated. More...
|
void | notifyMaxNumFacesChanged (void) |
| for the CPSLocated to reevaluate the max number of faces it may need. More...
|
virtual uint | querryMaxWantedNumFaces (void) |
| ask for the max number of faces the located wants (for LOD balancing). More...
|
virtual void | setSystemBasis (bool sysBasis=true) |
| Inherited from CParticlesystemProcess. More...
|
bool | supportParametricMotion (void) const |
| Test wether this located support parametric motion. More...
|
void | enableParametricMotion (bool enable=true) |
| When set to true, this tells the system to use parametric motion. More...
|
bool | isParametricMotionEnabled (void) const |
| test wether parametric motion is enabled. More...
|
virtual void | performParametricMotion (TAnimationTime date, TAnimationTime ellapsedTime, TAnimationTime realEllapsedTime) |
| inherited from CParticlesystemProcess perform parametric motion for this located to reach the given date. More...
|
virtual void | updateLife (TAnimationTime ellapsedTime) |
| make the particle older of the given amount. Should not be called directly, as it is called by the system during its step method. More...
|
void | integrateSingle (float startDate, float deltaT, uint numStep, uint32 indexInLocated, NLMISC::CVector *destPos, uint posStride=sizeof(NLMISC::CVector)) |
| =============================================================================. More...
|
void | enableTriggerOnDeath (bool enable=true) |
| Enable a trigger on death. It is used to create emission on an emitter with a given ID. More...
|
bool | isTriggerOnDeathEnabled (void) const |
| Test wether a trigger on death has been enabled. More...
|
void | setTriggerEmitterID (uint32 id) |
| Set an ID for the emitter to be triggered on death. More...
|
uint32 | getTriggerEmitterID (void) const |
| Get the ID for the emitter to be triggered on death. More...
|
void | registerIntegrableForce (CPSForce *f) |
| PRIVATE USE: register a force that is integrable on this located. It must have been registered only once. More...
|
void | unregisterIntegrableForce (CPSForce *f) |
| PRIVATE USE: unregister a force that is integrable with this located. More...
|
void | integrableForceBasisChanged (bool basis) |
| PRIVATE USE: says that an integrable force basis has changed, and says which is the right basis. More...
|
void | addNonIntegrableForceRef (void) |
| PRIVATE USE: add a reference count that says that non-integrable forces have been added. More...
|
void | releaseNonIntegrableForceRef (void) |
| PRIVATE USE: decrease the reference count to say that a non-integrable force has been removed. More...
|
TPSAttribParametricInfo & | getParametricInfos () |
| PRIVATE USE : access to parametric infos. More...
|
Static Public Methods |
const NLMISC::CMatrix & | getConversionMatrix (const CPSLocated *A, const CPSLocated *B) |
| get a matrix that helps to express located B coordinate in located A basis. More...
|
Public Attributes |
CPSAttrib< CParametricInfo > | _PInfo |
| WARNING : private use by forces only. More...
|
Protected Types |
typedef std::vector< CPSLocatedBindable * > | TLocatedBoundCont |
typedef std::stack< CPostNewElementRequestInfo > | TNewElementRequestStack |
typedef std::vector< CPSLocatedBindable * > | TDtorObserversVect |
typedef std::vector< CPSForce * > | TForceVect |
| a vector of integrable forces that apply on this located. More...
|
Protected Methods |
void | updateNewElementRequestStack (void) |
| generate the located that were posted. More...
|
void | postNewElement (const NLMISC::CVector &pos=NLMISC::CVector::Null, const NLMISC::CVector &speed=NLMISC::CVector::Null) |
| Post a request for the generation of a new located. More...
|
void | resetCollisionInfo (void) |
| this prepare the located ofr collision tests. More...
|
void | allocateParametricInfos (void) |
| allocate parametric infos. More...
|
void | releaseParametricInfos (void) |
| release parametric infos. More...
|
void | notifyMotionTypeChanged (void) |
| =============================================================================. More...
|
Protected Attributes |
uint32 | _MaxNumFaces |
| cache the max number of faces this located may want. More...
|
std::string | _Name |
uint32 | _NbFramesToSkip |
TLocatedBoundCont | _LocatedBoundCont |
uint32 | _MaxSize |
uint32 | _Size |
bool | _LastForever |
TPSAttribFloat | _InvMass |
TPSAttribVector | _Pos |
TPSAttribVector | _Speed |
TPSAttribTime | _Time |
TPSAttribTime | _TimeIncrement |
TPSAttribCollisionInfo * | _CollisionInfo |
| Used to solve collision detection it is not always instanciated. More...
|
uint32 | _CollisionInfoNbRef |
float | _InitialLife |
CPSAttribMaker< float > * | _LifeScheme |
float | _InitialMass |
CPSAttribMaker< float > * | _MassScheme |
TNewElementRequestStack | _RequestStack |
| this stack is used after each update to generate located. More...
|
bool | _UpdateLock |
| this is used to tell wether a newElement or a deleteElement if being performed During these method, creation should use postNewElement to generate new elements Because of the data structures (each located bindable are updated one after each other) inconsistency can happen, when a located generated another located of the same type when he's deleted. More...
|
TDtorObserversVect | _DtorObserversVect |
bool | _LODDegradation |
| true when LOD degradation apply to this located. More...
|
uint16 | _NonIntegrableForceNbRefs |
| number of force, and zones etc. More...
|
uint16 | _NumIntegrableForceWithDifferentBasis |
| number of forces that apply on that located that have the same basis that this one (required for parametric animation). More...
|
TForceVect | _IntegrableForces |
bool | _TriggerOnDeath |
uint32 | _TriggerID |
bool | _ParametricMotion |
| When set to true, this tells the system to use parametric motion. Only parametric forces must have been applied. More...
|
Friends |
class | CPSForce |
Detailed Description
this class is a located : it belongs to a particle system, and it represents any kind of object that has a position in the world.
A located don't do anything by itself. You must bind objects to it, such as a particle, a force and so on. It is important to remember that a located holds all instance of object of one type (force, emitter, particles or both...), not only one. Not sharable accross systems
Definition at line 128 of file ps_located.h.
Member Typedef Documentation
typedef std::vector<CPSLocatedBindable *> NL3D::CPSLocated::TDtorObserversVect [protected]
|
|
typedef std::vector<CPSForce *> NL3D::CPSLocated::TForceVect [protected]
|
|
|
a vector of integrable forces that apply on this located.
Definition at line 704 of file ps_located.h. |
typedef std::vector< CPSLocatedBindable *> NL3D::CPSLocated::TLocatedBoundCont [protected]
|
|
Constructor & Destructor Documentation
NL3D::CPSLocated::CPSLocated |
( |
|
) |
|
|
NL3D::CPSLocated::~CPSLocated |
( |
|
) |
[virtual] |
|
Member Function Documentation
void NL3D::CPSLocated::addNonIntegrableForceRef |
( |
void |
|
) |
|
|
void NL3D::CPSLocated::allocateParametricInfos |
( |
void |
|
) |
[protected] |
|
|
A collider must call this when a collision occurs If the collider was nearer that another one it will be taken in account \index the index of instance that collided.
Definition at line 746 of file ps_located.h.
References _CollisionInfo, index, and nlassert. |
bool NL3D::CPSLocated::computeBBox |
( |
NLMISC::CAABBox & |
aabbox |
) |
const [virtual] |
|
void NL3D::CPSLocated::deleteElement |
( |
uint32 |
index |
) |
|
|
|
delete an element.
Definition at line 690 of file ps_located.cpp.
References _CollisionInfo, _InvMass, _LocatedBoundCont, NL3D::CParticleSystemProcess::_Owner, _PInfo, _Pos, _Size, _Speed, _Time, _TimeIncrement, _TriggerID, _UpdateLock, id, NL3D::IDToLittleEndian, index, NLAISCRIPT::l, nlassert, and NL3D::PSEmitter.
Referenced by resize, step, and updateLife. |
void NL3D::CPSLocated::enableParametricMotion |
( |
bool |
enable = true |
) |
|
|
void NL3D::CPSLocated::enableTriggerOnDeath |
( |
bool |
enable = true |
) |
[inline] |
|
|
Enable a trigger on death. It is used to create emission on an emitter with a given ID.
Definition at line 533 of file ps_located.h.
References _TriggerOnDeath. |
void NL3D::CPSLocated::forceLODDegradation |
( |
bool |
enable = true |
) |
[inline] |
|
|
Enable the to force LOD degradation.
This will suppress instances immediately, (during the motion pass) so that there won't be more than maxNbInstance * dist / maxDist instances. This may not be desirable every time since particle dissapear on screen, which may be noticeable.
Definition at line 488 of file ps_located.h.
References _LODDegradation. |
const NLMISC::CMatrix & NL3D::CPSLocated::getConversionMatrix |
( |
const CPSLocated * |
A, |
|
|
const CPSLocated * |
B |
|
) |
[static] |
|
IDriver * NL3D::CPSLocated::getDriver |
( |
|
) |
const |
|
uint32 NL3D::CPSLocated::getFrameRate |
( |
void |
|
) |
const [inline] |
|
TAnimationTime NL3D::CPSLocated::getInitialLife |
( |
void |
|
) |
const [inline] |
|
float NL3D::CPSLocated::getInitialMass |
( |
void |
|
) |
const [inline] |
|
const TPSAttribFloat& NL3D::CPSLocated::getInvMass |
( |
void |
|
) |
const [inline] |
|
bool NL3D::CPSLocated::getLastForever |
( |
void |
|
) |
const [inline] |
|
const CPSAttribMaker<float>* NL3D::CPSLocated::getLifeScheme |
( |
void |
|
) |
const [inline] |
|
CPSAttribMaker<float>* NL3D::CPSLocated::getLifeScheme |
( |
void |
|
) |
[inline] |
|
|
get the life scheme of created particle, null if none (valid if they have a limited life time).
Definition at line 281 of file ps_located.h.
References _LifeScheme. |
void NL3D::CPSLocated::getLODVect |
( |
NLMISC::CVector & |
v, |
|
|
float & |
offset, |
|
|
bool |
systemBasis |
|
) |
|
|
const CPSAttribMaker<float>* NL3D::CPSLocated::getMassScheme |
( |
void |
|
) |
const [inline] |
|
CPSAttribMaker<float>* NL3D::CPSLocated::getMassScheme |
( |
void |
|
) |
[inline] |
|
|
get the scheme that compute mass of created particles, null if none.
Definition at line 300 of file ps_located.h.
References _MassScheme. |
uint32 NL3D::CPSLocated::getMaxSize |
( |
void |
|
) |
const [inline] |
|
std::string NL3D::CPSLocated::getName |
( |
void |
|
) |
const [inline] |
|
|
get the located bindable name (edition purpose).
Definition at line 474 of file ps_located.h.
References _Name. |
uint32 NL3D::CPSLocated::getNbBoundObjects |
( |
void |
|
) |
const [inline] |
|
uint32 NL3D::CPSLocated::getNewElementIndex |
( |
void |
|
) |
const [inline] |
|
|
Get the index of the new element that is created Valid only after the newElement method (overridable) of a LocatedBindable is called : you get the index of the located being generated, if you need its pos, speed, or mass.
Definition at line 252 of file ps_located.h.
References _Size. |
CScene * NL3D::CPSLocated::getScene |
( |
void |
|
) |
|
|
uint32 NL3D::CPSLocated::getSize |
( |
void |
|
) |
const [inline] |
|
|
get the current number of instance in this located container.
Definition at line 346 of file ps_located.h.
References _Size. |
const TPSAttribTime& NL3D::CPSLocated::getTime |
( |
void |
|
) |
const [inline] |
|
const TPSAttribTime& NL3D::CPSLocated::getTimeIncrement |
( |
void |
|
) |
const [inline] |
|
TPSAttribTime& NL3D::CPSLocated::getTimeIncrement |
( |
void |
|
) |
[inline] |
|
uint32 NL3D::CPSLocated::getTriggerEmitterID |
( |
void |
|
) |
const [inline] |
|
float NL3D::CPSLocated::getUserParam |
( |
uint |
numParam |
) |
const |
|
bool NL3D::CPSLocated::hasCollisionInfos |
( |
|
) |
const [inline] |
|
bool NL3D::CPSLocated::hasEmitters |
( |
void |
|
) |
const [virtual] |
|
bool NL3D::CPSLocated::hasLODDegradation |
( |
void |
|
) |
const [inline] |
|
bool NL3D::CPSLocated::hasParticles |
( |
void |
|
) |
const [virtual] |
|
void NL3D::CPSLocated::incrementNbDrawnParticles |
( |
uint |
num |
) |
|
|
|
Shorcut to increase the particle counter (number of particle drawn, for benchmark purpose ) should be called only by bound object that display particles.
Definition at line 362 of file ps_located.cpp.
References num. |
void NL3D::CPSLocated::integrableForceBasisChanged |
( |
bool |
basis |
) |
|
|
bool NL3D::CPSLocated::isParametricMotionEnabled |
( |
void |
|
) |
const [inline, virtual] |
|
bool NL3D::CPSLocated::isTriggerOnDeathEnabled |
( |
void |
|
) |
const [inline] |
|
|
new element generation.
The coordinate are given in the chosen basis for the located. If the emitterLocated ptr is not null, then the coordinate are taken from the emitterLocated basis and are expressed in this located basis. other attributes are generated according to other properties of this class Will succeed only if it hasn't reach the max number of allowed instances return will be -1 if call failed or an index to the created object. Index is only valid after creation. Any processing pass on the system will make it invalid. It can be used with any attribute modification method of located and located bindable -
Parameters:
-
indexInEmitter |
The index of the emitter (in the emitterLocated object) |
basisConversionForSpeed |
: if false, the speed vector is taken as if even if emitter and emittee basis are differents. |
ellapsedTime |
|
Definition at line 584 of file ps_located.cpp.
References _CollisionInfo, _InitialLife, _InitialMass, _InvMass, _LifeScheme, _LocatedBoundCont, _MassScheme, _MaxSize, NL3D::CParticleSystemProcess::_Owner, _PInfo, _Pos, _Size, _Speed, NL3D::CParticleSystemProcess::_SystemBasisEnabled, _Time, _TimeIncrement, _UpdateLock, nlassert, postNewElement, and NL3D::TAnimationTime.
Referenced by updateNewElementRequestStack. |
NL3D::CPSLocated::NLMISC_DECLARE_CLASS |
( |
CPSLocated |
|
) |
|
|
void NL3D::CPSLocated::notifyMaxNumFacesChanged |
( |
void |
|
) |
|
|
void NL3D::CPSLocated::notifyMotionTypeChanged |
( |
void |
|
) |
[protected] |
|
|
Post a request for the generation of a new located.
it is called by newElement when _UpdateLock is set (when called during newElement or deleteElement)
Definition at line 667 of file ps_located.cpp.
References _RequestStack.
Referenced by newElement. |
uint NL3D::CPSLocated::querryMaxWantedNumFaces |
( |
void |
|
) |
[virtual] |
|
void NL3D::CPSLocated::queryCollisionInfo |
( |
void |
|
) |
|
|
|
Register a dtor observer; (that derives from CPSLocatedBindable) Each observer will be called when this object dtor is called (call of method notifyTargetRemoved() ) This allow for objects that hold this as a target to know when it is suppressed (example : collision objects hold located as targets) When an observer is detroyed, it MUST call unregisterDtorObserver, The same observer can only register once, otherwise, an assertion occurs.
Definition at line 561 of file ps_located.cpp.
References _DtorObserversVect, and nlassert. |
void NL3D::CPSLocated::registerIntegrableForce |
( |
CPSForce * |
f |
) |
|
|
void NL3D::CPSLocated::releaseAllRef |
( |
|
) |
[virtual] |
|
void NL3D::CPSLocated::releaseCollisionInfo |
( |
void |
|
) |
|
|
void NL3D::CPSLocated::releaseNonIntegrableForceRef |
( |
void |
|
) |
|
|
void NL3D::CPSLocated::releaseParametricInfos |
( |
void |
|
) |
[protected] |
|
void NL3D::CPSLocated::resetCollisionInfo |
( |
void |
|
) |
[protected] |
|
void NL3D::CPSLocated::resize |
( |
uint32 |
newSize |
) |
|
|
|
Resize the located container.
Definition at line 753 of file ps_located.cpp.
References _CollisionInfo, _InvMass, _LocatedBoundCont, _MaxSize, _PInfo, _Pos, _Size, _Speed, _Time, _TimeIncrement, deleteElement, nlassert, and notifyMaxNumFacesChanged. |
void NL3D::CPSLocated::setFrameRate |
( |
uint32 |
nbFramesToSkip = 0 |
) |
[inline] |
|
|
set the Refresh Rate of this located.
Default is motion every frame (frameToSkip = 0) The drawing process will still occur every frame anyway... It's a speed / quality tradeof
Definition at line 364 of file ps_located.h.
References _NbFramesToSkip. |
void NL3D::CPSLocated::setInitialMass |
( |
float |
mass |
) |
|
|
void NL3D::CPSLocated::setLastForever |
( |
void |
|
) |
[inline] |
|
void NL3D::CPSLocated::setLifeScheme |
( |
CPSAttribMaker< float > * |
scheme |
) |
|
|
void NL3D::CPSLocated::setMassScheme |
( |
CPSAttribMaker< float > * |
scheme |
) |
|
|
|
Set a scheme (allocated by new, released by that object) that generate the mass of locateds.
Such a scheme can't own its memory. Any previous scheme for Mass is discarded
Definition at line 397 of file ps_located.cpp.
References _MassScheme, and nlassert. |
void NL3D::CPSLocated::setName |
( |
const std::string & |
name |
) |
[inline] |
|
|
set the located bindable name (edition purpose).
Definition at line 471 of file ps_located.h.
References _Name. |
void NL3D::CPSLocated::setSystemBasis |
( |
bool |
sysBasis = true |
) |
[virtual] |
|
void NL3D::CPSLocated::setTriggerEmitterID |
( |
uint32 |
id |
) |
[inline] |
|
void NL3D::CPSLocated::setupDriverModelMatrix |
( |
void |
|
) |
|
|
|
process the system.
Implements NL3D::CParticleSystemProcess.
Definition at line 1067 of file ps_located.cpp.
References _CollisionInfo, _LocatedBoundCont, _MaxSize, _NbFramesToSkip, NL3D::CParticleSystemProcess::_Owner, _Pos, _Size, _Speed, deleteElement, NL3D::IntegrateSpeed, nlassert, NL3D::PSLod1n2, NL3D::PSMotion, step, NL3D::TAnimationTime, NL3D::TPSProcessPass, updateNewElementRequestStack, and x.
Referenced by step. |
bool NL3D::CPSLocated::supportParametricMotion |
( |
void |
|
) |
const |
|
|
=============================================================================.
Ownership is transferred to the caller Any reference the object may have in the system is lost (targets..) After that is may be inserted an other system.
Definition at line 1458 of file ps_located.cpp.
References _LocatedBoundCont, index, and nlassert. |
void NL3D::CPSLocated::unregisterIntegrableForce |
( |
CPSForce * |
f |
) |
|
|
void NL3D::CPSLocated::updateLife |
( |
TAnimationTime |
ellapsedTime |
) |
[virtual] |
|
|
make the particle older of the given amount. Should not be called directly, as it is called by the system during its step method.
Implements NL3D::CParticleSystemProcess.
Definition at line 1198 of file ps_located.cpp.
References _InitialLife, _LastForever, _LifeScheme, NL3D::CParticleSystemProcess::_Owner, _Size, _Time, _TimeIncrement, deleteElement, nlassert, and NL3D::TAnimationTime. |
void NL3D::CPSLocated::updateNewElementRequestStack |
( |
void |
|
) |
[protected] |
|
Friends And Related Function Documentation
friend class CPSForce [friend]
|
|
Member Data Documentation
|
Used to solve collision detection it is not always instanciated.
Definition at line 626 of file ps_located.h.
Referenced by collisionUpdate, deleteElement, getCollisionInfo, hasCollisionInfos, newElement, queryCollisionInfo, releaseAllRef, releaseCollisionInfo, resetCollisionInfo, resize, step, and ~CPSLocated. |
uint32 NL3D::CPSLocated::_CollisionInfoNbRef [protected]
|
|
float NL3D::CPSLocated::_InitialLife [protected]
|
|
float NL3D::CPSLocated::_InitialMass [protected]
|
|
TForceVect NL3D::CPSLocated::_IntegrableForces [protected]
|
|
bool NL3D::CPSLocated::_LastForever [protected]
|
|
|
Definition at line 573 of file ps_located.h.
Referenced by bind, computeBBox, deleteElement, getBoundObject, getIndexOf, getNbBoundObjects, hasEmitters, hasParticles, isBound, newElement, notifyMaxNumFacesChanged, notifyMotionTypeChanged, releaseAllRef, releaseRefTo, remove, resize, setSystemBasis, step, unbind, and ~CPSLocated. |
bool NL3D::CPSLocated::_LODDegradation [protected]
|
|
uint32 NL3D::CPSLocated::_MaxNumFaces [protected]
|
|
uint32 NL3D::CPSLocated::_MaxSize [protected]
|
|
std::string NL3D::CPSLocated::_Name [protected]
|
|
uint32 NL3D::CPSLocated::_NbFramesToSkip [protected]
|
|
uint16 NL3D::CPSLocated::_NonIntegrableForceNbRefs [protected]
|
|
uint16 NL3D::CPSLocated::_NumIntegrableForceWithDifferentBasis [protected]
|
|
bool NL3D::CPSLocated::_ParametricMotion [protected]
|
|
uint32 NL3D::CPSLocated::_Size [protected]
|
|
|
Definition at line 580 of file ps_located.h.
Referenced by bind, computeBBox, deleteElement, getNewElementIndex, getSize, newElement, performParametricMotion, queryCollisionInfo, resize, setInitialLife, step, and updateLife. |
uint32 NL3D::CPSLocated::_TriggerID [protected]
|
|
bool NL3D::CPSLocated::_TriggerOnDeath [protected]
|
|
bool NL3D::CPSLocated::_UpdateLock [protected]
|
|
|
this is used to tell wether a newElement or a deleteElement if being performed During these method, creation should use postNewElement to generate new elements Because of the data structures (each located bindable are updated one after each other) inconsistency can happen, when a located generated another located of the same type when he's deleted.
Definition at line 676 of file ps_located.h.
Referenced by deleteElement, and newElement. |
The documentation for this class was generated from the following files:
|
|