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-20 14:54:17 +0000
committerStijn Buys <ingar@osirion.org>2008-12-20 14:54:17 +0000
commitf36ec64b08c791e7b907ed8efd9a2baa44e7f8fd (patch)
treed86d6d948fa35b58b0955d994291e27910355a40 /src/model/fragment.h
parent34747fcb6a29ee573cf432611359ef34fe680dec (diff)
initial support for func_rotate and friends
Diffstat (limited to 'src/model/fragment.h')
-rw-r--r--src/model/fragment.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/model/fragment.h b/src/model/fragment.h
index 409bb97..fcdeca3 100644
--- a/src/model/fragment.h
+++ b/src/model/fragment.h
@@ -74,12 +74,17 @@ private:
class FragmentGroup
{
public:
+ enum Type {None = 0, Rotate = 1, Door = 2 };
+
typedef std::list<Fragment *>::iterator iterator;
FragmentGroup();
+
~FragmentGroup();
- void clear();
+ inline const math::Vector3f &location() const { return group_location; }
+
+ inline const Type type() const { return group_type; }
inline iterator begin() { return group_fragments.begin(); }
@@ -89,11 +94,20 @@ public:
inline void push_back(Fragment *fragment) { group_fragments.push_back(fragment); }
+ inline void set_location(const math::Vector3f &location) { group_location.assign(location); }
+
+ inline void set_type(const Type type) { group_type = type; }
+
+ void clear();
private:
/// type definition for a list of model fragments
typedef std::list<Fragment *> Fragments;
Fragments group_fragments;
+ math::Vector3f group_location;
+ math::Vector3f group_forward;
+
+ Type group_type;
};
}