# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NL3D::CPSCylindricVortex Class Reference

a cylindric vortex. More...

#include <ps_force.h>

Inheritance diagram for NL3D::CPSCylindricVortex:

NL3D::CPSForceIntensityHelper NL3D::IPSMover NL3D::CPSForce NL3D::CPSForceIntensity NL3D::CPSTargetLocatedBindable NL3D::CPSLocatedBindable NLMISC::IStreamable NLMISC::IClassable List of all members.

Public Methods

virtual void performDynamic (TAnimationTime ellapsedTime)
 Compute the force on the targets. More...

virtual void show (TAnimationTime ellapsedTime)
 Show the force (edition mode). More...

 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. More...

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). More...

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. More...

virtual NLMISC::CVector getNormal (uint32 index)
 if the object only needs a normal, this return the normal. If not, is return (0, 0, 0). More...

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. More...

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. More...


Protected Methods

virtual CPSLocatedgetForceIntensityOwner (void)
 inherited from CPSForceIntensity. More...

virtual void newElement (CPSLocated *emitterLocated, uint32 emitterIndex)
 Generate a new element for this bindable. More...

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. More...

virtual void resize (uint32 size)
 Resize the bindable attributes containers DERIVERS SHOULD CALL THEIR PARENT VERSION should not be called directly. More...


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 729 of file ps_force.h.


Constructor & Destructor Documentation

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

Definition at line 739 of file ps_force.h.

References NL3D::CPSLocatedBindable::_Name, _RadialViscosity, _TangentialViscosity, and NL3D::CPSForceIntensity::setIntensity.


Member Function Documentation

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 965 of file ps_force.cpp.

References _Normal, _Radius, and index.

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

inherited from CPSForceIntensity.

Reimplemented from NL3D::CPSForceIntensityHelper.

Definition at line 778 of file ps_force.h.

References NL3D::CPSLocatedBindable::_Owner, and NL3D::CPSForce::CPSLocated.

CMatrix NL3D::CPSCylindricVortex::getMatrix uint32    index const [virtual]
 

Implements NL3D::IPSMover.

Definition at line 940 of file ps_force.cpp.

References _Normal, NL3D::CPSLocatedBindable::_Owner, and index.

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 751 of file ps_force.h.

References _Normal, and index.

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

Definition at line 759 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 749 of file ps_force.h.

References _Radius.

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

Definition at line 762 of file ps_force.h.

References _TangentialViscosity.

void NL3D::CPSCylindricVortex::newElement CPSLocated   emitterLocated,
uint32    emitterIndex
[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 959 of file ps_force.cpp.

References _Normal, and _Radius.

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 750 of file ps_force.h.

void NL3D::CPSCylindricVortex::performDynamic TAnimationTime    ellapsedTime [virtual]
 

Compute the force on the targets.

Implements NL3D::CPSForce.

Definition at line 831 of file ps_force.cpp.

References NL3D::CPSForceIntensity::_IntensityScheme, NL3D::CPSForceIntensity::_K, _Normal, NL3D::CPSLocatedBindable::_Owner, _RadialViscosity, _Radius, _TangentialViscosity, NL3D::CPSTargetLocatedBindable::_Targets, nlassert, and NL3D::TAnimationTime.

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 971 of file ps_force.cpp.

References _Normal, _Radius, and nlassert.

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 949 of file ps_force.cpp.

void NL3D::CPSCylindricVortex::setMatrix uint32    index,
const NLMISC::CMatrix   m
[virtual]
 

Implements NL3D::IPSMover.

Definition at line 933 of file ps_force.cpp.

References _Normal, NL3D::CPSLocatedBindable::_Owner, index, and nlassert.

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 752 of file ps_force.h.

References _Normal, and index.

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

Definition at line 758 of file ps_force.h.

References _RadialViscosity, and v.

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

Reimplemented from NL3D::IPSMover.

Definition at line 748 of file ps_force.h.

References _Radius.

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

Definition at line 761 of file ps_force.h.

References _TangentialViscosity, and v.

void NL3D::CPSCylindricVortex::show TAnimationTime    ellapsedTime [virtual]
 

Show the force (edition mode).

Implements NL3D::CPSForce.

Definition at line 907 of file ps_force.cpp.

References _Normal, NL3D::CPSLocatedBindable::_Owner, _Radius, NL3D::CPSForce::CPSLocated, NL3D::CPSLocatedBindable::CPSLocatedBindable, NL3D::CPSLocatedBindable::getDriver, NL3D::CPSLocatedBindable::getFontGenerator, NL3D::CPSLocatedBindable::getFontManager, index, nlassert, NL3D::CPSLocatedBindable::setupDriverModelMatrix, and NL3D::TAnimationTime.

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 747 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 746 of file ps_force.h.


Member Data Documentation

CPSAttrib<NLMISC::CVector> NL3D::CPSCylindricVortex::_Normal [protected]
 

Definition at line 781 of file ps_force.h.

Referenced by deleteElement, getMatrix, getNormal, newElement, performDynamic, resize, setMatrix, setNormal, and show.

float NL3D::CPSCylindricVortex::_RadialViscosity [protected]
 

Definition at line 786 of file ps_force.h.

Referenced by CPSCylindricVortex, getRadialViscosity, performDynamic, and setRadialViscosity.

TPSAttribFloat NL3D::CPSCylindricVortex::_Radius [protected]
 

Definition at line 783 of file ps_force.h.

Referenced by deleteElement, getScale, newElement, performDynamic, resize, setScale, and show.

float NL3D::CPSCylindricVortex::_TangentialViscosity [protected]
 

Definition at line 789 of file ps_force.h.

Referenced by CPSCylindricVortex, getTangentialViscosity, performDynamic, and setTangentialViscosity.


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