00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef ZSPINPARTICLE_H
00020 #define ZSPINPARTICLE_H
00021
00022 #include "baseParticle.h"
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 class EXPCL_PANDAPHYSICS ZSpinParticle : public BaseParticle {
00033 private:
00034 float _initial_angle;
00035 float _final_angle;
00036 float _cur_angle;
00037 float _angular_velocity;
00038 bool _bUseAngularVelocity;
00039
00040 public:
00041 ZSpinParticle(void);
00042 ZSpinParticle(const ZSpinParticle ©);
00043 virtual ~ZSpinParticle(void);
00044
00045 virtual PhysicsObject *make_copy(void) const;
00046
00047 virtual void init(void);
00048 virtual void update(void);
00049 virtual void die(void);
00050
00051 virtual float get_theta(void) const;
00052
00053 INLINE void set_initial_angle(float t);
00054 INLINE float get_initial_angle(void) const;
00055
00056 INLINE void set_final_angle(float t);
00057 INLINE float get_final_angle(void) const;
00058
00059
00060
00061 INLINE void set_angular_velocity(float v);
00062 INLINE float get_angular_velocity(void) const;
00063
00064 INLINE void enable_angular_velocity(bool bEnabled);
00065 INLINE bool get_angular_velocity_enabled(void) const;
00066 };
00067
00068 #include "zSpinParticle.I"
00069
00070 #endif // ZSPINPARTICLE_H