#include <ps_particle_basic.h>
Inheritance diagram for NL3D::CPSRotated3DPlaneParticle:

Definition at line 655 of file ps_particle_basic.h.
Public Member Functions | |
| CPSRotated3DPlaneParticle () | |
| =================================================================================== | |
| CPlaneBasis | getPlaneBasis (void) const |
| get the constant basis | |
| const CPSAttribMaker< CPlaneBasis > * | getPlaneBasisScheme (void) const |
| get the plane basis scheme, (NULL if none) const version | |
| CPSAttribMaker< CPlaneBasis > * | getPlaneBasisScheme (void) |
| get the plane basis scheme, (NULL if none) | |
| void | serialPlaneBasisScheme (NLMISC::IStream &f) throw (NLMISC::EStream) |
| =================================================================================== | |
| void | setPlaneBasis (const CPlaneBasis &basis) |
| =================================================================================== | |
| void | setPlaneBasisScheme (CPSAttribMaker< CPlaneBasis > *basisMaker) |
| =================================================================================== | |
| virtual | ~CPSRotated3DPlaneParticle () |
| =================================================================================== | |
Protected Member Functions | |
| void | deletePlaneBasisElement (uint32 index) |
| virtual CPSLocated * | getPlaneBasisOwner (void)=0 |
| if this is false, constant size will be used instead of a scheme deriver must return their owner there | |
| void | newPlaneBasisElement (CPSLocated *emitterLocated, uint32 emitterIndex) |
| void | resizePlaneBasis (uint32 size) |
Protected Attributes | |
| CPlaneBasis | _PlaneBasis |
| CPSAttribMaker< CPlaneBasis > * | _PlaneBasisScheme |
|
|
===================================================================================
Definition at line 456 of file ps_particle_basic.cpp. References _PlaneBasis, NL3D::CPlaneBasis::X, and NL3D::CPlaneBasis::Y.
00456 : _PlaneBasisScheme(NULL) 00457 { 00458 _PlaneBasis.X = CVector::I; 00459 _PlaneBasis.Y = CVector::J; 00460 } |
|
|
===================================================================================
Definition at line 463 of file ps_particle_basic.cpp. References _PlaneBasisScheme.
00464 {
00465 delete _PlaneBasisScheme;
00466 }
|
|
|
Definition at line 703 of file ps_particle_basic.h. References _PlaneBasisScheme, NL3D::CPSAttribMaker< CPlaneBasis >::deleteElement(), NL3D::CPSAttribMaker< CPlaneBasis >::hasMemory(), index, and uint32. Referenced by NL3D::CPSConstraintMesh::deleteElement(), NL3D::CPSMesh::deleteElement(), and NL3D::CPSFace::deleteElement().
00704 {
00705 if (_PlaneBasisScheme && _PlaneBasisScheme->hasMemory()) _PlaneBasisScheme->deleteElement(index);
00706 }
|
|
|
get the constant basis
Definition at line 678 of file ps_particle_basic.h. References _PlaneBasis.
00678 { return _PlaneBasis; }
|
|
|
if this is false, constant size will be used instead of a scheme deriver must return their owner there
Implemented in NL3D::CPSFace, NL3D::CPSMesh, NL3D::CPSConstraintMesh, and NL3D::CPSShockWave. Referenced by resizePlaneBasis(), and setPlaneBasisScheme(). |
|
|
get the plane basis scheme, (NULL if none) const version
Definition at line 673 of file ps_particle_basic.h. References _PlaneBasisScheme.
00673 { return _PlaneBasisScheme; }
|
|
|
get the plane basis scheme, (NULL if none) Set a constant basis for all particles
Definition at line 670 of file ps_particle_basic.h. References _PlaneBasisScheme.
00670 { return _PlaneBasisScheme; }
|
|
||||||||||||
|
Definition at line 699 of file ps_particle_basic.h. References _PlaneBasisScheme, NL3D::CPSAttribMaker< CPlaneBasis >::hasMemory(), NL3D::CPSAttribMaker< CPlaneBasis >::newElement(), and uint32. Referenced by NL3D::CPSConstraintMesh::newElement(), NL3D::CPSMesh::newElement(), and NL3D::CPSFace::newElement().
00700 {
00701 if (_PlaneBasisScheme && _PlaneBasisScheme->hasMemory()) _PlaneBasisScheme->newElement(emitterLocated, emitterIndex);
00702 }
|
|
|
Definition at line 707 of file ps_particle_basic.h. References _PlaneBasisScheme, getPlaneBasisOwner(), NL3D::CPSAttribMaker< CPlaneBasis >::hasMemory(), nlassert, NL3D::CPSAttribMaker< CPlaneBasis >::resize(), size, and uint32. Referenced by NL3D::CPSConstraintMesh::resize(), NL3D::CPSMesh::resize(), and NL3D::CPSFace::resize().
00708 {
00709 nlassert(size < (1 << 16));
00710 if (_PlaneBasisScheme && _PlaneBasisScheme->hasMemory()) _PlaneBasisScheme->resize(size, getPlaneBasisOwner()->getSize());
00711 }
|
|
|
===================================================================================
Definition at line 469 of file ps_particle_basic.cpp.
00470 {
00471 f.serialVersion(1);
00472 f.serialPolyPtr(_PlaneBasisScheme);
00473 bool usePlaneBasisScheme = _PlaneBasisScheme != NULL;
00474 if (!usePlaneBasisScheme)
00475 {
00476 f.serial(_PlaneBasis);
00477 }
00478 }
|
|
|
===================================================================================
Definition at line 448 of file ps_particle_basic.cpp. References _PlaneBasis, and _PlaneBasisScheme.
00449 {
00450 delete _PlaneBasisScheme;
00451 _PlaneBasisScheme = NULL;
00452 _PlaneBasis = basis;
00453 }
|
|
|
=================================================================================== Set an attribute maker that produce a basis It must have been allocated by new It will be deleted by this object Definition at line 439 of file ps_particle_basic.cpp. References _PlaneBasisScheme, getPlaneBasisOwner(), nlassert, and NL3D::CPSAttribMaker< T >::resize().
00440 {
00441 nlassert(basisMaker);
00442 delete _PlaneBasisScheme;
00443 _PlaneBasisScheme = basisMaker;
00444 if (getPlaneBasisOwner() && basisMaker->hasMemory()) basisMaker->resize(getPlaneBasisOwner()->getMaxSize(), getPlaneBasisOwner()->getSize());
00445 }
|
|
|
Definition at line 697 of file ps_particle_basic.h. Referenced by CPSRotated3DPlaneParticle(), NL3D::CPSFaceHelper::drawFaces(), NL3D::CPSConstraintMeshHelper::drawMeshs(), getPlaneBasis(), and setPlaneBasis(). |
|
|
Definition at line 695 of file ps_particle_basic.h. Referenced by deletePlaneBasisElement(), NL3D::CPSFaceHelper::drawFaces(), NL3D::CPSConstraintMeshHelper::drawMeshs(), getPlaneBasisScheme(), newPlaneBasisElement(), resizePlaneBasis(), setPlaneBasis(), setPlaneBasisScheme(), and ~CPSRotated3DPlaneParticle(). |
1.3.6