diff options
Diffstat (limited to 'src/gui/util/qshadergraph.cpp')
-rw-r--r-- | src/gui/util/qshadergraph.cpp | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/gui/util/qshadergraph.cpp b/src/gui/util/qshadergraph.cpp index 7485c179db..b05b710713 100644 --- a/src/gui/util/qshadergraph.cpp +++ b/src/gui/util/qshadergraph.cpp @@ -82,8 +82,8 @@ namespace auto statement = QShaderGraph::Statement(); statement.node = node; - const auto ports = node.ports(); - for (const auto &port : ports) { + const QVector<QShaderNodePort> ports = node.ports(); + for (const QShaderNodePort &port : ports) { if (port.direction == QShaderNodePort::Input) { statement.inputs.append(-1); } else { @@ -99,19 +99,19 @@ namespace const QUuid &uuid) { auto targetStatement = idHash.value(uuid); - for (const auto &edge : edges) { + for (const QShaderGraph::Edge &edge : edges) { if (edge.targetNodeUuid != uuid) continue; - const auto sourceStatement = idHash.value(edge.sourceNodeUuid); - const auto sourcePortIndex = sourceStatement.portIndex(QShaderNodePort::Output, edge.sourcePortName); - const auto targetPortIndex = targetStatement.portIndex(QShaderNodePort::Input, edge.targetPortName); + const QShaderGraph::Statement sourceStatement = idHash.value(edge.sourceNodeUuid); + const int sourcePortIndex = sourceStatement.portIndex(QShaderNodePort::Output, edge.sourcePortName); + const int targetPortIndex = targetStatement.portIndex(QShaderNodePort::Input, edge.targetPortName); if (sourcePortIndex < 0 || targetPortIndex < 0) continue; - const auto &sourceOutputs = sourceStatement.outputs; - auto &targetInputs = targetStatement.inputs; + const QVector<int> sourceOutputs = sourceStatement.outputs; + QVector<int> &targetInputs = targetStatement.inputs; targetInputs[targetPortIndex] = sourceOutputs[sourcePortIndex]; } return targetStatement; @@ -125,9 +125,9 @@ QUuid QShaderGraph::Statement::uuid() const noexcept int QShaderGraph::Statement::portIndex(QShaderNodePort::Direction direction, const QString &portName) const noexcept { - const auto ports = node.ports(); + const QVector<QShaderNodePort> ports = node.ports(); int index = 0; - for (const auto &port : ports) { + for (const QShaderNodePort &port : ports) { if (port.name == portName && port.direction == direction) return index; else if (port.direction == direction) @@ -180,7 +180,7 @@ QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringLis [enabledLayers] (const QString &s) { return enabledLayers.contains(s); }); }; - const auto enabledNodes = [this, intersectsEnabledLayers] { + const QVector<QShaderNode> enabledNodes = [this, intersectsEnabledLayers] { auto res = QVector<QShaderNode>(); std::copy_if(m_nodes.cbegin(), m_nodes.cend(), std::back_inserter(res), @@ -190,7 +190,7 @@ QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringLis return res; }(); - const auto enabledEdges = [this, intersectsEnabledLayers] { + const QVector<Edge> enabledEdges = [this, intersectsEnabledLayers] { auto res = QVector<Edge>(); std::copy_if(m_edges.cbegin(), m_edges.cend(), std::back_inserter(res), @@ -200,18 +200,18 @@ QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringLis return res; }(); - const auto idHash = [enabledNodes] { + const QHash<QUuid, Statement> idHash = [enabledNodes] { auto nextVarId = 0; auto res = QHash<QUuid, Statement>(); - for (const auto &node : enabledNodes) + for (const QShaderNode &node : enabledNodes) res.insert(node.uuid(), nodeToStatement(node, nextVarId)); return res; }(); auto result = QVector<Statement>(); - auto currentEdges = enabledEdges; - auto currentUuids = [enabledNodes] { - const auto inputs = copyOutputNodes(enabledNodes); + QVector<Edge> currentEdges = enabledEdges; + QVector<QUuid> currentUuids = [enabledNodes] { + const QVector<QShaderNode> inputs = copyOutputNodes(enabledNodes); auto res = QVector<QUuid>(); std::transform(inputs.cbegin(), inputs.cend(), std::back_inserter(res), @@ -226,14 +226,14 @@ QVector<QShaderGraph::Statement> QShaderGraph::createStatements(const QStringLis // because we want to track the dependencies from the output nodes and not the // input nodes while (!currentUuids.isEmpty()) { - const auto uuid = currentUuids.takeFirst(); + const QUuid uuid = currentUuids.takeFirst(); result.append(completeStatement(idHash, enabledEdges, uuid)); - const auto outgoing = outgoingEdges(currentEdges, uuid); - for (const auto &outgoingEdge : outgoing) { + const QVector<QShaderGraph::Edge> outgoing = outgoingEdges(currentEdges, uuid); + for (const QShaderGraph::Edge &outgoingEdge : outgoing) { currentEdges.removeAll(outgoingEdge); const QUuid nextUuid = outgoingEdge.sourceNodeUuid; - const auto incoming = incomingEdges(currentEdges, nextUuid); + const QVector<QShaderGraph::Edge> incoming = incomingEdges(currentEdges, nextUuid); if (incoming.isEmpty()) { currentUuids.append(nextUuid); } |