| OpenMS 2.5.0

Public Member Functions | List of all members
TOPPASSplitterVertex Class Reference
Visual » TOPPAS

A special vertex that allows to split a list of inputs. More...

`#include <OpenMS/VISUAL/TOPPASSplitterVertex.h>`

Inheritance diagram for TOPPASSplitterVertex:

## Public Member Functions

| TOPPASSplitterVertex ()=default
| Default constructor. More...
| TOPPASSplitterVertex (const TOPPASSplitterVertex &rhs)
| Copy constructor. More...
| ~TOPPASSplitterVertex () override=default
| Destructor. More...
TOPPASSplitterVertex & | operator= (const TOPPASSplitterVertex &rhs)
| Assignment operator. More...
String | getName () const override
| returns "SplitterVertex" More...
void | run () override
| check if upstream nodes are finished and call downstream nodes More...
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
QRectF | boundingRect () const override
| Returns the bounding rectangle of this item. More...
void | markUnreachable () override
| Marks this node (and everything further downstream) as unreachable. Overridden behavior in mergers. More...
Public Member Functions inherited from TOPPASVertex
| TOPPASVertex ()
| Default Constructor. More...
| TOPPASVertex (const TOPPASVertex &rhs)
| Copy constructor. More...
| ~TOPPASVertex () override=default
| Destructor. More...
TOPPASVertex & | operator= (const TOPPASVertex &rhs)
| Assignment operator. More...
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *, bool round_shape=true)
| base paint method for all derived classes. should be called first in child-class paint More...
bool | buildRoundPackages (RoundPackages &pkg, String &error_msg)
bool | isUpstreamFinished () const
| check if all upstream nodes are ready to go ( 'finished_' is true) More...
QPainterPath | shape () const final
| Returns a more precise shape. More...
ConstEdgeIterator | outEdgesBegin () const
| Returns begin() iterator of outgoing edges. More...
ConstEdgeIterator | outEdgesEnd () const
| Returns end() iterator of outgoing edges. More...
ConstEdgeIterator | inEdgesBegin () const
| Returns begin() iterator of incoming edges. More...
ConstEdgeIterator | inEdgesEnd () const
| Returns end() iterator of incoming edges. More...
Size | incomingEdgesCount ()
| Returns the number of incoming edges. More...
Size | outgoingEdgesCount ()
| Returns the number of outgoing edges. More...
void | addInEdge (TOPPASEdge *edge)
| Adds an incoming edge. More...
void | addOutEdge (TOPPASEdge *edge)
| Adds an outgoing edge. More...
void | removeInEdge (TOPPASEdge *edge)
| Removes an incoming edge. More...
void | removeOutEdge (TOPPASEdge *edge)
| Removes an outgoing edge. More...
DFS_COLOR | getDFSColor ()
| Returns the DFS color of this node. More...
void | setDFSColor (DFS_COLOR color)
| Sets the DFS color of this node. More...
TOPPASVertex::SUBSTREESTATUS | getSubtreeStatus () const
| Checks if all tools in the subtree below this node are finished. More...
bool | isTopoSortMarked ()
| Returns whether the vertex has been marked already (during topological sort) More...
void | setTopoSortMarked (bool b)
| (Un)marks the vertex (during topological sort) More...
UInt | getTopoNr ()
| Returns the topological sort number. More...
virtual void | setTopoNr (UInt nr)
| Sets the topological sort number (overridden in tool and output vertices) More...
virtual void | reset (bool reset_all_files=false)
bool | isReachable ()
| Returns whether this node is reachable. More...
bool | isFinished () const
| Returns whether this node has already been processed during the current pipeline execution. More...
virtual bool | invertRecylingMode ()
| invert status of recycling More...
bool | isRecyclingEnabled () const
| get status of recycling More...
void | setRecycling (const bool is_enabled)
| set status of recycling More...
QStringList | getFileNames (int param_index, int round) const
| gets filenames for a certain output parameter (from this vertex), for a certain TOPPAS round More...
QStringList | getFileNames () const
| get all output files for all parameters for all rounds More...
const RoundPackages & | getOutputFiles () const
bool | allInputsReady ()
| check if all upstream nodes are finished More...

## Protected Member Functions

reimplemented Qt events
void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *e) override
Protected Member Functions inherited from TOPPASVertex
virtual void | moveNewEdgeTo_ (const QPointF &pos)
| Moves the target pos of the edge which is just being created to `pos`. More...
String | get3CharsNumber_ (UInt number) const
| Returns a three character string (i.e. 001 instead of 1) for the given `number`. More...
void | debugOut_ (const String &) const
| Displays the debug output `message`, if TOPPAS_DEBUG is defined. More...
void | mouseReleaseEvent (QGraphicsSceneMouseEvent *e) override
void | mousePressEvent (QGraphicsSceneMouseEvent *e) override
void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *e) override
void | mouseMoveEvent (QGraphicsSceneMouseEvent *e) override
void | contextMenuEvent (QGraphicsSceneContextMenuEvent *event) override

## Additional Inherited Members

Public Types inherited from TOPPASVertex
enum | DFS_COLOR { DFS_WHITE, DFS_GRAY, DFS_BLACK }
| The color of a vertex during depth-first search. More...
enum | SUBSTREESTATUS { TV_ALLFINISHED, TV_UNFINISHED, TV_UNFINISHED_INBRANCH }
| The color of a vertex during depth-first search. More...
typedef QList< TOPPASEdge * > | EdgeContainer
| The container for in/out edges. More...
typedef EdgeContainer::iterator | EdgeIterator
| A mutable iterator for in/out edges. More...
typedef EdgeContainer::const_iterator | ConstEdgeIterator
| A const iterator for in/out edges. More...
typedef std::map< Int, VertexRoundPackage > | RoundPackage
typedef RoundPackage::const_iterator | RoundPackageConstIt
typedef RoundPackage::iterator | RoundPackageIt
typedef std::vector< RoundPackage > | RoundPackages
| all information a node needs to process all rounds More...
Public Slots inherited from TOPPASVertex
virtual void | inEdgeHasChanged ()
| Called by an incoming edge when it has changed. More...
virtual void | outEdgeHasChanged ()
| Called by an outgoing edge when it has changed. More...
Signals inherited from TOPPASVertex
void | clicked ()
| Emitted when this item is clicked. More...
void | released ()
| Emitted when this item is released. More...
void | hoveringEdgePosChanged (const QPointF &new_pos)
| Emitted when the position of the hovering edge changes. More...
void | newHoveringEdge (const QPointF &pos)
| Emitted when a new out edge is supposed to be created. More...
void | finishHoveringEdge ()
| Emitted when the mouse is released after having dragged a new edge somewhere. More...
void | somethingHasChanged ()
| Emitted when something has changed. More...
void | itemDragged (qreal dx, qreal dy)
| Emitted when the item is dragged. More...
void | parameterChanged (const bool invalidates_running_pipeline)
Protected Attributes inherited from TOPPASVertex
EdgeContainer | in_edges_
| The list of incoming edges. More...
EdgeContainer | out_edges_
| The list of outgoing edges. More...
bool | edge_being_created_ {false}
| Indicates whether a new out edge is currently being created. More...
QColor | pen_color_ {Qt::black}
| The color of the pen. More...
QColor | brush_color_ { Qt::lightGray}
| The color of the brush. More...
DFS_COLOR | dfs_color_ {DFS_WHITE}
| The DFS color of this node. More...
bool | topo_sort_marked_ {false}
| "marked" flag for topological sort More...
UInt | topo_nr_
| The number in a topological sort of the entire graph. More...
RoundPackages | output_files_
| Stores the current output file names for each output parameter. More...
int | round_total_ {-1}
| number of rounds this node will do ('Merge All' nodes will pass everything, thus do only one round) More...
int | round_counter_ {0}
| currently finished number of rounds (TODO: do we need that?) More...
bool | finished_ {false}
| Stores whether this node has already been processed during the current pipeline execution. More...
bool | reachable_ {true}
| Indicates whether this node is reachable (i.e. there is an input node somewhere further upstream) More...
bool | allow_output_recycling_ {false}
| shall subsequent tools be allowed to recycle the output of this node to match the number of rounds imposed by other parent nodes? More...

## Detailed Description

A special vertex that allows to split a list of inputs.

Tools that produce lists of output files (several files in each processing round, e.g. map alignment tools) cannot directly provide input for tools that only take a single input file in TOPPAS. This "Splitter" node provides the necessary glue, by splitting a list of output files into several rounds of single input files.

See the Collector node for the opposite operation.

## Constructor & Destructor Documentation

## ◆ TOPPASSplitterVertex() [1/2]

TOPPASSplitterVertex | ( |  | ) |

default

Default constructor.

## ◆ TOPPASSplitterVertex() [2/2]

TOPPASSplitterVertex | ( | const TOPPASSplitterVertex & | rhs | ) |

Copy constructor.

## ◆ ~TOPPASSplitterVertex()

~TOPPASSplitterVertex | ( |  | ) |

override default

Destructor.

## Member Function Documentation

## ◆ boundingRect()

QRectF boundingRect | ( |  | ) | const

override virtual

Returns the bounding rectangle of this item.

Implements TOPPASVertex.

## ◆ getName()

String getName | ( |  | ) | const

override virtual

returns "SplitterVertex"

Implements TOPPASVertex.

## ◆ markUnreachable()

void markUnreachable | ( |  | ) |

override virtual

Marks this node (and everything further downstream) as unreachable. Overridden behavior in mergers.

Reimplemented from TOPPASVertex.

## ◆ mouseDoubleClickEvent()

void mouseDoubleClickEvent | ( | QGraphicsSceneMouseEvent * | e | ) |

override protected

## ◆ operator=()

TOPPASSplitterVertex& operator= | ( | const TOPPASSplitterVertex & | rhs | ) |

Assignment operator.

## ◆ paint()

void paint | ( | QPainter * | painter,
|  | const QStyleOptionGraphicsItem * | option,
|  | QWidget * | widget
| ) |  |

override

## ◆ run()

void run | ( |  | ) |

override virtual

check if upstream nodes are finished and call downstream nodes

Reimplemented from TOPPASVertex.