22    Wt::WPainter* painter)
 
   24    auto connection = std::make_shared<WtConnection>(connectedPort, node, portIndex);
 
   29    connection->setGraphicsObject(std::move(cgo));
 
 
   41    Wt::WPainter* painter,
 
   44    auto connection = std::make_shared<WtConnection>(
 
   60    connection->setGraphicsObject(std::move(cgo));
 
 
   85    Wt::WPaintDevice* paintDevice = painter->device();
 
   90    node->setGraphicsObject(std::move(ngo));
 
   92    auto nodePtr = node.get();
 
   93    _nodes[node->id()] = std::move(node);
 
 
  110    for (
const auto& _node : 
_nodes)
 
  112        visitor(_node.second.get());
 
 
  118    for (
const auto& _node : 
_nodes)
 
  120        visitor(_node.second->nodeDataModel());
 
 
  126    std::set<Wt::Guid> visitedNodesSet;
 
  130            for (
unsigned int i = 0; i < model.nPorts(
PortType::In); ++i)
 
  142    for (
auto const& _node : 
_nodes)
 
  144        auto const& node = _node.second;
 
  147        if (isNodeLeaf(*node, *model))
 
  150            visitedNodesSet.insert(node->
id());
 
  154    auto areNodeInputsVisitedBefore =
 
  175    while (
_nodes.size() != visitedNodesSet.size())
 
  177        for (
auto const& _node : 
_nodes)
 
  179            auto const& node = _node.second;
 
  180            if (visitedNodesSet.find(node->
id()) != visitedNodesSet.end())
 
  185            if (areNodeInputsVisitedBefore(*node, *model))
 
  188                visitedNodesSet.insert(node->
id());
 
 
  217        auto const& nodeEntries = nodeState.
getEntries(portType);
 
 
  263    std::vector<WtNode*> 
nodes;
 
  265    std::transform(
_nodes.begin(),
 
  267        std::back_inserter(
nodes),
 
  268        [](std::pair<
Wt::Guid const, std::unique_ptr<WtNode>> 
const& p) { return p.second.get(); });
 
 
std::function< SharedNodeData(SharedNodeData)> TypeConverter
 
void removeFromNodes() const
 
void iterateOverNodes(std::function< void(WtNode *)> const &visitor)
 
void iterateOverNodeDataDependentOrder(std::function< void(WtNodeDataModel *)> const &visitor)
 
void setRegistry(std::shared_ptr< WtDataModelRegistry > registry)
 
std::map< dyno::ObjectId, WtNode * > getNodeMap()
 
std::vector< WtNode * > allNodes() const
 
WtNode & createNode(std::unique_ptr< WtNodeDataModel > &&dataModel, Wt::WPainter *painter, int selectType)
 
void deleteConnection(WtConnection &connection)
 
std::shared_ptr< WtDataModelRegistry > _registry
 
void iterateOverNodeData(std::function< void(WtNodeDataModel *)> const &visitor)
 
std::map< dyno::ObjectId, WtNode * > OutNodeMap
 
void clearNode(WtNode &node)
 
std::shared_ptr< WtConnection > createConnection(PortType connectedPort, WtNode &node, PortIndex portIndex, Wt::WPainter *painter)
 
std::unordered_map< Wt::Guid, std::unique_ptr< WtNode > > const & nodes() const
 
Wt::WPointF getNodePosition(WtNode const &node) const
 
void removeNode(WtNode &node)
 
WtDataModelRegistry & registry() const
 
std::unordered_map< Wt::Guid, SharedConnection > _connections
 
std::unordered_map< Wt::Guid, std::shared_ptr< WtConnection > > const & connections() const
 
std::unordered_map< Wt::Guid, UniqueNode > _nodes
 
Wt::WPointF getPos() const
 
WtNodeDataModel * nodeDataModel() const
 
void onDataUpdated(PortIndex index)
 
WtNodeGraphicsObject const & nodeGraphicsObject() const
 
void addConnection(PortIndex portIndex, std::shared_ptr< WtConnection > connection)
 
WtNodeState const & nodeState() const
 
std::vector< ConnectionPtrSet > const & getEntries(PortType) const
 
ConnectionPtrSet connections(PortType portType, PortIndex portIndex) const
 
void setConnection(PortType portType, PortIndex portIndex, WtConnection &connection)
 
std::unique_ptr< T > make_unique(Args &&... args)