Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-05-10 10:19:16 +0000
committerStijn Buys <ingar@osirion.org>2008-05-10 10:19:16 +0000
commit930db4020b9af2ccd999cb3a8c980cc9d527f8cf (patch)
tree1767c67dbe94615c02d529f3ed04e614cb948921 /src/core/clientstate.h
parent421fc71813f08bfe359f9ac7596933a7e4cea6e0 (diff)
client-side axis interpolation
Diffstat (limited to 'src/core/clientstate.h')
-rw-r--r--src/core/clientstate.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/core/clientstate.h b/src/core/clientstate.h
new file mode 100644
index 0000000..915f96f
--- /dev/null
+++ b/src/core/clientstate.h
@@ -0,0 +1,65 @@
+/*
+ core/clientstate.h
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#ifndef __INCLUDED_CORE_CLIENTSTATE_H__
+#define __INCLUDED_CORE_CLIENTSTATE_H__
+
+#include "math/axis.h"
+#include "math/mathlib.h"
+#include "math/vector3f.h"
+
+namespace core
+{
+ class ClientState;
+}
+
+#include "core/entity.h"
+
+namespace core
+{
+
+/// Entity client render state
+class ClientState {
+public:
+ ClientState();
+ ClientState(Entity *entity);
+
+ ~ClientState();
+
+ inline math::Vector3f const & location() { return state_location; }
+
+ inline math::Vector3f const & previouslocation() { return state_previouslocation; }
+
+ inline math::Axis const & previousaxis() { return state_previousaxis; }
+
+ inline math::Axis const & axis() { return state_axis; }
+
+ inline bool visible() const { return state_visible; }
+
+ inline bool detailvisible() const { return state_detailvisible; }
+
+ /// client render fuzz factor
+ inline float fuzz() const { return state_fuzz; };
+
+ /// assign the content of an entity
+ void assign(Entity *entity);
+
+ math::Vector3f state_location;
+ math::Axis state_axis;
+
+ math::Vector3f state_previouslocation;
+ math::Axis state_previousaxis;
+
+ bool state_visible;
+ bool state_detailvisible;
+
+ float state_fuzz;
+};
+
+}
+
+#endif // __INCLUDED_CORE_CLIENTSTATE_H__
+