Files
CavinHuang-comfyui-nodes-docs/docs/ImpactLogicalOperators.md
2024-05-26 20:35:16 +08:00

2.1 KiB

Documentation

ImpactLogicalOperators节点的'doit'方法旨在对两个布尔输入执行逻辑运算。它抽象地代表了逻辑推理的基本概念,其中节点处理输入以根据指定的运算符产生单个布尔输出。该节点在决策过程中起着关键作用,其中结果取决于两个条件之间的逻辑关系。

Input types

Required

  • operator
    • ‘operator’参数决定了要执行的逻辑操作类型。它至关重要,因为它决定了节点将在两个布尔输入之间建立的逻辑关系,从而影响节点的执行和最终输出结果。
    • Comfy dtype: STRING
    • Python dtype: str
  • bool_a
    • ‘bool_a’参数代表逻辑操作的第一个布尔输入。它的作用很重要,因为它构成了节点设计用来评估的逻辑比较或连接的一半。
    • Comfy dtype: BOOLEAN
    • Python dtype: bool
  • bool_b
    • ‘bool_b’参数是逻辑操作的第二个输入。它至关重要,因为它补充了第一个布尔输入‘bool_a’,以完成节点处理的逻辑表达式。
    • Comfy dtype: BOOLEAN
    • Python dtype: bool

Output types

  • result
    • ‘result’参数是由节点执行的逻辑操作的布尔结果。它表示在评估两个输入布尔值之间的逻辑关系后得到的最终输出。
    • Comfy dtype: BOOLEAN
    • Python dtype: bool

Usage tips

  • Infra type: CPU

Source code

class ImpactLogicalOperators:

    @classmethod
    def INPUT_TYPES(cls):
        return {'required': {'operator': (['and', 'or', 'xor'],), 'bool_a': ('BOOLEAN', {'forceInput': True}), 'bool_b': ('BOOLEAN', {'forceInput': True})}}
    FUNCTION = 'doit'
    CATEGORY = 'ImpactPack/Logic'
    RETURN_TYPES = ('BOOLEAN',)

    def doit(self, operator, bool_a, bool_b):
        if operator == 'and':
            return (bool_a and bool_b,)
        elif operator == 'or':
            return (bool_a or bool_b,)
        else:
            return (bool_a != bool_b,)