Lumiera  0.pre.03
»edit your freedom«
dispatch-table.hpp
Go to the documentation of this file.
1 /*
2  DISPATCH-TABLE.hpp - implementation of frame job creation
3 
4  Copyright (C) Lumiera.org
5  2012, Hermann Vosseler <Ichthyostega@web.de>
6 
7  This program is free software; you can redistribute it and/or
8  modify it under the terms of the GNU General Public License as
9  published by the Free Software Foundation; either version 2 of
10  the License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 
21 */
22 
23 
30 #ifndef STEAM_ENGINE_DISPATCH_TABLE_H
31 #define STEAM_ENGINE_DISPATCH_TABLE_H
32 
33 #include "steam/common.hpp"
35 
36 
37 
38 namespace steam {
39 namespace engine {
40 
41  using lib::time::TimeSpan;
42  using lib::time::FSecs;
43  using lib::time::Time;
44 //
45 // class ExitNode;
46 
51  : public Dispatcher
52  {
53 
54  /* ==== Dispatcher interface ==== */
55 
56  size_t resolveModelPort (ModelPort) override;
57  JobTicket& getJobTicketFor (size_t, TimeValue nominalTime) override;
58 
59  protected:
62 
63  public:
65  : segment_(Time::ZERO, FSecs(5))
66  {
67  UNIMPLEMENTED ("anything regarding the Engine backbone");
68  }
69 
70  };
71 
72 
73 
74 }} // namespace steam::engine
75 #endif
Basic set of definitions and includes commonly used together.
Service abstraction within the render engine for generating render jobs.
Internal abstraction: a service within the engine for translating a logical calculation stream (corre...
Definition: dispatcher.hpp:90
Steam-Layer implementation namespace root.
Lumiera&#39;s internal time value datatype.
Definition: timevalue.hpp:308
size_t resolveModelPort(ModelPort) override
translate a generic ModelPort spec into the specific index number applicable at the Timeline referred...
boost::rational< int64_t > FSecs
rational representation of fractional seconds
Definition: timevalue.hpp:229
Handle designating a point within the model, where actually output data can be pulled.
Definition: model-port.hpp:104
A time interval anchored at a specific point in time.
Definition: timevalue.hpp:582
basic constant internal time value.
Definition: timevalue.hpp:142
execution plan for pulling a specific exit node.
Definition: job-ticket.hpp:87
TimeSpan segment_
timerange covered by this RenderGraph
JobTicket & getJobTicketFor(size_t, TimeValue nominalTime) override
Core Dispatcher operation: locate the appropriate Segment and retrieve/derive a »blueprint« for rende...