00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef ORIENTEDPARTICLEFACTORY_H
00020 #define ORIENTEDPARTICLEFACTORY_H
00021
00022 #include "baseParticleFactory.h"
00023
00024 #include <luse.h>
00025
00026
00027
00028
00029
00030
00031 class EXPCL_PANDAPHYSICS OrientedParticleFactory : public BaseParticleFactory {
00032 private:
00033 virtual void populate_child_particle(BaseParticle *bp) const;
00034 virtual BaseParticle *alloc_particle(void) const;
00035
00036 LOrientationf _initial_orientation;
00037 LOrientationf _final_orientation;
00038
00039 PUBLISHED:
00040 OrientedParticleFactory(void);
00041 OrientedParticleFactory(const OrientedParticleFactory ©);
00042 virtual ~OrientedParticleFactory(void);
00043
00044 INLINE void set_initial_orientation(const LOrientationf &o);
00045 INLINE void set_final_orientation(const LOrientationf &o);
00046 INLINE LOrientationf get_initial_orientation(void) const;
00047 INLINE LOrientationf get_final_orientation(void) const;
00048 };
00049
00050 #include "orientedParticleFactory.I"
00051
00052 #endif // ORIENTEDPARTICLEFACTORY_H