25 if (nodeStart ==
_node)
52 auto const& modelTarget =
_node->nodeDataModel();
53 NodeDataType candidateNodeDataType = modelTarget->dataType(requiredPort, portIndex);
55 if (connectionDataType.id != candidateNodeDataType.
id)
59 converter =
_scene->registry().getTypeConverter(connectionDataType, candidateNodeDataType);
63 converter =
_scene->registry().getTypeConverter(candidateNodeDataType, connectionDataType);
66 return (converter !=
nullptr);
113 auto const& state =
_connection->connectionState();
115 return state.requiredPort();
122 auto const& entries = nodeState.
getEntries(portType);
124 if (entries[portIndex].empty())
return true;
128 const auto outPolicy =
_node->nodeDataModel()->portOutConnectionPolicy(portIndex);
133 const auto inPolicy =
_node->nodeDataModel()->portInConnectionPolicy(portIndex);
148 auto outFieldNum = 0;
150 for (
auto point : outPoints)
154 outFieldNum = point.portIndex;
163 auto node_data =
_node->flowNodeData();
165 auto points = node_data.getPointsData();
169 for (
auto point : points)
179 auto inField =
_inNode->getInputFields()[
_inPoint.portIndex - fieldNum];
181 field->connect(inField);
std::function< SharedNodeData(SharedNodeData)> TypeConverter
static const int INVALID_PORT
PortType oppositePort(PortType port)
bool canConnect(PortIndex &portIndex, TypeConverter &converter)
std::shared_ptr< Node > _inNode
connectionPointData _inPoint
bool isNodePortAccessible(PortType portType, PortIndex portIndex) const
connectionPointData _outPoint
std::shared_ptr< Node > _outNode
WtInteraction(WtNode &node, WtConnection &connection, WtFlowScene &scene, connectionPointData inPoint, connectionPointData outPoint, std::shared_ptr< Node > inNode, std::shared_ptr< Node > outNode)
PortType connectionRequiredPort() const
void setInData(PortIndex portIndex)
WtConnection * _connection
virtual bool tryInData(PortIndex portIndex, std::shared_ptr< WtNodeData > nodeData)
virtual std::shared_ptr< WtNodeData > outData(PortIndex port)=0
WtNodeDataModel * nodeDataModel() const
std::vector< ConnectionPtrSet > const & getEntries(PortType) const