Skip to content

Flow Connectors

anidivr edited this page Nov 28, 2023 · 4 revisions

FlowConnectors handles the creation, addition, and removal of connectors for nodes.

Constructors

  • FlowConnectors(diagram: FlowDiagram)
    • Description: Listens for nodes to be added to the diagram.
    • Parameters:
      • diagram (FlowDiagram): The flow diagram to which these connectors belong.
    • Example:
      const flowDiagram = new FlowDiagram();
      const flowConnectors = new FlowConnectors(flowDiagram);

Public Methods

  • hasNode(id: string): NodeConnectors | undefined

    • Description: Checks if the specified node has connectors and returns them if available.
    • Parameters:
      • id (string): The ID of the node.
    • Returns: NodeConnectors | undefined
    • Usage:
      const nodeConnectors = flowConnectors.hasNode('node1');
  • addConnectors(node: FlowNode, connectors: Array)

    • Description: Adds connectors to a specified node.
    • Parameters:
      • node (FlowNode): The node to which connectors are to be added.
      • connectors (Array): An array of connector parameters.
    • Returns: void
    • Usage:
      flowConnectors.addConnectors(flowNode, [{id: 'connector1', radius: 0.05}]);
  • removeConnectors(node: FlowNode, connectors: Array)

    • Description: Removes specified connectors from a node.
    • Parameters:
      • node (FlowNode): The node from which connectors are to be removed.
      • connectors (Array): An array of connector parameters to remove.
    • Returns: void
    • Usage:
      flowConnectors.removeConnectors(flowNode, [{id: 'connector1'}]);

Override Methods

  • createGeometry(parameters: FlowConnectorParameters): BufferGeometry
    • Description: Creates geometry for a connector. Can be overridden to customize the connector's shape.
    • Parameters:
      • parameters (FlowConnectorParameters): Parameters for creating the connector geometry.
    • Returns: BufferGeometry
    • Usage:
      class CustomFlowConnectors extends FlowConnectors {
        override createGeometry(parameters: FlowConnectorParameters): BufferGeometry {
          return new CustomGeometry(parameters.radius)
        }
      }
      // or
      flowConnectors.createGeometry = (parameters: FlowConnectorParameters): BufferGeometry => {
        return new CircleGeometry(parameters.radius)
      }

Internal Classes

Node Connectors

Connector Mesh

Clone this wiki locally