-
David Thompson authored
Ports are used to define the interface of a Task. As in the case of Tasks, Ports are components of a Project and are managed by the Task Manager. Ports have a direction - they can be either inputs (meaning the owning task consumes the data coming in from the port) or outputs (meaning that the Task is producing data on to the port). An input Port can either be connected to another Task's output or it can be connected to another Persistent Object. The data a Port can consume or produce is represented by the virtual PortData class - ObjectsInRoles is a non-abstract example of PortData. Ports and their connections are serialized and de-serialized when saving a Project. Operations to connect and disconnect ports have been created. qtTaskPortNode and qtTaskPortArc classes have been added in order to visualize Ports and their connections. Modified FillOutAttribute Task to make of Ports. Also made the following non-related changes: Fix `Categories::Expression::compare()`. Add `smtk::common::Paths::findAvailablePlugins()`. `qtDiagramGenerator::updateScene()` has been split into two methods so that all nodes are created before arcs are updated. This allows arcs between nodes managed by different generators to be properly restored when loading project files. Co-authored-by: Robert O'Bara <bob.obara@kitware.com> Co-authored-by: David Thompson <david.thompson@kitware.com>
8c31efbd
Loading