# 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::CPSTailDot Class Reference

These particle are like dot, but a tail is following them. More...

#include <ps_tail_dot.h>

Inheritance diagram for NL3D::CPSTailDot:

NL3D::CPSRibbonBase NL3D::CPSColoredParticle NL3D::CPSMaterial NL3D::CPSParticle NL3D::CPSTailParticle NL3D::CPSLocatedBindable NLMISC::IStreamable NLMISC::IClassable List of all members.

Vertex buffers & their corresponding index buffers. We keep a map of pretextured vertex buffer (with or without colors).

Vb for ribbons that have the same size are shared.

typedef std::hash_map< uint,
CVBnPB
TVBMap
CVBnPBgetVBnPB ()
 get a vertex buffer and a primitive suited for the current ribbon. More...

uint getNumRibbonsInVB () const
 get the number of ribbons contained in a vb for a given length. (e.g the number of ribbons that can be batched). More...

TVBMap _VBMap
TVBMap _FadedVBMap
TVBMap _ColoredVBMap
TVBMap _FadedColoredVBMap

Public Methods

virtual void step (TPSProcessPass pass, TAnimationTime ellapsedTime, TAnimationTime realEt)
 inherited from CPSParticle. More...

virtual bool hasTransparentFaces (void)
 return true if there are transparent faces in the object. More...

virtual bool hasOpaqueFaces (void)
 return true if there are Opaque faces in the object. More...

virtual uint32 getMaxNumFaces (void) const
 return the max number of faces needed for display. This is needed for LOD balancing. More...

Object
 CPSTailDot ()
 ctor. More...

 ~CPSTailDot ()
 dtor. More...

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 serialisation. Derivers must override this, and call their parent version. More...

 NLMISC_DECLARE_CLASS (CPSTailDot)
Behaviour
virtual void setColorFading (bool onOff=true)
 (de)activate color fading when its done, colors fades to black along the tail. More...

virtual bool getColorFading (void) const
 Test wether color fading is activated. More...

virtual void setSystemBasis (bool yes)
 tells in which basis is the tail It requires one transform per particle if it is not the same as the located that hold that particle The default is false. More...

virtual bool isInSystemBasis (void) const
 return true if the tails are in the system basis. More...


Protected Methods

virtual void newElement (CPSLocated *emitterLocated, uint32 emitterIndex)
 We support Auto-LOD for ribbons, although there is a built-in LOD (that change the geometry rather than the number of ribbons) that gives better result (both can be used simultaneously). More...

virtual void deleteElement (uint32 index)
 inherited from CPSLocatedBindable. More...

virtual void resize (uint32 size)
 inherited from CPSLocatedBindable. More...

virtual CPSLocatedgetSizeOwner (void)
virtual CPSLocatedgetColorOwner (void)
 deriver must return their owner there. More...


Private Methods

virtual void updateMatAndVbForColor (void)
 update the material and the vb so that they match the color scheme. Inherited from CPSColoredParticle. More...

void displayRibbons (uint32 nbRibbons, uint32 srcStep)
 display a set of ribbons. More...

void touch ()
void updateMaterial ()
void setupGlobalColor ()

Private Attributes

bool _ColorFading: 1
bool _GlobalColor: 1
bool _Touch: 1

Detailed Description

These particle are like dot, but a tail is following them.

The number of segments in the tails can be tuned.

Definition at line 41 of file ps_tail_dot.h.


Member Typedef Documentation

typedef std::hash_map<uint, CVBnPB> NL3D::CPSTailDot::TVBMap [private]
 

Definition at line 144 of file ps_tail_dot.h.

Referenced by getVBnPB.


Constructor & Destructor Documentation

NL3D::CPSTailDot::CPSTailDot  
 

ctor.

Definition at line 66 of file ps_tail_dot.cpp.

References NL3D::CPSLocatedBindable::_Name, NL3D::CPSRibbonBase::Linear, NL3D::CPSRibbonBase::setInterpolationMode, and NL3D::CPSRibbonBase::setSegDuration.

NL3D::CPSTailDot::~CPSTailDot  
 

dtor.

Definition at line 74 of file ps_tail_dot.cpp.


Member Function Documentation

void NL3D::CPSTailDot::deleteElement uint32    index [protected, virtual]
 

inherited from CPSLocatedBindable.

Reimplemented from NL3D::CPSRibbonBase.

Definition at line 209 of file ps_tail_dot.cpp.

References NL3D::CPSColoredParticle::deleteColorElement, and index.

void NL3D::CPSTailDot::displayRibbons uint32    nbRibbons,
uint32    srcStep
[private]
 

display a set of ribbons.

Definition at line 231 of file ps_tail_dot.cpp.

References NL3D::CPSColoredParticle::_ColorScheme, _GlobalColor, NL3D::CPSMaterial::_Mat, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSRibbonBase::_UsedNbSegs, NL3D::CPSRibbonBase::_UsedSegDuration, NL3D::CPSRibbonBase::computeRibbon, NL3D::CPSLocatedBindable::getDriver, getNumRibbonsInVB, getVBnPB, min, nlassert, NL3D::CPSLocatedBindable::setupDriverModelMatrix, setupGlobalColor, touch, and updateMaterial.

Referenced by step.

virtual bool NL3D::CPSTailDot::getColorFading void    const [inline, virtual]
 

Test wether color fading is activated.

Implements NL3D::CPSTailParticle.

Definition at line 70 of file ps_tail_dot.h.

References _ColorFading.

virtual CPSLocated* NL3D::CPSTailDot::getColorOwner void    [inline, protected, virtual]
 

deriver must return their owner there.

Implements NL3D::CPSColoredParticle.

Definition at line 119 of file ps_tail_dot.h.

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

uint32 NL3D::CPSTailDot::getMaxNumFaces void    const [virtual]
 

return the max number of faces needed for display. This is needed for LOD balancing.

Implements NL3D::CPSParticle.

Definition at line 343 of file ps_tail_dot.cpp.

References NL3D::CPSRibbonBase::_NbSegs, NL3D::CPSLocatedBindable::_Owner, and nlassert.

uint NL3D::CPSTailDot::getNumRibbonsInVB   const [private]
 

get the number of ribbons contained in a vb for a given length. (e.g the number of ribbons that can be batched).

Definition at line 412 of file ps_tail_dot.cpp.

References NL3D::CPSRibbonBase::_UsedNbSegs.

Referenced by displayRibbons, and getVBnPB.

virtual CPSLocated* NL3D::CPSTailDot::getSizeOwner void    [inline, protected, virtual]
 

Definition at line 118 of file ps_tail_dot.h.

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

CPSTailDot::CVBnPB & NL3D::CPSTailDot::getVBnPB   [private]
 

get a vertex buffer and a primitive suited for the current ribbon.

Definition at line 352 of file ps_tail_dot.cpp.

References _ColoredVBMap, _ColorFading, NL3D::CPSColoredParticle::_ColorScheme, _FadedColoredVBMap, _FadedVBMap, NL3D::CPSRibbonBase::_UsedNbSegs, _VBMap, getNumRibbonsInVB, and TVBMap.

Referenced by displayRibbons.

bool NL3D::CPSTailDot::hasOpaqueFaces void    [virtual]
 

return true if there are Opaque faces in the object.

Implements NL3D::CPSParticle.

Definition at line 337 of file ps_tail_dot.cpp.

References hasTransparentFaces.

Referenced by step.

bool NL3D::CPSTailDot::hasTransparentFaces void    [virtual]
 

return true if there are transparent faces in the object.

Implements NL3D::CPSParticle.

Definition at line 330 of file ps_tail_dot.cpp.

References NL3D::CPSMaterial::getBlendingMode.

Referenced by hasOpaqueFaces, and step.

virtual bool NL3D::CPSTailDot::isInSystemBasis void    const [inline, virtual]
 

return true if the tails are in the system basis.

Implements NL3D::CPSTailParticle.

Definition at line 82 of file ps_tail_dot.h.

void NL3D::CPSTailDot::newElement CPSLocated   emitterLocated,
uint32    emitterIndex
[protected, virtual]
 

We support Auto-LOD for ribbons, although there is a built-in LOD (that change the geometry rather than the number of ribbons) that gives better result (both can be used simultaneously).

Reimplemented from NL3D::CPSRibbonBase.

Definition at line 201 of file ps_tail_dot.cpp.

References NL3D::CPSColoredParticle::newColorElement.

NL3D::CPSTailDot::NLMISC_DECLARE_CLASS CPSTailDot   
 

void NL3D::CPSTailDot::resize uint32    size [protected, virtual]
 

inherited from CPSLocatedBindable.

Reimplemented from NL3D::CPSRibbonBase.

Definition at line 217 of file ps_tail_dot.cpp.

References nlassert, and NL3D::CPSColoredParticle::resizeColor.

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

serialisation. Derivers must override this, and call their parent version.

Reimplemented from NL3D::CPSRibbonBase.

Definition at line 80 of file ps_tail_dot.cpp.

References id, and nlassert.

virtual void NL3D::CPSTailDot::setColorFading bool    onOff = true [inline, virtual]
 

(de)activate color fading when its done, colors fades to black along the tail.

Implements NL3D::CPSTailParticle.

Definition at line 62 of file ps_tail_dot.h.

References _ColorFading, and touch.

virtual void NL3D::CPSTailDot::setSystemBasis bool    yes [inline, virtual]
 

tells in which basis is the tail It requires one transform per particle if it is not the same as the located that hold that particle The default is false.

With that you can control if a rotation of the system will rotate the tail

Implements NL3D::CPSTailParticle.

Definition at line 79 of file ps_tail_dot.h.

void NL3D::CPSTailDot::setupGlobalColor   [private]
 

Definition at line 486 of file ps_tail_dot.cpp.

References NL3D::CPSColoredParticle::_Color, NL3D::CPSMaterial::_Mat, NL3D::CPSLocatedBindable::_Owner, and NLMISC::CRGBA::modulateFromColor.

Referenced by displayRibbons.

void NL3D::CPSTailDot::step TPSProcessPass    pass,
TAnimationTime    ellapsedTime,
TAnimationTime    realEt
[virtual]
 

inherited from CPSParticle.

See also:
_PersistAfterDeath()

Reimplemented from NL3D::CPSParticle.

Definition at line 161 of file ps_tail_dot.cpp.

References NL3D::CPSMaterial::_Mat, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSRibbonBase::_Parametric, NL3D::CPSParticle::computeSrcStep, displayRibbons, hasOpaqueFaces, hasTransparentFaces, NL3D::PSBlendRender, NL3D::PSMotion, NL3D::PSSolidRender, NL3D::PSToolRender, step, NL3D::TAnimationTime, NL3D::TPSProcessPass, and NL3D::CPSRibbonBase::updateGlobals.

Referenced by step.

void NL3D::CPSTailDot::touch   [inline, private]
 

Definition at line 163 of file ps_tail_dot.h.

References _Touch.

Referenced by displayRibbons, setColorFading, and updateMatAndVbForColor.

void NL3D::CPSTailDot::updateMatAndVbForColor void    [private, virtual]
 

update the material and the vb so that they match the color scheme. Inherited from CPSColoredParticle.

Implements NL3D::CPSColoredParticle.

Definition at line 225 of file ps_tail_dot.cpp.

References touch.

void NL3D::CPSTailDot::updateMaterial   [private]
 

Definition at line 421 of file ps_tail_dot.cpp.

References NL3D::CPSMaterial::_Mat, NL3D::CPSLocatedBindable::_Owner, _Touch, NL3D::CreateGradientTexture, and NL3D::SetupModulatedStage.

Referenced by displayRibbons.


Member Data Documentation

CPSTailDot::TVBMap NL3D::CPSTailDot::_ColoredVBMap [static, private]
 

Definition at line 62 of file ps_tail_dot.cpp.

Referenced by getVBnPB.

bool NL3D::CPSTailDot::_ColorFading [private]
 

Definition at line 159 of file ps_tail_dot.h.

Referenced by getColorFading, getVBnPB, and setColorFading.

CPSTailDot::TVBMap NL3D::CPSTailDot::_FadedColoredVBMap [static, private]
 

Definition at line 63 of file ps_tail_dot.cpp.

Referenced by getVBnPB.

CPSTailDot::TVBMap NL3D::CPSTailDot::_FadedVBMap [static, private]
 

Definition at line 61 of file ps_tail_dot.cpp.

Referenced by getVBnPB.

bool NL3D::CPSTailDot::_GlobalColor [private]
 

Definition at line 160 of file ps_tail_dot.h.

Referenced by displayRibbons.

bool NL3D::CPSTailDot::_Touch [private]
 

Definition at line 161 of file ps_tail_dot.h.

Referenced by touch, and updateMaterial.

CPSTailDot::TVBMap NL3D::CPSTailDot::_VBMap [static, private]
 

Definition at line 60 of file ps_tail_dot.cpp.

Referenced by getVBnPB.


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