]> git.mxchange.org Git - flightgear.git/blobdiff - src/MultiPlayer/mpplayer.hxx
Mathias Fröhlich:
[flightgear.git] / src / MultiPlayer / mpplayer.hxx
index d1f5c7c740a723b977029d8a12c2804a5b23e34d..04c5b648ff34920a3265fbdce86e2f733c6ed79f 100644 (file)
@@ -41,7 +41,6 @@
 
 #include "mpmessages.hxx"
 
-#include <plib/ssg.h>
 #include <plib/sg.h>
 #include <plib/netSocket.h>
 #include <simgear/io/sg_socket_udp.hxx>
@@ -54,6 +53,10 @@ SG_USING_STD(string);
 #define TIME_TO_LIVE 10
 
 
+class ssgEntity;
+class ssgPlacementTransform;
+
+
 class MPPlayer {
 public:
 
@@ -86,7 +89,8 @@ public:
     /** Sets the positioning matrix held for this player
     * @param PlayerPosMat4 Matrix for positioning player's aircraft
     */
-    void SetPosition(const sgMat4 PlayerPosMat4);
+    void SetPosition(const sgQuat PlayerOrientation,
+                     const sgdVec3 PlayerPosition);
 
     /** Transform and place model for player
     */
@@ -124,8 +128,11 @@ private:
     /** True if object is initialised */
     bool m_bInitialised;
 
-    /** Position matrix for the player's aircraft */
-    sgMat4 m_ModelPos;
+    /** Position of the player's aircraft wrt the earth fixed global system */
+    sgdVec3 m_ModelPosition;
+
+    /** Orientation the player's aircraft wrt the earth fixed global system */
+    sgQuat m_ModelOrientation;
 
     /** Used to remove player if no activity */
     time_t m_LastUpdate;
@@ -143,7 +150,7 @@ private:
     ssgEntity *m_Model;
 
     /** Model transform */
-    ssgTransform *m_ModelTrans;
+    ssgPlacementTransform *m_ModelTrans;
 
     /** True if this player is the local player */
     bool m_bLocalPlayer;