Flow Connectors - IRobot1/three-flow-ts GitHub Wiki
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) }