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

a disc. More...

#include <ps_zone.h>

Inheritance diagram for NL3D::CPSZoneDisc:

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

 CPSZoneDisc ()
 NLMISC_DECLARE_CLASS (CPSZoneDisc)
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
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
TPSAttribRadiusPair _Radius

Detailed Description

a disc.

Definition at line 243 of file ps_zone.h.


Constructor & Destructor Documentation

NL3D::CPSZoneDisc::CPSZoneDisc   [inline]
 

Definition at line 249 of file ps_zone.h.

References NL3D::CPSLocatedBindable::_Name.


Member Function Documentation

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

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

References _Normal, _Radius, and index.

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

Implements NL3D::IPSMover.

Definition at line 661 of file ps_zone.cpp.

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

CVector NL3D::CPSZoneDisc::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 670 of file ps_zone.cpp.

References _Normal, and index.

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

Reimplemented from NL3D::IPSMover.

Definition at line 685 of file ps_zone.cpp.

References _Radius.

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

References _Normal, _Radius, and nlassert.

NL3D::CPSZoneDisc::NLMISC_DECLARE_CLASS CPSZoneDisc   
 

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

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

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

Implements NL3D::CPSZone.

Definition at line 527 of file ps_zone.cpp.

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

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

References _Normal, _Radius, and nlassert.

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

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

Implements NL3D::IPSMover.

Definition at line 652 of file ps_zone.cpp.

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

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

References _Normal, and index.

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

Reimplemented from NL3D::IPSMover.

Definition at line 679 of file ps_zone.cpp.

References _Radius.

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

Show the zone (edition mode).

Implements NL3D::CPSZone.

Definition at line 618 of file ps_zone.cpp.

References _Normal, NL3D::CPSLocatedBindable::_Owner, _Radius, 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.

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


Member Data Documentation

TPSAttribVector NL3D::CPSZoneDisc::_Normal [protected]
 

Definition at line 272 of file ps_zone.h.

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

TPSAttribRadiusPair NL3D::CPSZoneDisc::_Radius [protected]
 

Definition at line 273 of file ps_zone.h.

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


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