00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __LERPBLEND_H__
00020 #define __LERPBLEND_H__
00021
00022 #include <pandabase.h>
00023 #include <typedReferenceCount.h>
00024
00025 class EXPCL_PANDA LerpBlendType : public TypedReferenceCount {
00026 PUBLISHED:
00027 LerpBlendType(void) {}
00028 virtual ~LerpBlendType(void);
00029 virtual float operator()(float) = 0;
00030
00031 public:
00032 LerpBlendType(const LerpBlendType&);
00033 LerpBlendType& operator=(const LerpBlendType&);
00034 public:
00035
00036 static TypeHandle get_class_type(void) {
00037 return _type_handle;
00038 }
00039 static void init_type(void) {
00040 TypedReferenceCount::init_type();
00041 register_type(_type_handle, "LerpBlendType",
00042 TypedReferenceCount::get_class_type());
00043 }
00044 virtual TypeHandle get_type(void) const {
00045 return get_class_type();
00046 }
00047 virtual TypeHandle force_init_type(void) {
00048 init_type();
00049 return get_class_type();
00050 }
00051 private:
00052 static TypeHandle _type_handle;
00053 };
00054
00055 class EXPCL_PANDA EaseInBlendType : public LerpBlendType {
00056 PUBLISHED:
00057 EaseInBlendType(void) {}
00058 virtual ~EaseInBlendType(void);
00059 virtual float operator()(float);
00060
00061 public:
00062 EaseInBlendType(const EaseInBlendType&);
00063 EaseInBlendType& operator=(const EaseInBlendType&);
00064 public:
00065
00066 static TypeHandle get_class_type(void) {
00067 return _type_handle;
00068 }
00069 static void init_type(void) {
00070 TypedReferenceCount::init_type();
00071 register_type(_type_handle, "EaseInBlendType",
00072 LerpBlendType::get_class_type());
00073 }
00074 virtual TypeHandle get_type(void) const {
00075 return get_class_type();
00076 }
00077 virtual TypeHandle force_init_type(void) {
00078 init_type();
00079 return get_class_type();
00080 }
00081 private:
00082 static TypeHandle _type_handle;
00083 };
00084
00085 class EXPCL_PANDA EaseOutBlendType : public LerpBlendType {
00086 PUBLISHED:
00087 EaseOutBlendType(void) {}
00088 virtual ~EaseOutBlendType(void);
00089 virtual float operator()(float);
00090
00091 public:
00092 EaseOutBlendType(const EaseOutBlendType&);
00093 EaseOutBlendType& operator=(const EaseOutBlendType&);
00094 public:
00095
00096 static TypeHandle get_class_type(void) {
00097 return _type_handle;
00098 }
00099 static void init_type(void) {
00100 TypedReferenceCount::init_type();
00101 register_type(_type_handle, "EaseOutBlendType",
00102 LerpBlendType::get_class_type());
00103 }
00104 virtual TypeHandle get_type(void) const {
00105 return get_class_type();
00106 }
00107 virtual TypeHandle force_init_type(void) {
00108 init_type();
00109 return get_class_type();
00110 }
00111 private:
00112 static TypeHandle _type_handle;
00113 };
00114
00115 class EXPCL_PANDA EaseInOutBlendType : public LerpBlendType {
00116 PUBLISHED:
00117 EaseInOutBlendType(void) {}
00118 virtual ~EaseInOutBlendType(void);
00119 virtual float operator()(float);
00120 public:
00121 EaseInOutBlendType(const EaseInOutBlendType&);
00122 EaseInOutBlendType& operator=(const EaseInOutBlendType&);
00123 public:
00124
00125 static TypeHandle get_class_type(void) {
00126 return _type_handle;
00127 }
00128 static void init_type(void) {
00129 TypedReferenceCount::init_type();
00130 register_type(_type_handle, "EaseInOutBlendType",
00131 LerpBlendType::get_class_type());
00132 }
00133 virtual TypeHandle get_type(void) const {
00134 return get_class_type();
00135 }
00136 virtual TypeHandle force_init_type(void) {
00137 init_type();
00138 return get_class_type();
00139 }
00140 private:
00141 static TypeHandle _type_handle;
00142 };
00143
00144 class EXPCL_PANDA NoBlendType : public LerpBlendType {
00145 PUBLISHED:
00146 NoBlendType(void) {}
00147 virtual ~NoBlendType(void);
00148 virtual float operator()(float);
00149 public:
00150 NoBlendType(const NoBlendType&);
00151 NoBlendType& operator=(const NoBlendType&);
00152 public:
00153
00154 static TypeHandle get_class_type(void) {
00155 return _type_handle;
00156 }
00157 static void init_type(void) {
00158 TypedReferenceCount::init_type();
00159 register_type(_type_handle, "NoBlendType",
00160 LerpBlendType::get_class_type());
00161 }
00162 virtual TypeHandle get_type(void) const {
00163 return get_class_type();
00164 }
00165 virtual TypeHandle force_init_type(void) {
00166 init_type();
00167 return get_class_type();
00168 }
00169 private:
00170 static TypeHandle _type_handle;
00171 };
00172
00173 #endif