VTK
vtkBoostBreadthFirstSearch.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkBoostBreadthFirstSearch.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
34 #ifndef vtkBoostBreadthFirstSearch_h
35 #define vtkBoostBreadthFirstSearch_h
36 
37 #include "vtkInfovisBoostGraphAlgorithmsModule.h" // For export macro
38 #include "vtkStdString.h" // For string type
39 #include "vtkVariant.h" // For variant type
40 
41 #include "vtkGraphAlgorithm.h"
42 
43 class vtkSelection;
44 
45 class VTKINFOVISBOOSTGRAPHALGORITHMS_EXPORT vtkBoostBreadthFirstSearch : public vtkGraphAlgorithm
46 {
47 public:
50  void PrintSelf(ostream& os, vtkIndent indent);
51 
53 
56  void SetOriginSelection(vtkSelection *s);
58  {
59  this->SetInputConnection(1, algOutput);
60  }
62 
67  void SetOriginVertex(vtkIdType index);
68 
76  void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
77 
85  void SetOriginVertexString(char* arrayName, char* value);
86 
88 
92  vtkSetStringMacro(OutputArrayName);
94 
96 
102  vtkSetMacro(OriginFromSelection, bool);
103  vtkGetMacro(OriginFromSelection, bool);
104  vtkBooleanMacro(OriginFromSelection, bool);
106 
108 
113  vtkGetMacro(OutputSelection, bool);
114  vtkSetMacro(OutputSelection, bool);
115  vtkBooleanMacro(OutputSelection, bool);
117 
119 
124  vtkSetStringMacro(OutputSelectionType);
126 
127 protected:
130 
131  virtual int RequestData(
132  vtkInformation *,
135 
136  virtual int FillInputPortInformation(
137  int port, vtkInformation* info);
138 
139  virtual int FillOutputPortInformation(
140  int port, vtkInformation* info);
141 
142 private:
143 
144  vtkIdType OriginVertexIndex;
145  char* InputArrayName;
146  char* OutputArrayName;
147  vtkVariant OriginValue;
148  bool OutputSelection;
149  bool OriginFromSelection;
150  char* OutputSelectionType;
151 
153 
156  vtkSetStringMacro(InputArrayName);
158 
163  vtkIdType GetVertexIndex(
164  vtkAbstractArray *abstract,vtkVariant value);
165 
166  vtkBoostBreadthFirstSearch(const vtkBoostBreadthFirstSearch&) VTK_DELETE_FUNCTION;
167  void operator=(const vtkBoostBreadthFirstSearch&) VTK_DELETE_FUNCTION;
168 };
169 
170 #endif
static vtkGraphAlgorithm * New()
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:41
Boost breadth_first_search on a vtkGraph.
Store vtkAlgorithm input/output information.
Abstract superclass for all arrays.
A node in a selection tree.
Definition: vtkSelection.h:37
int vtkIdType
Definition: vtkType.h:345
Superclass for algorithms that produce only graph as output.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
A atomic type representing the union of many types.
Definition: vtkVariant.h:69
Proxy object to connect input/output ports.
void SetOriginSelectionConnection(vtkAlgorithmOutput *algOutput)
Convenience methods for setting the origin selection input.
a simple class to control print indentation
Definition: vtkIndent.h:33
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.