|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CPSForce Class ReferenceAll forces in the system derive from this class It has a list with all located on which the force can apply.
More...
#include <ps_force.h>
Inheritance diagram for NL3D::CPSForce:
List of all members.
Public Methods |
| CPSForce () |
| Constructor. More...
|
uint32 | getType (void) const |
| return this bindable type. More...
|
virtual uint32 | getPriority (void) const |
| return priority for forces. More...
|
virtual bool | doesProduceBBox (void) const |
| Override of CPSLocatedBindable::doesProduceBBox. forces usually are not part of the bbox. More...
|
virtual void | step (TPSProcessPass pass, TAnimationTime ellapsedTime, TAnimationTime realEllapsedTime) |
| process one pass for the force. More...
|
virtual void | performDynamic (TAnimationTime ellapsedTime)=0 |
| Compute the force on the targets. More...
|
virtual void | show (TAnimationTime ellapsedTime)=0 |
| Show the force (edition mode). More...
|
virtual void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
| Serial the force definition. MUST be called by deriver during their serialisation. More...
|
virtual bool | isIntegrable (void) const |
| check wether this force is integrable over time. The default is false. More...
|
virtual void | attachTarget (CPSLocated *ptr) |
| inherited from CPSLocatedBindableTarget, we use that to tell wether this force is integrable or not. More...
|
void | releaseTargetRsc (CPSLocated *target) |
| inherited from CPSLocatedBindableTarget. More...
|
virtual void | integrate (float date, CPSLocated *src, uint32 startIndex, uint32 numObjects, NLMISC::CVector *destPos=NULL, NLMISC::CVector *destSpeed=NULL, bool accumulate=false, uint posStride=sizeof(NLMISC::CVector), uint speedStride=sizeof(NLMISC::CVector)) |
| Integrate this force on the given located. More...
|
virtual void | integrateSingle (float startDate, float deltaT, uint numStep, CPSLocated *src, uint32 indexInLocated, NLMISC::CVector *destPos, bool accumulate=false, uint posStride=sizeof(NLMISC::CVector)) |
| Compute a trajectory on several steps for a single object, rather than a step for several object. More...
|
Protected Methods |
void | registerToTargets (void) |
| register integrable and non-integrable forces to the targets. More...
|
void | cancelIntegrable (void) |
| if this force is not integrable anymore, it tells that to its targets. More...
|
void | renewIntegrable (void) |
| if this force has become integrable again, this method tells it to the target. More...
|
virtual void | basisChanged (bool systemBasis) |
| inherited from CPSLocatedBindable. More...
|
virtual void | newElement (CPSLocated *emitterLocated, uint32 emitterIndex)=0 |
| Generate a new element for this bindable. More...
|
virtual void | deleteElement (uint32 index)=0 |
| Delete an element given its index Attributes of the located that hold this bindable are still accessible for of the index given index out of range -> nl_assert. More...
|
virtual void | resize (uint32 size)=0 |
| Resize the bindable attributes containers DERIVERS SHOULD CALL THEIR PARENT VERSION should not be called directly. More...
|
Friends |
class | CPSLocated |
class | CPSForceIntensity |
Detailed Description
All forces in the system derive from this class It has a list with all located on which the force can apply.
Only the motion and toolRender passes are supported for a force. Not sharable accross systems. -
Author:
-
Nicolas Vizerie , Nevrax France
-
Date:
-
2001
Definition at line 51 of file ps_force.h.
Constructor & Destructor Documentation
NL3D::CPSForce::CPSForce |
( |
|
) |
|
|
Member Function Documentation
void NL3D::CPSForce::attachTarget |
( |
CPSLocated * |
ptr |
) |
[virtual] |
|
void NL3D::CPSForce::basisChanged |
( |
bool |
systemBasis |
) |
[protected, virtual] |
|
void NL3D::CPSForce::cancelIntegrable |
( |
void |
|
) |
[protected] |
|
virtual void NL3D::CPSForce::deleteElement |
( |
uint32 |
index |
) |
[protected, pure virtual] |
|
virtual bool NL3D::CPSForce::doesProduceBBox |
( |
void |
|
) |
const [inline, virtual] |
|
virtual uint32 NL3D::CPSForce::getPriority |
( |
void |
|
) |
const [inline, virtual] |
|
uint32 NL3D::CPSForce::getType |
( |
void |
|
) |
const [inline, virtual] |
|
|
Integrate this force on the given located.
If 'accumulate' is set to true, it just add the effect of this force on position otherwise, it must also integrate from the initial speed, and add this force effect. The first call to this must be done with 'accumulate' set to false. NB : works only with integrable forces
Reimplemented in NL3D::CPSGravity.
Definition at line 99 of file ps_force.h.
References CPSLocated, nlassert, and src. |
|
Compute a trajectory on several steps for a single object, rather than a step for several object.
If the start date is lower than the creation date, the initial position is used NB : works only with integrable forces
Reimplemented in NL3D::CPSGravity.
Definition at line 112 of file ps_force.h.
References CPSLocated, nlassert, and src. |
virtual bool NL3D::CPSForce::isIntegrable |
( |
void |
|
) |
const [inline, virtual] |
|
virtual void NL3D::CPSForce::newElement |
( |
CPSLocated * |
emitterLocated, |
|
|
uint32 |
emitterIndex |
|
) |
[protected, pure virtual] |
|
virtual void NL3D::CPSForce::performDynamic |
( |
TAnimationTime |
ellapsedTime |
) |
[pure virtual] |
|
void NL3D::CPSForce::registerToTargets |
( |
void |
|
) |
[protected] |
|
void NL3D::CPSForce::releaseTargetRsc |
( |
CPSLocated * |
target |
) |
[virtual] |
|
void NL3D::CPSForce::renewIntegrable |
( |
void |
|
) |
[protected] |
|
virtual void NL3D::CPSForce::resize |
( |
uint32 |
size |
) |
[protected, pure virtual] |
|
virtual void NL3D::CPSForce::show |
( |
TAnimationTime |
ellapsedTime |
) |
[pure virtual] |
|
Friends And Related Function Documentation
friend class CPSForceIntensity [friend]
|
|
friend class CPSLocated [friend]
|
|
|
Reimplemented from NL3D::CPSLocatedBindable.
Definition at line 127 of file ps_force.h.
Referenced by NL3D::CPSCylindricVortex::getForceIntensityOwner, NL3D::CPSTurbul::getForceIntensityOwner, NL3D::CPSBrownianForce::getForceIntensityOwner, NL3D::CPSFluidFriction::getForceIntensityOwner, NL3D::CPSForceIntensityHelper::getForceIntensityOwner, integrate, integrateSingle, NL3D::CPSTurbul::newElement, NL3D::CPSBrownianForce::newElement, NL3D::CPSFluidFriction::newElement, NL3D::CIsotropicForceT< CPSFluidFrictionFunctor >::newElement, NL3D::CPSForceIntensityHelper::newElement, NL3D::CPSCylindricVortex::show, and NL3D::CPSDirectionnalForce::show. |
The documentation for this class was generated from the following files:
|
|