diff options
Diffstat (limited to 'core/src/Model/Workflow/Nodes/NumericNodes.cpp')
-rw-r--r-- | core/src/Model/Workflow/Nodes/NumericNodes.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/core/src/Model/Workflow/Nodes/NumericNodes.cpp b/core/src/Model/Workflow/Nodes/NumericNodes.cpp index f054421..138b35d 100644 --- a/core/src/Model/Workflow/Nodes/NumericNodes.cpp +++ b/core/src/Model/Workflow/Nodes/NumericNodes.cpp @@ -8,7 +8,8 @@ #include <cassert> #include <utility> -WorkflowNode::Kind NumericOperationNode::OperationTypeToNodeKind(OperationType type) { +WorkflowNode::Kind NumericOperationNode::OperationTypeToNodeKind(OperationType type) +{ switch (type) { case Addition: return KD_NumericAddition; case Subtraction: return KD_NumericSubtraction; @@ -18,7 +19,8 @@ WorkflowNode::Kind NumericOperationNode::OperationTypeToNodeKind(OperationType t } } -NumericOperationNode::OperationType NumericOperationNode::NodeKindToOperationType(Kind kind) { +NumericOperationNode::OperationType NumericOperationNode::NodeKindToOperationType(Kind kind) +{ switch (kind) { case KD_NumericAddition: return Addition; case KD_NumericSubtraction: return Subtraction; @@ -28,13 +30,15 @@ NumericOperationNode::OperationType NumericOperationNode::NodeKindToOperationTyp } } -bool NumericOperationNode::IsInstance(const WorkflowNode* node) { +bool NumericOperationNode::IsInstance(const WorkflowNode* node) +{ return node->GetKind() >= KD_NumericAddition && node->GetKind() <= KD_NumericDivision; } NumericOperationNode::NumericOperationNode(OperationType type) : WorkflowNode(OperationTypeToNodeKind(type)) - , mType{ type } { + , mType{ type } +{ mInputs.resize(2); mInputs[0].MatchingType = BaseValue::KD_Numeric; mInputs[1].MatchingType = BaseValue::KD_Numeric; @@ -43,7 +47,8 @@ NumericOperationNode::NumericOperationNode(OperationType type) mOutputs[0].MatchingType = BaseValue::KD_Numeric; } -void NumericOperationNode::Evaluate(WorkflowEvaluationContext& ctx) { +void NumericOperationNode::Evaluate(WorkflowEvaluationContext& ctx) +{ auto lhsVal = dyn_cast<NumericValue>(ctx.GetConnectionValue(mInputs[0])); if (!lhsVal) return; double lhs = lhsVal->GetValue(); @@ -74,13 +79,16 @@ void NumericOperationNode::Evaluate(WorkflowEvaluationContext& ctx) { ctx.SetConnectionValue(mOutputs[0], std::move(value)); } -bool NumericExpressionNode::IsInstance(const WorkflowNode* node) { +bool NumericExpressionNode::IsInstance(const WorkflowNode* node) +{ return node->GetKind() == KD_NumericExpression; } NumericExpressionNode::NumericExpressionNode() - : WorkflowNode(KD_NumericExpression) { + : WorkflowNode(KD_NumericExpression) +{ } -void NumericExpressionNode::Evaluate(WorkflowEvaluationContext& ctx) { +void NumericExpressionNode::Evaluate(WorkflowEvaluationContext& ctx) +{ } |