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
ClientState Class Reference

#include <vsnet_clientstate.h>

Public Member Functions

 ClientState ()
 
 ClientState (ObjSerial serial)
 
 ClientState (ObjSerial serial, QVector posit, Quaternion orientat, Vector velocity, Vector acc, Vector angvel)
 
 ClientState (ObjSerial serial, QVector posit, Quaternion orientat, Vector velocity, Vector acc, Vector angvel, unsigned int del)
 
 ClientState (ObjSerial serial, Transformation trans, Vector velocity, Vector acc, Vector angvel, unsigned int del)
 
 ClientState (const Unit *un)
 
const QVectorgetPosition () const
 
const QuaterniongetOrientation () const
 
const TransformationgetTransformation () const
 
const VectorgetVelocity () const
 
const VectorgetAngularVelocity () const
 
float getSpecRamp () const
 
float getSpecMult () const
 
void setAcceleration (Vector acc)
 
void setUnitState (Unit *un) const
 
ObjSerial getSerial () const
 
void setSerial (ObjSerial ser)
 
void setPosition (QVector posit)
 
void setOrientation (Quaternion orient)
 
void setVelocity (Vector vel)
 
void setAngularVelocity (Vector vel)
 
void setSpecRamp (float rc)
 
void setSpecMult (float wfm)
 
void display (std::ostream &ostr) const
 
void display () const
 
int operator== (const ClientState &ctmp) const
 

Friends

class NetBuffer
 

Detailed Description

Definition at line 34 of file vsnet_clientstate.h.

Constructor & Destructor Documentation

ClientState::ClientState ( )

Definition at line 10 of file vsnet_clientstate.cpp.

References Transformation::position.

11 {
12  //this->delay=50;
13  this->client_serial = 0;
14  this->SPECWarpMultiplier = 0.0;
15  this->SPECRampCounter = 0.0;
16  this->pos.position.Set( 0, 0, 0 );
17  this->veloc.Set( 0, 0, 0 );
18  //this->accel.Set( 0,0,0);
19  this->angveloc.Set( 0, 0, 0 );
20 }
ClientState::ClientState ( ObjSerial  serial)

Definition at line 64 of file vsnet_clientstate.cpp.

References Transformation::position.

65 {
66  this->client_serial = serial;
67  this->pos.position.Set( 0, 0, 0 );
68  //pos.orientation.Set( 100,0,0);
69  this->veloc.Set( 0, 0, 0 );
70  //this->accel.Set( 0,0,0);
71  this->angveloc.Set( 0, 0, 0 );
72  this->SPECWarpMultiplier = 0.0;
73  this->SPECRampCounter = 0.0;
74  //this->delay = 50;
75 }
ClientState::ClientState ( ObjSerial  serial,
QVector  posit,
Quaternion  orientat,
Vector  velocity,
Vector  acc,
Vector  angvel 
)

Definition at line 77 of file vsnet_clientstate.cpp.

References Transformation::orientation, and Transformation::position.

78 {
79  this->client_serial = serial;
80  this->pos.position = posit;
81  this->pos.orientation = orientat;
82  this->veloc = velocity;
83  //this->accel = acc;
84  this->angveloc = angvel;
85  this->SPECWarpMultiplier = 0.0;
86  this->SPECRampCounter = 0.0;
87 }
ClientState::ClientState ( ObjSerial  serial,
QVector  posit,
Quaternion  orientat,
Vector  velocity,
Vector  acc,
Vector  angvel,
unsigned int  del 
)

Definition at line 89 of file vsnet_clientstate.cpp.

References Transformation::orientation, and Transformation::position.

96 {
97  //this->delay = del;
98  this->client_serial = serial;
99  this->pos.position = posit;
100  this->pos.orientation = orientat;
101  this->veloc = velocity;
102  //this->accel = acc;
103  this->angveloc = angvel;
104  this->SPECWarpMultiplier = 0.0;
105  this->SPECRampCounter = 0.0;
106 }
ClientState::ClientState ( ObjSerial  serial,
Transformation  trans,
Vector  velocity,
Vector  acc,
Vector  angvel,
unsigned int  del 
)

Definition at line 108 of file vsnet_clientstate.cpp.

109 {
110  //this->delay = del;
111  this->client_serial = serial;
112  this->pos = trans;
113  this->veloc = velocity;
114  //this->accel = acc;
115  this->angveloc = angvel;
116  this->SPECWarpMultiplier = 0.0;
117  this->SPECRampCounter = 0.0;
118 }
ClientState::ClientState ( const Unit un)

Definition at line 22 of file vsnet_clientstate.cpp.

References Unit::AngularVelocity, Unit::curr_physical_state, Unit::GetSerial(), Unit::graphicOptions, Unit::graphic_options::InWarp, Transformation::orientation, Transformation::position, Unit::graphic_options::RampCounter, Unit::Velocity, and Unit::graphic_options::WarpFieldStrength.

23 {
24  this->client_serial = un->GetSerial();
25  this->pos.position = un->curr_physical_state.position;
27  this->veloc = un->Velocity;
28  //this->accel = un->GetAcceleration();
29  this->angveloc = un->AngularVelocity;
30  if (un->graphicOptions.RampCounter != 0 || un->graphicOptions.InWarp) {
31  this->SPECRampCounter = (un->graphicOptions.InWarp ? 1 : -1)
33  this->SPECWarpMultiplier = un->graphicOptions.WarpFieldStrength;
34  } else {
35  this->SPECRampCounter = 0.0;
36  this->SPECWarpMultiplier = 1.0;
37  }
38 }

Member Function Documentation

void ClientState::display ( std::ostream &  ostr) const

Definition at line 129 of file vsnet_clientstate.cpp.

References Transformation::orientation, Transformation::position, and Quaternion::v.

Referenced by operator<<().

130 {
131  ostr<<"SERIAL="<<this->client_serial
132  <<" - Position="<<pos.position.i<<","<<pos.position.j<<","<<pos.position.k
133  <<" - Orientation="<<pos.orientation.v.i<<","<<pos.orientation.v.j<<","<<pos.orientation.v.k
134  <<" - Velocity="<<veloc.i<<","<<veloc.j<<","<<veloc.k
135  //<< " - Acceleration="<<accel.i<<","<<accel.j<<","<<accel.k;
136  <<" - Ang Velocity="<<angveloc.i<<","<<angveloc.j<<","<<angveloc.k;
137  if (SPECWarpMultiplier != 0.0)
138  ostr<<" - SPEC="<<SPECWarpMultiplier<<", Ramp="<<SPECRampCounter;
139 }
void ClientState::display ( ) const

Definition at line 120 of file vsnet_clientstate.cpp.

121 {
122  display( cerr );
123  cerr<<endl;
124 }
const Vector& ClientState::getAngularVelocity ( ) const
inline

Definition at line 74 of file vsnet_clientstate.h.

Referenced by aim_assist().

75  {
76  return this->angveloc;
77  }
const Quaternion& ClientState::getOrientation ( ) const
inline

Definition at line 62 of file vsnet_clientstate.h.

References Transformation::orientation.

Referenced by aim_assist(), aim_assist_debug(), and Prediction::InitInterpolation().

63  {
64  return this->pos.orientation;
65  }
const QVector& ClientState::getPosition ( ) const
inline
ObjSerial ClientState::getSerial ( ) const
inline

Definition at line 91 of file vsnet_clientstate.h.

Referenced by NetClient::sendPosition().

92  {
93  return this->client_serial;
94  }
float ClientState::getSpecMult ( ) const
inline

Definition at line 82 of file vsnet_clientstate.h.

Referenced by ZoneMgr::addPosition(), Prediction::InitInterpolation(), and NetClient::sendPosition().

83  {
84  return this->SPECWarpMultiplier;
85  }
float ClientState::getSpecRamp ( ) const
inline

Definition at line 78 of file vsnet_clientstate.h.

Referenced by ZoneMgr::addPosition().

79  {
80  return this->SPECRampCounter;
81  }
const Transformation& ClientState::getTransformation ( ) const
inline

Definition at line 66 of file vsnet_clientstate.h.

Referenced by UnitFactory::addMissileBuffer(), and UnitFactory::addUnitBuffer().

67  {
68  return this->pos;
69  }
const Vector& ClientState::getVelocity ( ) const
inline

Definition at line 70 of file vsnet_clientstate.h.

Referenced by aim_assist(), and Prediction::InitInterpolation().

71  {
72  return this->veloc;
73  }
int ClientState::operator== ( const ClientState ctmp) const

Definition at line 141 of file vsnet_clientstate.cpp.

References Transformation::orientation, and Transformation::position.

142 {
143  //Need == operator for Transformation class
144  return this->client_serial == ctmp.client_serial && this->pos.position == ctmp.pos.position && this->pos.orientation
145  == ctmp.pos.orientation;
146  //return 0;
147 }
void ClientState::setAcceleration ( Vector  acc)
inline

Definition at line 87 of file vsnet_clientstate.h.

87 {}
void ClientState::setAngularVelocity ( Vector  vel)
inline

Definition at line 113 of file vsnet_clientstate.h.

Referenced by aim_assist().

114  {
115  this->angveloc = vel;
116  }
void ClientState::setOrientation ( Quaternion  orient)
inline

Definition at line 105 of file vsnet_clientstate.h.

References Transformation::orientation.

Referenced by aim_assist().

106  {
107  this->pos.orientation = orient;
108  }
void ClientState::setPosition ( QVector  posit)
inline

Definition at line 101 of file vsnet_clientstate.h.

References Transformation::position.

102  {
103  this->pos.position = posit;
104  }
void ClientState::setSerial ( ObjSerial  ser)
inline

Definition at line 97 of file vsnet_clientstate.h.

98  {
99  this->client_serial = ser;
100  }
void ClientState::setSpecMult ( float  wfm)
inline

Definition at line 121 of file vsnet_clientstate.h.

122  {
123  this->SPECWarpMultiplier = wfm;
124  }
void ClientState::setSpecRamp ( float  rc)
inline

Definition at line 117 of file vsnet_clientstate.h.

118  {
119  this->SPECRampCounter = rc;
120  }
void ClientState::setUnitState ( Unit un) const

Definition at line 40 of file vsnet_clientstate.cpp.

References Unit::AngularVelocity, Unit::curr_physical_state, Unit::graphicOptions, Unit::graphic_options::InWarp, Unit::graphic_options::RampCounter, Unit::Velocity, Unit::graphic_options::WarpFieldStrength, and Unit::graphic_options::WarpRamping.

Referenced by UnitFactory::parseMissileBuffer(), and UnitFactory::parseUnitBuffer().

41 {
42  un->curr_physical_state = this->pos;
43  un->Velocity = this->veloc;
44  un->AngularVelocity = this->angveloc;
45  if (SPECWarpMultiplier >= 1.0) {
46  //Otherwise, do not change.
47  un->graphicOptions.InWarp = (SPECWarpMultiplier != 1.0 || SPECRampCounter != 0.0);
48  if (un->graphicOptions.InWarp) {
49  if (SPECRampCounter < 0) {
50  un->graphicOptions.InWarp = 0;
51  un->graphicOptions.RampCounter = -SPECRampCounter;
52  } else {
53  un->graphicOptions.RampCounter = SPECRampCounter;
54  }
55  un->graphicOptions.WarpFieldStrength = SPECWarpMultiplier;
56  } else {
58  un->graphicOptions.RampCounter = 0.0;
59  }
61  }
62 }
void ClientState::setVelocity ( Vector  vel)
inline

Definition at line 109 of file vsnet_clientstate.h.

110  {
111  this->veloc = vel;
112  }

Friends And Related Function Documentation

friend class NetBuffer
friend

Definition at line 131 of file vsnet_clientstate.h.


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