NL3D::CPSZoneRectangle Class Reference

The same as a plane, but with a rectangle. More...

#include <ps_zone.h>

Inherits NL3D::CPSZone, and NL3D::IPSMover.

List of all members.

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).
 CPSZoneRectangle ()
 NLMISC_DECLARE_CLASS (CPSZoneRectangle)
virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 serialization, DERIVER must override this, and call the parent version
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 index, float scale)
virtual void setScale (uint32 index, const NLMISC::CVector &s)
virtual NLMISC::CVector getScale (uint32 index) const

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
TPSAttribFloat _Width
TPSAttribFloat _Height

Detailed Description

The same as a plane, but with a rectangle.

We don't encode the plane by its normal, however...

Definition at line 342 of file ps_zone.h.


Constructor & Destructor Documentation

NL3D::CPSZoneRectangle::CPSZoneRectangle (  )  [inline]

Member Function Documentation

NLMISC::CMatrix NL3D::CPSZoneRectangle::buildBasis ( uint32  index  )  const [protected]
void NL3D::CPSZoneRectangle::computeCollisions ( CPSLocated target,
uint  firstInstanceIndex,
const NLMISC::CVector posBefore,
const NLMISC::CVector posAfter 
) [virtual]
void NL3D::CPSZoneRectangle::deleteElement ( uint32  index  )  [protected, virtual]

Implements NL3D::CPSLocatedBindable.

Definition at line 1303 of file ps_zone.cpp.

References _Basis, _Height, _Width, NL_PS_FUNC, and NL3D::CPSAttrib< T >::remove().

CMatrix NL3D::CPSZoneRectangle::getMatrix ( uint32  index  )  const [virtual]
CVector NL3D::CPSZoneRectangle::getScale ( uint32  index  )  const [virtual]

Reimplemented from NL3D::IPSMover.

Definition at line 1267 of file ps_zone.cpp.

References _Height, _Width, and NL_PS_FUNC.

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

References _Basis, _Height, _Width, NL3D::CPSAttrib< T >::insert(), NLMISC::CVector::K, and NL_PS_FUNC.

NL3D::CPSZoneRectangle::NLMISC_DECLARE_CLASS ( CPSZoneRectangle   ) 
void NL3D::CPSZoneRectangle::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 1286 of file ps_zone.cpp.

References _Basis, _Height, _Width, NL_PS_FUNC, nlassert, and NL3D::CPSAttrib< T >::resize().

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

References NL_PS_FUNC, and NL3D::CPSZone::serial().

void NL3D::CPSZoneRectangle::setMatrix ( uint32  index,
const NLMISC::CMatrix m 
) [virtual]
void NL3D::CPSZoneRectangle::setScale ( uint32  index,
const NLMISC::CVector s 
) [virtual]

Reimplemented from NL3D::IPSMover.

Definition at line 1261 of file ps_zone.cpp.

References _Height, _Width, NL_PS_FUNC, NLMISC::CVector::x, and NLMISC::CVector::y.

void NL3D::CPSZoneRectangle::setScale ( uint32  index,
float  scale 
) [virtual]

Reimplemented from NL3D::IPSMover.

Definition at line 1255 of file ps_zone.cpp.

References _Height, _Width, and NL_PS_FUNC.

void NL3D::CPSZoneRectangle::show (  )  [virtual]
virtual bool NL3D::CPSZoneRectangle::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.

Definition at line 364 of file ps_zone.h.

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


Member Data Documentation

Definition at line 374 of file ps_zone.h.

Referenced by computeCollisions(), deleteElement(), getMatrix(), newElement(), resize(), setMatrix(), and show().

Definition at line 380 of file ps_zone.h.

Referenced by computeCollisions(), deleteElement(), getScale(), newElement(), resize(), setScale(), and show().

Definition at line 377 of file ps_zone.h.

Referenced by computeCollisions(), deleteElement(), getScale(), newElement(), resize(), setScale(), and show().


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

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