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

A sphere. More...

#include <ps_zone.h>

Inheritance diagram for NL3D::CPSZoneSphere:

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)
 Show the zone (edition mode). More...

 NLMISC_DECLARE_CLASS (CPSZoneSphere)
 CPSZoneSphere ()
virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 serialization, DERIVER must override this, and call the parent version. More...

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 void setMatrix (uint32 index, const NLMISC::CMatrix &m)
virtual NLMISC::CMatrix getMatrix (uint32 index) const
virtual void setScale (uint32 k, float scale)
virtual NLMISC::CVector getScale (uint32 k) const

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

TPSAttribRadiusPair _Radius

Detailed Description

A sphere.

Definition at line 199 of file ps_zone.h.


Constructor & Destructor Documentation

NL3D::CPSZoneSphere::CPSZoneSphere   [inline]
 

Definition at line 208 of file ps_zone.h.

References NL3D::CPSLocatedBindable::_Name.


Member Function Documentation

NLMISC::CMatrix NL3D::CPSZoneSphere::buildBasis uint32    index const [protected]
 

void NL3D::CPSZoneSphere::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 517 of file ps_zone.cpp.

References _Radius, and index.

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

Implements NL3D::IPSMover.

Definition at line 471 of file ps_zone.cpp.

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

CVector NL3D::CPSZoneSphere::getScale uint32    k const [virtual]
 

Reimplemented from NL3D::IPSMover.

Definition at line 485 of file ps_zone.cpp.

References _Radius.

void NL3D::CPSZoneSphere::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 509 of file ps_zone.cpp.

References _Radius, and nlassert.

NL3D::CPSZoneSphere::NLMISC_DECLARE_CLASS CPSZoneSphere   
 

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

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

Implements NL3D::CPSZone.

Definition at line 324 of file ps_zone.cpp.

References NL3D::CPSZone::_BounceFactor, NL3D::CPSLocatedBindable::_Owner, _Radius, NL3D::CPSTargetLocatedBindable::_Targets, alpha, min, NL3D::PSCollideEpsilon, r, NL3D::TAnimationTime, and NL3D::TPSAttribVector.

void NL3D::CPSZoneSphere::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 503 of file ps_zone.cpp.

References _Radius, and nlassert.

void NL3D::CPSZoneSphere::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 491 of file ps_zone.cpp.

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

Implements NL3D::IPSMover.

Definition at line 461 of file ps_zone.cpp.

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

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

Reimplemented from NL3D::IPSMover.

Definition at line 480 of file ps_zone.cpp.

References _Radius.

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

Show the zone (edition mode).

Implements NL3D::CPSZone.

Definition at line 442 of file ps_zone.cpp.

References NL3D::CPSLocatedBindable::_Owner, _Radius, NL3D::CPSLocatedBindable::CPSLocated, NL3D::CPSLocatedBindable::CPSLocatedBindable, NL3D::CPSLocatedBindable::getDriver, index, NL3D::CPSLocatedBindable::setupDriverModelMatrix, and NL3D::TAnimationTime.

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


Member Data Documentation

TPSAttribRadiusPair NL3D::CPSZoneSphere::_Radius [protected]
 

Definition at line 230 of file ps_zone.h.

Referenced by deleteElement, getMatrix, getScale, newElement, performMotion, resize, setMatrix, setScale, and show.


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