In this file, we define interfaces to interact more precisely with located in a particle system It allows to manipulate individual elements of a located For example, it allows you to move a collision plane after its creation, or to move a particular particle that you've instancied yourself. More...
#include <ps_edit.h>
Inherited by NL3D::CPSCylindricVortex, NL3D::CPSEmitterRectangle, NL3D::CPSSphericalEmitter, NL3D::CPSZoneCylinder, NL3D::CPSZoneDisc, NL3D::CPSZonePlane, NL3D::CPSZoneRectangle, and NL3D::CPSZoneSphere.
Public Member Functions | |
| virtual | ~IPSMover () |
| 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 | setScale (uint32 index, float scale) |
| virtual void | setScale (uint32 index, const NLMISC::CVector &s) |
| virtual NLMISC::CVector | getScale (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 | |
| virtual NLMISC::CVector | getNormal (uint32 index) |
| if the object only needs a normal, this return the normal. If not, is return (0, 0, 0) | |
| 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 | |
| virtual void | setMatrix (uint32 index, const NLMISC::CMatrix &m)=0 |
| virtual NLMISC::CMatrix | getMatrix (uint32 index) const =0 |
In this file, we define interfaces to interact more precisely with located in a particle system It allows to manipulate individual elements of a located For example, it allows you to move a collision plane after its creation, or to move a particular particle that you've instancied yourself.
This is needed because of the packed format used for data representation (each attribute is packed into its own table, see ps_attrib.h ) This interface allow to move a particle system element given its index in a located
Definition at line 60 of file ps_edit.h.
| virtual NLMISC::CMatrix NL3D::IPSMover::getMatrix | ( | uint32 | index | ) | const [pure virtual] |
| virtual NLMISC::CVector NL3D::IPSMover::getNormal | ( | uint32 | index | ) | [inline, virtual] |
if the object only needs a normal, this return the normal. If not, is return (0, 0, 0)
Reimplemented in NL3D::CPSCylindricVortex, NL3D::CPSZonePlane, and NL3D::CPSZoneDisc.
Definition at line 89 of file ps_edit.h.
References NL_PS_FUNC, and NLMISC::CVector::Null.
| virtual NLMISC::CVector NL3D::IPSMover::getScale | ( | uint32 | index | ) | const [inline, virtual] |
Reimplemented in NL3D::CPSEmitterRectangle, NL3D::CPSSphericalEmitter, NL3D::CPSCylindricVortex, NL3D::CPSZoneSphere, NL3D::CPSZoneDisc, NL3D::CPSZoneCylinder, and NL3D::CPSZoneRectangle.
Definition at line 81 of file ps_edit.h.
References NL_PS_FUNC.
| virtual bool NL3D::IPSMover::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 in NL3D::CPSCylindricVortex, NL3D::CPSZonePlane, and NL3D::CPSZoneDisc.
Definition at line 86 of file ps_edit.h.
References NL_PS_FUNC.
| virtual void NL3D::IPSMover::setMatrix | ( | uint32 | index, | |
| const NLMISC::CMatrix & | m | |||
| ) | [pure virtual] |
| virtual void NL3D::IPSMover::setNormal | ( | uint32 | index, | |
| NLMISC::CVector | n | |||
| ) | [inline, virtual] |
if the object only stores a normal, this set the normal of the object. Otherwise it has no effect
Reimplemented in NL3D::CPSCylindricVortex, NL3D::CPSZonePlane, and NL3D::CPSZoneDisc.
Definition at line 92 of file ps_edit.h.
References NL_PS_FUNC.
| virtual void NL3D::IPSMover::setScale | ( | uint32 | index, | |
| const NLMISC::CVector & | s | |||
| ) | [inline, virtual] |
Reimplemented in NL3D::CPSEmitterRectangle, NL3D::CPSZoneCylinder, and NL3D::CPSZoneRectangle.
Definition at line 78 of file ps_edit.h.
References NL_PS_FUNC, and setScale().
Reimplemented in NL3D::CPSEmitterRectangle, NL3D::CPSSphericalEmitter, NL3D::CPSCylindricVortex, NL3D::CPSZoneSphere, NL3D::CPSZoneDisc, NL3D::CPSZoneCylinder, and NL3D::CPSZoneRectangle.
Definition at line 75 of file ps_edit.h.
Referenced by setScale().
| virtual bool NL3D::IPSMover::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 in NL3D::CPSEmitterRectangle, NL3D::CPSSphericalEmitter, NL3D::CPSCylindricVortex, NL3D::CPSZoneCylinder, and NL3D::CPSZoneRectangle.
Definition at line 72 of file ps_edit.h.
References NL_PS_FUNC.
| virtual bool NL3D::IPSMover::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 in NL3D::CPSEmitterRectangle, NL3D::CPSSphericalEmitter, NL3D::CPSCylindricVortex, NL3D::CPSZoneSphere, NL3D::CPSZoneDisc, NL3D::CPSZoneCylinder, and NL3D::CPSZoneRectangle.
Definition at line 67 of file ps_edit.h.
References NL_PS_FUNC.
1.6.1