Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CubicSplinePrediction Class Reference

#include <prediction.h>

Inheritance diagram for CubicSplinePrediction:
Prediction MixedPrediction

Public Member Functions

virtual void InitInterpolation (Unit *un, const ClientState &last_packet_state, double elapsed_since_last_packet, double deltatime)
 
virtual QVector InterpolatePosition (Unit *un, double deltatime) const
 
virtual Quaternion InterpolateOrientation (Unit *un, double deltatime) const
 
- Public Member Functions inherited from Prediction
 Prediction ()
 
virtual ~Prediction ()
 
virtual Transformation Interpolate (Unit *un, double deltatime) const
 

Additional Inherited Members

- Protected Attributes inherited from Prediction
QVector A0
 
QVector B
 
QVector A1
 
QVector A2
 
QVector A3
 
Vector VA
 
Vector VB
 
Vector AA
 
Vector AB
 
Quaternion OA
 
Quaternion OB
 
double deltatime
 

Detailed Description

Definition at line 54 of file prediction.h.

Member Function Documentation

void CubicSplinePrediction::InitInterpolation ( Unit un,
const ClientState last_packet_state,
double  elapsed_since_last_packet,
double  deltatime 
)
virtual

Reimplemented from Prediction.

Definition at line 144 of file prediction.cpp.

References Prediction::A0, Prediction::A1, Prediction::A2, Prediction::A3, CubicSpline::createSpline(), and Prediction::InitInterpolation().

148 {
149  Prediction::InitInterpolation( un, last_packet_state, elapsed_since_last_packet, deltatime );
150 
151  interpolation_spline.createSpline( A0, A1, A2, A3 );
152 }
Quaternion CubicSplinePrediction::InterpolateOrientation ( Unit un,
double  deltatime 
) const
virtual

Implements Prediction.

Reimplemented in MixedPrediction.

Definition at line 156 of file prediction.cpp.

References Prediction::OB.

157 {
158  return OB; //un->curr_physical_state.orientation;
159 }
QVector CubicSplinePrediction::InterpolatePosition ( Unit un,
double  deltatime 
) const
virtual

Implements Prediction.

Reimplemented in MixedPrediction.

Definition at line 161 of file prediction.cpp.

References Prediction::A2, CubicSpline::computePoint(), Prediction::deltatime, QVector, and Prediction::VB.

Referenced by MixedPrediction::Interpolate(), and MixedPrediction::InterpolatePosition().

162 {
163  //There should be another function called when received a new position update and creating the spline
164  if (this->deltatime == 0 || deltatime > this->deltatime) {
165  double delay = deltatime-this->deltatime;
166  return A2+VB*delay;
167  } else {
168  return QVector( interpolation_spline.computePoint( deltatime/this->deltatime ) );
169  }
170 }

The documentation for this class was generated from the following files: