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

A plane over which particles bounce It has an interface to move each plane individually. More...

#include <ps_zone.h>

Inheritance diagram for NL3D::CPSZonePlane:

NL3D::CPSZone NL3D::IPSMover NL3D::CPSTargetLocatedBindable NL3D::CPSLocatedBindable NLMISC::IStreamable NLMISC::IClassable List of all members.

Public Methods

virtual void performMotion (TAnimationTime ellapsedTime)
 This is usually called by the step method for the pass dedicated to zone. More...

virtual void show (TAnimationTime ellapsedTime)
 this compute a new speed vector, so that the located will reach the correct position at the next speed integration this create the illusion of collision. More...

 NLMISC_DECLARE_CLASS (CPSZonePlane)
virtual void setMatrix (uint32 index, const NLMISC::CMatrix &m)
virtual NLMISC::CMatrix getMatrix (uint32 index) 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 serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 serialization, DERIVER must override this, and call the parent version. More...


Protected Methods

NLMISC::CMatrix buildBasis (uint32 index) const
virtual void resize (uint32 size)
 Resize the bindable attributes containers should not be called directly. 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 (pos etc...) are still accessible for the given index. More...


Protected Attributes

TPSAttribVector _Normal

Detailed Description

A plane over which particles bounce It has an interface to move each plane individually.

Definition at line 148 of file ps_zone.h.


Member Function Documentation

CMatrix NL3D::CPSZonePlane::buildBasis uint32    index const [protected]
 

Definition at line 108 of file ps_zone.cpp.

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

Referenced by getMatrix, and show.

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

Delete an element given its index Attributes of the located that hold this bindable (pos etc...) are still accessible for the given index.

index out of range -> nl_assert

Implements NL3D::CPSLocatedBindable.

Definition at line 204 of file ps_zone.cpp.

References _Normal, and index.

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

Implements NL3D::IPSMover.

Definition at line 290 of file ps_zone.cpp.

References buildBasis, and index.

CVector NL3D::CPSZonePlane::getNormal uint32    index [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 296 of file ps_zone.cpp.

References _Normal, and index.

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

Generate a new element for this bindable.

They are generated according to the propertie of the class

Implements NL3D::CPSLocatedBindable.

Definition at line 197 of file ps_zone.cpp.

References _Normal, and nlassert.

NL3D::CPSZonePlane::NLMISC_DECLARE_CLASS CPSZonePlane   
 

virtual bool NL3D::CPSZonePlane::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 161 of file ps_zone.h.

void NL3D::CPSZonePlane::performMotion TAnimationTime    ellapsedTime [virtual]
 

This is usually called by the step method for the pass dedicated to zone.

Implements NL3D::CPSZone.

Definition at line 211 of file ps_zone.cpp.

References NL3D::CPSZone::_BounceFactor, _Normal, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSTargetLocatedBindable::_Targets, alpha, NLMISC::CPlane::getNormal, NLMISC::CPlane::make, min, NL3D::PSCollideEpsilon, NL3D::TAnimationTime, and NL3D::TPSAttribVector.

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

Resize the bindable attributes containers should not be called directly.

Call CPSLocated::resize instead

Implements NL3D::CPSLocatedBindable.

Definition at line 190 of file ps_zone.cpp.

References _Normal, and nlassert.

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

serialization, DERIVER must override this, and call the parent version.

Reimplemented from NL3D::CPSZone.

Definition at line 308 of file ps_zone.cpp.

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

Implements NL3D::IPSMover.

Definition at line 283 of file ps_zone.cpp.

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

void NL3D::CPSZonePlane::setNormal uint32    index,
NLMISC::CVector    n
[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 300 of file ps_zone.cpp.

References _Normal, and index.

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

this compute a new speed vector, so that the located will reach the correct position at the next speed integration this create the illusion of collision.

Implements NL3D::CPSZone.

Definition at line 136 of file ps_zone.cpp.

References NL3D::CPSLocatedBindable::_Owner, buildBasis, NL3D::CPSLocatedBindable::CPSLocated, NL3D::CPSLocatedBindable::CPSLocatedBindable, NL3D::CPSLocatedBindable::getDriver, NL3D::CPSLocatedBindable::getFontGenerator, NL3D::CPSLocatedBindable::getFontManager, NL3D::CPSLocatedBindable::getLocatedMat, index, NL3D::CPSLocatedBindable::setupDriverModelMatrix, and NL3D::TAnimationTime.


Member Data Documentation

TPSAttribVector NL3D::CPSZonePlane::_Normal [protected]
 

Definition at line 168 of file ps_zone.h.

Referenced by buildBasis, deleteElement, getNormal, newElement, performMotion, resize, setMatrix, and setNormal.


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