00001 // Filename: prediction.h 00002 // Created by: cary (20Dec00) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved 00008 // 00009 // All use of this software is subject to the terms of the Panda 3d 00010 // Software license. You should have received a copy of this license 00011 // along with this source code; you will also find a current copy of 00012 // the license at http://www.panda3d.org/license.txt . 00013 // 00014 // To contact the maintainers of this program write to 00015 // panda3d@yahoogroups.com . 00016 // 00017 //////////////////////////////////////////////////////////////////// 00018 00019 #ifndef __PREDICTION_H__ 00020 #define __PREDICTION_H__ 00021 00022 #include <directbase.h> 00023 #include <luse.h> 00024 00025 class Prediction { 00026 protected: 00027 LPoint3f _curr_p; 00028 LVector3f _curr_v; 00029 PUBLISHED: 00030 Prediction(LPoint3f&); 00031 virtual ~Prediction(void); 00032 00033 virtual void step(void); 00034 virtual void new_telemetry(LPoint3f&); 00035 virtual void force_telemetry(LPoint3f&); 00036 00037 LPoint3f get_pos(void) const; 00038 LVector3f get_vel(void) const; 00039 }; 00040 00041 class NullPrediction : public Prediction { 00042 PUBLISHED: 00043 NullPrediction(LPoint3f&); 00044 virtual ~NullPrediction(void); 00045 00046 virtual void step(void); 00047 virtual void new_telemetry(LPoint3f&); 00048 virtual void force_telemetry(LPoint3f&); 00049 }; 00050 00051 class LinearPrediction : public Prediction { 00052 PUBLISHED: 00053 LinearPrediction(LPoint3f&); 00054 virtual ~LinearPrediction(void); 00055 00056 virtual void step(void); 00057 virtual void new_telemetry(LPoint3f&); 00058 virtual void force_telemetry(LPoint3f&); 00059 }; 00060 00061 #endif /* __PREDICTION_H__ */