Lumiera  0.pre.03
»edit your freedom«
timeline.hpp
Go to the documentation of this file.
1 /*
2  TIMELINE.hpp - independent top-level element of the Session
3 
4  Copyright (C)
5  2009, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 */
13 
14 
51 #ifndef ASSET_TIMELINE_H
52 #define ASSET_TIMELINE_H
53 
54 #include "steam/asset/struct.hpp"
55 //#include "steam/mobject/mobject.hpp"
56 //#include "steam/mobject/placement.hpp"
58 //#include "steam/mobject/session/binding.hpp" ////TODO avoidable??
59 #include "lib/p.hpp"
60 #include "lib/element-tracker.hpp"
61 
62 
63 //#include <vector>
64 //#include <string>
65 
66 //using std::vector;
67 //using std::string;
68 
69 namespace steam {
70 namespace mobject {
71 namespace session {
72 
73  class Binding;
74  typedef MORef<Binding> RBinding;
75 }}
76 
77 
78 namespace asset {
79 
80 
81  class Timeline;
82  typedef lib::P<Timeline> PTimeline;
83 
84 
91  class Timeline
92  : public Struct
93  , public lib::AutoRegistered<Timeline>
94  {
96 
97  RBinding boundSequence_;
98 
99  Timeline (Ident const&, RBinding const&);
100 
101  public:
103  static PTimeline create (Asset::Ident const& idi, RBinding const& sequenceBinding);
104 
105  protected:
106  virtual void unlink ();
107 
108  };
109 
110 
111 
112 
114 
115 
116 }} // namespace steam::asset
117 #endif
An active (smart-ptr like) external reference to a specifically placed MObject "instance" within the ...
Definition: mobject-ref.hpp:85
Customised refcounting smart pointer.
Steam-Layer implementation namespace root.
Namespace of Session and user visible high-level objects.
Definition: sequence.hpp:65
Helper mixin template for implementing a type intended to participate in automatic element tracking...
External MObject/Placement reference.
a POD comprised of all the information sufficiently identifying any given Asset.
Definition: asset.hpp:149
Tracking instances automatically on creation and disposal.
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
Definition: trait.hpp:71
key abstraction: structural asset Created automatically as a sideeffect of building the structure of ...
Definition: struct.hpp:104
The asset subsystem of the Steam-Layer.
Definition: wrapperptr.hpp:35
Asset representation of structural elements within the model.