NL3D::CPSCylindricVortex Class Reference

a cylindric vortex. More...

#include <ps_force.h>

Inherits NL3D::CPSForceIntensityHelper, and NL3D::IPSMover.

List of all members.

Public Member Functions

virtual void computeForces (CPSLocated &target)
 Compute the force on the targets.
virtual void show ()
 Show the force (edition mode).
 CPSCylindricVortex (float intensity=1.f)
virtual bool supportUniformScaling (void) const
 Send back true if uniform scaling can be applied If it sends false, uniform scaling leads to undefine results.
virtual bool supportNonUniformScaling (void) const
 Send back true if non-uniform scaling can be applied If it sends false, non-uniform scaling leads to undefine results (default has no effect).
virtual void setScale (uint32 k, float scale)
virtual NLMISC::CVector getScale (uint32 k) const
virtual bool onlyStoreNormal (void) const
 some object may not store a whole matrix (e.g planes) this return true if only a normal is needed to set the orientation of the object
virtual NLMISC::CVector getNormal (uint32 index)
 if the object only needs a normal, this return the normal. If not, is return (0, 0, 0)
virtual void setNormal (uint32 index, NLMISC::CVector n)
 if the object only stores a normal, this set the normal of the object. Otherwise it has no effect
virtual void setMatrix (uint32 index, const NLMISC::CMatrix &m)
virtual NLMISC::CMatrix getMatrix (uint32 index) const
void setRadialViscosity (float v)
float getRadialViscosity (void) const
void setTangentialViscosity (float v)
float getTangentialViscosity (void) const
 NLMISC_DECLARE_CLASS (CPSCylindricVortex)
virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 Serial the force definition. MUST be called by deriver during their serialisation.

Protected Member Functions

virtual CPSLocatedgetForceIntensityOwner (void)
 inherited from CPSForceIntensity
virtual void newElement (const CPSEmitterInfo &info)
 Generate a new element for this bindable.
virtual void deleteElement (uint32 index)
 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.
virtual void resize (uint32 size)
 Resize the bindable attributes containers DERIVERS SHOULD CALL THEIR PARENT VERSION should not be called directly.

Protected Attributes

CPSAttrib< NLMISC::CVector_Normal
TPSAttribFloat _Radius
float _RadialViscosity
float _TangentialViscosity

Detailed Description

a cylindric vortex.

It has a limited extend It has unlimited extension in the z direction The model is aimed at tunability rather than realism

Definition at line 728 of file ps_force.h.


Constructor & Destructor Documentation

NL3D::CPSCylindricVortex::CPSCylindricVortex ( float  intensity = 1.f  )  [inline]

Member Function Documentation

void NL3D::CPSCylindricVortex::computeForces ( CPSLocated target  )  [virtual]
void NL3D::CPSCylindricVortex::deleteElement ( uint32  index  )  [protected, virtual]

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.

Reimplemented from NL3D::CPSForceIntensityHelper.

Definition at line 945 of file ps_force.cpp.

References _Normal, _Radius, NL_PS_FUNC, and NL3D::CPSAttrib< T >::remove().

virtual CPSLocated* NL3D::CPSCylindricVortex::getForceIntensityOwner ( void   )  [inline, protected, virtual]

inherited from CPSForceIntensity

Reimplemented from NL3D::CPSForceIntensityHelper.

Definition at line 777 of file ps_force.h.

References NL3D::CPSLocatedBindable::_Owner.

CMatrix NL3D::CPSCylindricVortex::getMatrix ( uint32  index  )  const [virtual]
virtual NLMISC::CVector NL3D::CPSCylindricVortex::getNormal ( uint32  index  )  [inline, virtual]

if the object only needs a normal, this return the normal. If not, is return (0, 0, 0)

Reimplemented from NL3D::IPSMover.

Definition at line 750 of file ps_force.h.

References _Normal.

float NL3D::CPSCylindricVortex::getRadialViscosity ( void   )  const [inline]

Definition at line 758 of file ps_force.h.

References _RadialViscosity.

virtual NLMISC::CVector NL3D::CPSCylindricVortex::getScale ( uint32  k  )  const [inline, virtual]

Reimplemented from NL3D::IPSMover.

Definition at line 748 of file ps_force.h.

References _Radius.

float NL3D::CPSCylindricVortex::getTangentialViscosity ( void   )  const [inline]

Definition at line 761 of file ps_force.h.

References _TangentialViscosity.

void NL3D::CPSCylindricVortex::newElement ( const CPSEmitterInfo info  )  [protected, virtual]

Generate a new element for this bindable.

They are generated according to the propertie of the class

Reimplemented from NL3D::CPSForceIntensityHelper.

Definition at line 938 of file ps_force.cpp.

References _Normal, _Radius, NL3D::CPSAttrib< T >::insert(), NLMISC::CVector::K, and NL_PS_FUNC.

NL3D::CPSCylindricVortex::NLMISC_DECLARE_CLASS ( CPSCylindricVortex   ) 
virtual bool NL3D::CPSCylindricVortex::onlyStoreNormal ( void   )  const [inline, virtual]

some object may not store a whole matrix (e.g planes) this return true if only a normal is needed to set the orientation of the object

Reimplemented from NL3D::IPSMover.

Definition at line 749 of file ps_force.h.

void NL3D::CPSCylindricVortex::resize ( uint32  size  )  [protected, virtual]

Resize the bindable attributes containers DERIVERS SHOULD CALL THEIR PARENT VERSION should not be called directly.

Call CPSLOcated::resize instead

Reimplemented from NL3D::CPSForceIntensityHelper.

Definition at line 952 of file ps_force.cpp.

References _Normal, _Radius, NL_PS_FUNC, nlassert, and NL3D::CPSAttrib< T >::resize().

void NL3D::CPSCylindricVortex::serial ( NLMISC::IStream f  )  throw (NLMISC::EStream) [virtual]

Serial the force definition. MUST be called by deriver during their serialisation.

Reimplemented from NL3D::CPSForceIntensityHelper.

Definition at line 927 of file ps_force.cpp.

References NL_PS_FUNC, and NL3D::CPSForceIntensityHelper::serial().

void NL3D::CPSCylindricVortex::setMatrix ( uint32  index,
const NLMISC::CMatrix m 
) [virtual]
virtual void NL3D::CPSCylindricVortex::setNormal ( uint32  index,
NLMISC::CVector  n 
) [inline, virtual]

if the object only stores a normal, this set the normal of the object. Otherwise it has no effect

Reimplemented from NL3D::IPSMover.

Definition at line 751 of file ps_force.h.

References _Normal.

void NL3D::CPSCylindricVortex::setRadialViscosity ( float  v  )  [inline]

Definition at line 757 of file ps_force.h.

References _RadialViscosity.

virtual void NL3D::CPSCylindricVortex::setScale ( uint32  k,
float  scale 
) [inline, virtual]

Reimplemented from NL3D::IPSMover.

Definition at line 747 of file ps_force.h.

References _Radius.

void NL3D::CPSCylindricVortex::setTangentialViscosity ( float  v  )  [inline]

Definition at line 760 of file ps_force.h.

References _TangentialViscosity.

void NL3D::CPSCylindricVortex::show (  )  [virtual]
virtual bool NL3D::CPSCylindricVortex::supportNonUniformScaling ( void   )  const [inline, virtual]

Send back true if non-uniform scaling can be applied If it sends false, non-uniform scaling leads to undefine results (default has no effect).

Reimplemented from NL3D::IPSMover.

Definition at line 746 of file ps_force.h.

virtual bool NL3D::CPSCylindricVortex::supportUniformScaling ( void   )  const [inline, virtual]

Send back true if uniform scaling can be applied If it sends false, uniform scaling leads to undefine results.

Reimplemented from NL3D::IPSMover.

Definition at line 745 of file ps_force.h.


Member Data Documentation

Definition at line 785 of file ps_force.h.

Referenced by computeForces(), getRadialViscosity(), and setRadialViscosity().

Definition at line 782 of file ps_force.h.

Referenced by computeForces(), deleteElement(), getScale(), newElement(), resize(), setScale(), and show().

Definition at line 788 of file ps_force.h.

Referenced by computeForces(), getTangentialViscosity(), and setTangentialViscosity().


The documentation for this class was generated from the following files:

Generated on Thu Jan 7 08:30:08 2010 for NeL by  doxygen 1.6.1