LUMIERA.clone/src/steam/engine/turnout-system.cpp
Ichthyostega c0d5341b15 Invocation: capture idea for sharpened invocation structure
- the starting point is the idea to build a dedicated ''turnout system''
- `StateAdapter`, `BuffTable` ⟶ `FeedManifold` and _Invocation_ will be fused
- actually, the `TurnoutSystem` will be ''pulled'' and orchestrate the invocation
- the structure is assumed to be recursive

The essence of the Node-Invocation, as developed 2009 / 2011 remains intact,
yet it will be organised along a clearer structure
2024-05-12 17:27:07 +02:00

94 lines
2.3 KiB
C++

/*
TurnoutSystem - Encapsulation of the state corresponding to a render calculation
Copyright (C) Lumiera.org
2008, Hermann Vosseler <Ichthyostega@web.de>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *****************************************************/
/** @file turnout-system.cpp
** Implementation details of some statefull operations needed from within the render calculation.
** @todo unfinished draft from 2009 regarding the render process
*/
#include "steam/engine/turnout-system.hpp"
namespace steam {
namespace engine {
namespace { // Details...
} // (END) Details...
// using mobject::Placement;
// using mobject::session::Effect;
/** @internal */
BuffHandle
StateProxy::allocateBuffer (const lumiera::StreamType*)
{
UNIMPLEMENTED ("allocate a suitable buffer to hold a frame of the denoted type");
}
void
StateProxy::releaseBuffer (BuffHandle& bh)
{
UNIMPLEMENTED ("free a buffer");
}
BuffHandle
StateProxy::fetch (FrameID const& fID)
{
UNIMPLEMENTED ("fetch a buffer with input data");
}
void
StateProxy::is_calculated (BuffHandle const& bh)
{
UNIMPLEMENTED ("declare a buffer as fully calculated and done");
}
FrameID const&
StateProxy::genFrameID (NodeID const&, uint chanNo)
{
UNIMPLEMENTED ("derive/generate an ID to denote this specific fame+Node position in the graph");
}
BuffTableStorage&
StateProxy::getBuffTableStorage() /////////////TODO need somehow to denote the specific storage requirements
{
UNIMPLEMENTED ("allocate a chunk of storage suitable for holding the buffer pointer tables");
}
}} // namespace engine