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-12-21 13:35:47 +0000
committerStijn Buys <ingar@osirion.org>2008-12-21 13:35:47 +0000
commitf35e3781a120937fcf00bacd35f8e891ae630a4a (patch)
tree2c81bbb422ec56cae6dcb151536dc9e5dd24c632 /src/model/fragment.h
parentaad0913d91fc3b682deddb5a5f8380d1475174f5 (diff)
full direction. pitch and roll control for fx_flare, fx_particles and func_rotate
Diffstat (limited to 'src/model/fragment.h')
-rw-r--r--src/model/fragment.h32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/model/fragment.h b/src/model/fragment.h
index 204a3c9..1978baa 100644
--- a/src/model/fragment.h
+++ b/src/model/fragment.h
@@ -9,8 +9,9 @@
#include <list>
-#include "math/vector3f.h"
+#include "math/axis.h"
#include "math/color.h"
+#include "math/vector3f.h"
namespace model
{
@@ -82,31 +83,32 @@ public:
~FragmentGroup();
- inline const math::Vector3f &location() const { return group_location; }
-
inline const Type type() const { return group_type; }
- inline const size_t size() const { return group_fragments.size(); }
+ inline const math::Vector3f &location() const { return group_location; }
- inline const float angle() const { return group_angle; }
+ inline const math::Axis & axis() const { return group_axis; }
inline const float speed() const { return group_speed; }
- inline iterator begin() { return group_fragments.begin(); }
-
- inline iterator end() { return group_fragments.end(); }
-
-
- inline void push_back(Fragment *fragment) { group_fragments.push_back(fragment); }
+
+ inline void set_type(const Type type) { group_type = type; }
inline void set_location(const math::Vector3f &location) { group_location.assign(location); }
- inline void set_type(const Type type) { group_type = type; }
-
- inline void set_angle(const float angle) { group_angle = angle; }
+ inline void set_axis(const math::Axis &axis) { group_axis.assign(axis); }
inline void set_speed(const float speed) { group_speed = speed; }
+
+ inline iterator begin() { return group_fragments.begin(); }
+
+ inline iterator end() { return group_fragments.end(); }
+
+ inline const size_t size() const { return group_fragments.size(); }
+
+ inline void push_back(Fragment *fragment) { group_fragments.push_back(fragment); }
+
void clear();
private:
@@ -116,9 +118,9 @@ private:
Fragments group_fragments;
math::Vector3f group_location;
math::Vector3f group_forward;
+ math::Axis group_axis;
Type group_type;
- float group_angle;
float group_speed;
};