minor improvements

This commit is contained in:
itsmattkc
2019-09-17 21:25:00 +10:00
parent 1207e180ec
commit 16a4897236
3 changed files with 56 additions and 7 deletions
+34
View File
@@ -327,6 +327,26 @@ bool Node::OutputsTo(Node *n)
return false;
}
bool Node::HasInputs()
{
return HasParamOfType(NodeParam::kInput, false);
}
bool Node::HasOutputs()
{
return HasParamOfType(NodeParam::kOutput, false);
}
bool Node::HasConnectedInputs()
{
return HasParamOfType(NodeParam::kInput, true);
}
bool Node::HasConnectedOutputs()
{
return HasParamOfType(NodeParam::kOutput, true);
}
void Node::Hash(QCryptographicHash *hash, NodeOutput* from, const rational &time)
{
// Add this Node's ID
@@ -373,6 +393,20 @@ bool Node::HasParamWithID(const QString &id)
return false;
}
bool Node::HasParamOfType(NodeParam::Type type, bool must_be_connected)
{
QList<NodeParam*> params = parameters();
foreach (NodeParam* p, params) {
if (p->type() == type
&& (p->IsConnected() || !must_be_connected)) {
return true;
}
}
return false;
}
void Node::InputChanged(rational start, rational end)
{
InvalidateCache(start, end, static_cast<NodeInput*>(sender()));