a caped cylinder More...
#include <ps_zone.h>
Inherits NL3D::CPSZone, and NL3D::IPSMover.
Public Member Functions | |
| virtual void | computeCollisions (CPSLocated &target, uint firstInstanceIndex, const NLMISC::CVector *posBefore, const NLMISC::CVector *posAfter) |
| Compute collisions for the given target. | |
| virtual void | show () |
| Show the zone (edition mode). | |
| CPSZoneCylinder () | |
| NLMISC_DECLARE_CLASS (CPSZoneCylinder) | |
| virtual bool | supportUniformScaling (void) const |
| Send back true if uniform scaling can be applied If it sends false, uniform scaling leads to undefine results. | |
| virtual bool | supportNonUniformScaling (void) const |
| Send back true if non-uniform scaling can be applied If it sends false, non-uniform scaling leads to undefine results (default has no effect). | |
| virtual void | setMatrix (uint32 index, const NLMISC::CMatrix &m) |
| virtual NLMISC::CMatrix | getMatrix (uint32 index) const |
| virtual void | setScale (uint32 k, float scale) |
| virtual void | setScale (uint32 k, const NLMISC::CVector &s) |
| virtual NLMISC::CVector | getScale (uint32 k) const |
| virtual void | serial (NLMISC::IStream &f) throw (NLMISC::EStream) |
| serialization, DERIVER must override this, and call the parent version | |
Protected Member Functions | |
| NLMISC::CMatrix | buildBasis (uint32 index) const |
| virtual void | resize (uint32 size) |
| Resize the bindable attributes containers should not be called directly. | |
| virtual void | newElement (const CPSEmitterInfo &info) |
| Generate a new element for this bindable. | |
| virtual void | deleteElement (uint32 index) |
Protected Attributes | |
| CPSAttrib< CPlaneBasis > | _Basis |
| TPSAttribVector | _Dim |
a caped cylinder
Definition at line 290 of file ps_zone.h.
| NL3D::CPSZoneCylinder::CPSZoneCylinder | ( | ) | [inline] |
Definition at line 296 of file ps_zone.h.
References NL3D::CPSLocatedBindable::_Name, and NL3D::CParticleSystem::getSerializeIdentifierFlag().
| NLMISC::CMatrix NL3D::CPSZoneCylinder::buildBasis | ( | uint32 | index | ) | const [protected] |
| void NL3D::CPSZoneCylinder::computeCollisions | ( | CPSLocated & | target, | |
| uint | firstInstanceIndex, | |||
| const NLMISC::CVector * | posBefore, | |||
| const NLMISC::CVector * | posAfter | |||
| ) | [virtual] |
Compute collisions for the given target.
This will update the collisions infos. The caller must provide pointer to arrays positions before and after time step.
Implements NL3D::CPSZone.
Definition at line 857 of file ps_zone.cpp.
References _Basis, NL3D::CPSLocated::_Collisions, _Dim, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSAttrib< T >::begin(), NL3D::CPSCollisionInfo::CollisionZone, NL3D::CPSCollisionInfo::Dist, NL3D::CPSAttrib< T >::end(), NL3D::CPSLocated::getConversionMatrix(), NL3D::CPSLocated::getPos(), NL3D::CPSLocated::getSize(), NL3D::CPSLocated::getSpeed(), I, MINI_TIMER, NLMISC::CMatrix::mulVector(), NL3D::CPSCollisionInfo::NewPos, NL3D::CPSCollisionInfo::NewSpeed, NL_PS_FUNC, NLMISC::CVector::norm(), NLMISC::CVector::normalize(), NL3D::PSCollideEpsilon, and NL3D::PSStatsZoneCylinder.
| void NL3D::CPSZoneCylinder::deleteElement | ( | uint32 | index | ) | [protected, virtual] |
Implements NL3D::CPSLocatedBindable.
Definition at line 1121 of file ps_zone.cpp.
References _Basis, _Dim, NL_PS_FUNC, and NL3D::CPSAttrib< T >::remove().
Implements NL3D::IPSMover.
Definition at line 1066 of file ps_zone.cpp.
References _Basis, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSLocated::getPos(), NL_PS_FUNC, NLMISC::CMatrix::setPos(), and NLMISC::CMatrix::setRot().
Reimplemented from NL3D::IPSMover.
Definition at line 1082 of file ps_zone.cpp.
References _Dim, and NL_PS_FUNC.
| void NL3D::CPSZoneCylinder::newElement | ( | const CPSEmitterInfo & | info | ) | [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 1114 of file ps_zone.cpp.
References _Basis, _Dim, NL3D::CPSAttrib< T >::insert(), NLMISC::CVector::K, and NL_PS_FUNC.
| NL3D::CPSZoneCylinder::NLMISC_DECLARE_CLASS | ( | CPSZoneCylinder | ) |
| void NL3D::CPSZoneCylinder::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 1106 of file ps_zone.cpp.
References _Basis, _Dim, NL_PS_FUNC, nlassert, and NL3D::CPSAttrib< T >::resize().
| void NL3D::CPSZoneCylinder::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 1095 of file ps_zone.cpp.
References NL_PS_FUNC, and NL3D::CPSZone::serial().
| void NL3D::CPSZoneCylinder::setMatrix | ( | uint32 | index, | |
| const NLMISC::CMatrix & | m | |||
| ) | [virtual] |
Implements NL3D::IPSMover.
Definition at line 1051 of file ps_zone.cpp.
References _Basis, NL3D::CPSLocatedBindable::_Owner, NLMISC::CMatrix::getI(), NLMISC::CMatrix::getJ(), NLMISC::CMatrix::getPos(), NL3D::CPSLocated::getPos(), and NL_PS_FUNC.
| void NL3D::CPSZoneCylinder::setScale | ( | uint32 | k, | |
| const NLMISC::CVector & | s | |||
| ) | [virtual] |
Reimplemented from NL3D::IPSMover.
Definition at line 1088 of file ps_zone.cpp.
References _Dim, and NL_PS_FUNC.
Reimplemented from NL3D::IPSMover.
Definition at line 1076 of file ps_zone.cpp.
References _Dim, and NL_PS_FUNC.
| void NL3D::CPSZoneCylinder::show | ( | ) | [virtual] |
Show the zone (edition mode).
Implements NL3D::CPSZone.
Definition at line 1012 of file ps_zone.cpp.
References _Basis, _Dim, NL3D::CPSLocatedBindable::_Owner, NL3D::CPSAttrib< T >::begin(), NL3D::CPSUtil::displayBasis(), NL3D::CPSUtil::displayCylinder(), NL3D::CPSAttrib< T >::end(), NL3D::CParticleSystem::getCurrentEditedElement(), NL3D::CPSLocatedBindable::getDriver(), NL3D::CPSLocatedBindable::getFontGenerator(), NL3D::CPSLocatedBindable::getFontManager(), NL3D::CPSLocatedBindable::getLocalToWorldMatrix(), NL3D::CParticleSystemProcess::getOwner(), NL3D::CPSLocated::getPos(), NL_PS_FUNC, NLMISC::CVector::Null, NLMISC::CRGBA::Red, NLMISC::CMatrix::setPos(), NLMISC::CMatrix::setRot(), and NL3D::CPSLocatedBindable::setupDriverModelMatrix().
| virtual bool NL3D::CPSZoneCylinder::supportNonUniformScaling | ( | void | ) | const [inline, virtual] |
Send back true if non-uniform scaling can be applied If it sends false, non-uniform scaling leads to undefine results (default has no effect).
Reimplemented from NL3D::IPSMover.
| virtual bool NL3D::CPSZoneCylinder::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.
CPSAttrib<CPlaneBasis> NL3D::CPSZoneCylinder::_Basis [protected] |
Definition at line 322 of file ps_zone.h.
Referenced by computeCollisions(), deleteElement(), getMatrix(), newElement(), resize(), setMatrix(), and show().
TPSAttribVector NL3D::CPSZoneCylinder::_Dim [protected] |
Definition at line 325 of file ps_zone.h.
Referenced by computeCollisions(), deleteElement(), getScale(), newElement(), resize(), setScale(), and show().
1.6.1