NL3D::IPSMover Struct Reference

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.

List of all members.

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

Detailed Description

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

Author:
Nicolas Vizerie
Nevrax France
Date:
2001

Definition at line 60 of file ps_edit.h.


Constructor & Destructor Documentation

virtual NL3D::IPSMover::~IPSMover (  )  [inline, virtual]

Definition at line 62 of file ps_edit.h.


Member Function Documentation

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]
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().

virtual void NL3D::IPSMover::setScale ( uint32  index,
float  scale 
) [inline, virtual]
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.


The documentation for this struct was generated from the following file:

Generated on Thu Jan 7 08:30:07 2010 for NeL by  doxygen 1.6.1