diff options
author | Stijn Buys <ingar@osirion.org> | 2008-12-20 14:54:17 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-12-20 14:54:17 +0000 |
commit | f36ec64b08c791e7b907ed8efd9a2baa44e7f8fd (patch) | |
tree | d86d6d948fa35b58b0955d994291e27910355a40 /src/model/fragment.h | |
parent | 34747fcb6a29ee573cf432611359ef34fe680dec (diff) |
initial support for func_rotate and friends
Diffstat (limited to 'src/model/fragment.h')
-rw-r--r-- | src/model/fragment.h | 16 |
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; }; } |