From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/classNL3D_1_1CPSShockWave.html | 1575 +++++++++++++++++++++++ 1 file changed, 1575 insertions(+) create mode 100644 docs/doxygen/nel/classNL3D_1_1CPSShockWave.html (limited to 'docs/doxygen/nel/classNL3D_1_1CPSShockWave.html') diff --git a/docs/doxygen/nel/classNL3D_1_1CPSShockWave.html b/docs/doxygen/nel/classNL3D_1_1CPSShockWave.html new file mode 100644 index 00000000..60bc933b --- /dev/null +++ b/docs/doxygen/nel/classNL3D_1_1CPSShockWave.html @@ -0,0 +1,1575 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# 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::CPSShockWave Class Reference

#include <ps_shockwave.h> +

+

Inheritance diagram for NL3D::CPSShockWave: +

+ +NL3D::CPSParticle +NL3D::CPSSizedParticle +NL3D::CPSColoredParticle +NL3D::CPSTexturedParticle +NL3D::CPSRotated3DPlaneParticle +NL3D::CPSRotated2DParticle +NL3D::CPSMaterial +NL3D::CPSLocatedBindable +NLMISC::IStreamable +NLMISC::IClassable + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Methods

 CPSShockWave (uint nbSeg=9, float radiusCut=0.8f, CSmartPtr< ITexture > tex=NULL)
 =================================================================================. More...

void setNbSegs (uint nbSeg)
 =================================================================================. More...

uint getNbSegs (void) const
 retrieve the number of segs. More...

void setRadiusCut (float aRatio)
 =================================================================================. More...

float getRadiusCut (void) const
 get the radius ratio. More...

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 =================================================================================. More...

 NLMISC_DECLARE_CLASS (CPSShockWave)
virtual bool completeBBox (NLMISC::CAABBox &box) const
 =================================================================================. More...

virtual bool hasTransparentFaces (void)
 =================================================================================. More...

virtual bool hasOpaqueFaces (void)
 =================================================================================. More...

virtual uint32 getMaxNumFaces (void) const
 =================================================================================. More...

void setUFactor (float value)
 =================================================================================. More...

float getUFactor (void) const
 get the U factor for textures. More...


Protected Methods

void updateVbColNUVForRender (uint32 startIndex, uint32 size, uint32 srcStep, CVertexBuffer &vb)
 =================================================================================. More...

virtual void updateMatAndVbForColor (void)
 =================================================================================. More...

virtual void updateMatAndVbForTexture (void)
 =================================================================================. More...

virtual void newElement (CPSLocated *emitterLocated, uint32 emitterIndex)
 =================================================================================. More...

virtual void deleteElement (uint32 index)
 =================================================================================. More...

virtual void resize (uint32 size)
 =================================================================================. More...

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

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

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

virtual CPSLocatedgetPlaneBasisOwner (void)
 if this is false, constant size will be used instead of a scheme deriver must return their owner there. More...

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


Private Types

typedef std::hash_map< uint,
+ CVertexBuffer
TVBMap
typedef std::hash_map< uint,
+ CPrimitiveBlock
TPBMap

Private Methods

void getVBnPB (CVertexBuffer *&vb, CPrimitiveBlock *&pb)
 =================================================================================. More...

uint getNumShockWavesInVB () const
 =================================================================================. More...

void setupUFactor ()
 =================================================================================. More...

virtual void draw (bool opaque)
 =================================================================================. More...

virtual void init (void)
 =================================================================================. More...


Private Attributes

uint32 _NbSeg
float _RadiusCut
float _UFactor

Static Private Attributes

TPBMap _PBMap
TVBMap _VBMap
TVBMap _AnimTexVBMap
TVBMap _ColoredVBMap
TVBMap _ColoredAnimTexVBMap

Friends

class CPSShockWaveHelper
+

Member Typedef Documentation

+

+ + + + +
+ + +
typedef std::hash_map<uint, CPrimitiveBlock> NL3D::CPSShockWave::TPBMap [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 125 of file ps_shockwave.h.

+

+ + + + +
+ + +
typedef std::hash_map<uint, CVertexBuffer> NL3D::CPSShockWave::TVBMap [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 124 of file ps_shockwave.h. +

+Referenced by getVBnPB.

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
NL3D::CPSShockWave::CPSShockWave uint   nbSeg = 9,
float   radiusCut = 0.8f,
CSmartPtr< ITexture  tex = NULL
+
+ + + + + +
+   + + +

+=================================================================================. +

+

+Parameters:
+ + + + +
nbSeg  +: number of seg for the circonference of the shockwave. must be >= 3 and <= 64.
radiusCut  +: indicate how much to subtract to the outter radius to get the inner radius
tex  +: the texture that must be applied to the shockwave
+
+

+Definition at line 186 of file ps_shockwave.cpp. +

+References NL3D::CPSLocatedBindable::_Name, init, nlassert, and NL3D::CPSTexturedParticle::setTexture.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSShockWave::completeBBox NLMISC::CAABBox  box const [virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Reimplemented from NL3D::CPSLocatedBindable. +

+Definition at line 344 of file ps_shockwave.cpp.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::deleteElement uint32   index [protected, virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Implements NL3D::CPSParticle. +

+Definition at line 440 of file ps_shockwave.cpp. +

+References NL3D::CPSRotated2DParticle::deleteAngle2DElement, NL3D::CPSColoredParticle::deleteColorElement, NL3D::CPSSizedParticle::deleteSizeElement, NL3D::CPSTexturedParticle::deleteTextureIndexElement, and index.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::draw bool   opaque [private, virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Reimplemented from NL3D::CPSParticle. +

+Definition at line 286 of file ps_shockwave.cpp. +

+References NL3D::CPSColoredParticle::_Color, NL3D::CPSColoredParticle::_ColorScheme, NL3D::CPSMaterial::_Mat, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSParticle::computeSrcStep, NL3D::CPSMaterial::forceModulateConstantColor, NLMISC::CRGBA::modulateFromColor, setupUFactor, NL3D::CPSParticle::step, and NL3D::TIteratorVectStep1616.

+

+ + + + +
+ + + + + + + + + + +
virtual CPSLocated* NL3D::CPSShockWave::getAngle2DOwner void   [inline, protected, virtual]
+
+ + + + + +
+   + + +

+deriver must return their owner there. +

+ +

+Implements NL3D::CPSRotated2DParticle. +

+Definition at line 119 of file ps_shockwave.h. +

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

+

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

+deriver must return their owner there. +

+ +

+Implements NL3D::CPSColoredParticle. +

+Definition at line 117 of file ps_shockwave.h. +

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

+

+ + + + +
+ + + + + + + + + + +
uint32 NL3D::CPSShockWave::getMaxNumFaces void   const [virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Implements NL3D::CPSParticle. +

+Definition at line 199 of file ps_shockwave.cpp. +

+References _NbSeg, NL3D::CPSLocatedBindable::_Owner, and nlassert.

+

+ + + + +
+ + + + + + + + + + +
uint NL3D::CPSShockWave::getNbSegs void   const [inline]
+
+ + + + + +
+   + + +

+retrieve the number of segs. +

+ +

+Definition at line 56 of file ps_shockwave.h. +

+References _NbSeg.

+

+ + + + +
+ + + + + + + + + +
uint NL3D::CPSShockWave::getNumShockWavesInVB   const [private]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Definition at line 504 of file ps_shockwave.cpp. +

+References _NbSeg, and NL3D::NumVertsInBuffer. +

+Referenced by getVBnPB.

+

+ + + + +
+ + + + + + + + + + +
virtual CPSLocated* NL3D::CPSShockWave::getPlaneBasisOwner void   [inline, protected, virtual]
+
+ + + + + +
+   + + +

+if this is false, constant size will be used instead of a scheme deriver must return their owner there. +

+ +

+Implements NL3D::CPSRotated3DPlaneParticle. +

+Definition at line 120 of file ps_shockwave.h. +

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

+

+ + + + +
+ + + + + + + + + + +
float NL3D::CPSShockWave::getRadiusCut void   const [inline]
+
+ + + + + +
+   + + +

+get the radius ratio. +

+ +

+Definition at line 64 of file ps_shockwave.h. +

+References _RadiusCut.

+

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

+deriver must return their owner there. +

+ +

+Implements NL3D::CPSSizedParticle. +

+Definition at line 118 of file ps_shockwave.h. +

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

+

+ + + + +
+ + + + + + + + + + +
virtual CPSLocated* NL3D::CPSShockWave::getTextureIndexOwner void   [inline, protected, virtual]
+
+ + + + + +
+   + + +

+deriver must return their owner there. +

+ +

+Implements NL3D::CPSTexturedParticle. +

+Definition at line 121 of file ps_shockwave.h. +

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

+

+ + + + +
+ + + + + + + + + + +
float NL3D::CPSShockWave::getUFactor void   const [inline]
+
+ + + + + +
+   + + +

+get the U factor for textures. +

+ +

+Definition at line 87 of file ps_shockwave.h. +

+References _UFactor.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
void NL3D::CPSShockWave::getVBnPB CVertexBuffer *&   vb,
CPrimitiveBlock *&   pb
[private]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Definition at line 459 of file ps_shockwave.cpp. +

+References _AnimTexVBMap, _ColoredAnimTexVBMap, _ColoredVBMap, NL3D::CPSColoredParticle::_ColorScheme, _NbSeg, _PBMap, NL3D::CPSTexturedParticle::_TexGroup, _VBMap, getNumShockWavesInVB, index, NLAISCRIPT::l, nlassert, and TVBMap.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSShockWave::hasOpaqueFaces void   [virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Implements NL3D::CPSParticle. +

+Definition at line 212 of file ps_shockwave.cpp. +

+References hasTransparentFaces.

+

+ + + + +
+ + + + + + + + + + +
bool NL3D::CPSShockWave::hasTransparentFaces void   [virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Implements NL3D::CPSParticle. +

+Definition at line 206 of file ps_shockwave.cpp. +

+References NL3D::CPSMaterial::getBlendingMode. +

+Referenced by hasOpaqueFaces.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::init void   [private, virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Definition at line 351 of file ps_shockwave.cpp. +

+References NL3D::CPSMaterial::_Mat, updateMatAndVbForColor, and updateMatAndVbForTexture. +

+Referenced by CPSShockWave.

+

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

+=================================================================================. +

+They are generated according to the properties of the class +

+Implements NL3D::CPSParticle. +

+Definition at line 431 of file ps_shockwave.cpp. +

+References NL3D::CPSRotated2DParticle::newAngle2DElement, NL3D::CPSColoredParticle::newColorElement, NL3D::CPSSizedParticle::newSizeElement, and NL3D::CPSTexturedParticle::newTextureIndexElement.

+

+ + + + +
+ + + + + + + + + + +
NL3D::CPSShockWave::NLMISC_DECLARE_CLASS CPSShockWave  
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::resize uint32   size [protected, virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+Size is the max number of element to be contained. DERIVERS MUST CALL THEIR PARENT VERSION should not be called directly. Call CPSLocated::resize instead +

+Implements NL3D::CPSParticle. +

+Definition at line 449 of file ps_shockwave.cpp. +

+References nlassert, NL3D::CPSRotated2DParticle::resizeAngle2D, NL3D::CPSColoredParticle::resizeColor, NL3D::CPSSizedParticle::resizeSize, and NL3D::CPSTexturedParticle::resizeTextureIndex. +

+Referenced by setNbSegs, setRadiusCut, setUFactor, and updateMatAndVbForColor.

+

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

+=================================================================================. +

+ +

+Reimplemented from NL3D::CPSParticle. +

+Definition at line 248 of file ps_shockwave.cpp.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::setNbSegs uint   nbSeg
+
+ + + + + +
+   + + +

+=================================================================================. +

+

+See also:
+CPSShockWave()
+

+Definition at line 218 of file ps_shockwave.cpp. +

+References _NbSeg, NL3D::CPSLocatedBindable::_Owner, nlassert, NL3D::CPSParticle::notifyOwnerMaxNumFacesChanged, and resize.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::setRadiusCut float   aRatio
+
+ + + + + +
+   + + +

+=================================================================================. +

+

+See also:
+CPSShockWave()
+

+Definition at line 230 of file ps_shockwave.cpp. +

+References NL3D::CPSLocatedBindable::_Owner, _RadiusCut, and resize.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::setUFactor float   value
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Definition at line 240 of file ps_shockwave.cpp. +

+References NL3D::CPSLocatedBindable::_Owner, _UFactor, nlassert, resize, and value.

+

+ + + + +
+ + + + + + + + + +
void NL3D::CPSShockWave::setupUFactor   [inline, private]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Definition at line 267 of file ps_shockwave.cpp. +

+References NL3D::CPSMaterial::_Mat, _UFactor, NLMISC::CVector::I, NLMISC::CVector::J, and NLMISC::CVector::K. +

+Referenced by draw.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::updateMatAndVbForColor void   [protected, virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Implements NL3D::CPSColoredParticle. +

+Definition at line 415 of file ps_shockwave.cpp. +

+References NL3D::CPSLocatedBindable::_Owner, and resize. +

+Referenced by init.

+

+ + + + +
+ + + + + + + + + + +
void NL3D::CPSShockWave::updateMatAndVbForTexture void   [protected, virtual]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Implements NL3D::CPSTexturedParticle. +

+Definition at line 425 of file ps_shockwave.cpp. +

+References NL3D::CPSMaterial::_Mat, NL3D::CPSTexturedParticle::_Tex, and NL3D::CPSTexturedParticle::_TexGroup. +

+Referenced by init.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void NL3D::CPSShockWave::updateVbColNUVForRender uint32   startIndex,
uint32   size,
uint32   srcStep,
CVertexBuffer  vb
[protected]
+
+ + + + + +
+   + + +

+=================================================================================. +

+ +

+Definition at line 361 of file ps_shockwave.cpp. +

+References NL3D::CPSColoredParticle::_ColorScheme, _NbSeg, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSTexturedParticle::_TexGroup, NL3D::CPSTexturedParticle::_TextureIndex, NL3D::CPSTexturedParticle::_TextureIndexScheme, _UFactor, nlassert, NL3D::ShockWaveBufSize, and stride.

+


Friends And Related Function Documentation

+

+ + + + +
+ + +
friend class CPSShockWaveHelper [friend] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 139 of file ps_shockwave.h.

+


Member Data Documentation

+

+ + + + +
+ + +
CPSShockWave::TVBMap NL3D::CPSShockWave::_AnimTexVBMap [static, private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 52 of file ps_shockwave.cpp. +

+Referenced by getVBnPB.

+

+ + + + +
+ + +
CPSShockWave::TVBMap NL3D::CPSShockWave::_ColoredAnimTexVBMap [static, private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 54 of file ps_shockwave.cpp. +

+Referenced by getVBnPB.

+

+ + + + +
+ + +
CPSShockWave::TVBMap NL3D::CPSShockWave::_ColoredVBMap [static, private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 53 of file ps_shockwave.cpp. +

+Referenced by getVBnPB.

+

+ + + + +
+ + +
uint32 NL3D::CPSShockWave::_NbSeg [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 133 of file ps_shockwave.h. +

+Referenced by getMaxNumFaces, getNbSegs, getNumShockWavesInVB, getVBnPB, setNbSegs, and updateVbColNUVForRender.

+

+ + + + +
+ + +
CPSShockWave::TPBMap NL3D::CPSShockWave::_PBMap [static, private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 50 of file ps_shockwave.cpp. +

+Referenced by getVBnPB.

+

+ + + + +
+ + +
float NL3D::CPSShockWave::_RadiusCut [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 135 of file ps_shockwave.h. +

+Referenced by getRadiusCut, and setRadiusCut.

+

+ + + + +
+ + +
float NL3D::CPSShockWave::_UFactor [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 137 of file ps_shockwave.h. +

+Referenced by getUFactor, setUFactor, setupUFactor, and updateVbColNUVForRender.

+

+ + + + +
+ + +
CPSShockWave::TVBMap NL3D::CPSShockWave::_VBMap [static, private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 51 of file ps_shockwave.cpp. +

+Referenced by getVBnPB.

+


The documentation for this class was generated from the following files: + + + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1