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 -------------------------------------------------------------------------*/
40 #ifndef vtkBoostBreadthFirstSearch_h
41 #define vtkBoostBreadthFirstSearch_h
42 
43 #include "vtkInfovisBoostGraphAlgorithmsModule.h" // For export macro
44 #include "vtkStdString.h" // For string type
45 #include "vtkVariant.h" // For variant type
46 
47 #include "vtkGraphAlgorithm.h"
48 
49 class vtkSelection;
50 
51 class VTKINFOVISBOOSTGRAPHALGORITHMS_EXPORT vtkBoostBreadthFirstSearch : public vtkGraphAlgorithm
52 {
53 public:
56  void PrintSelf(ostream& os, vtkIndent indent);
57 
59 
62  void SetOriginSelection(vtkSelection *s);
64  {
65  this->SetInputConnection(1, algOutput);
66  }
68 
73  void SetOriginVertex(vtkIdType index);
74 
82  void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
83 
91  void SetOriginVertexString(char* arrayName, char* value);
92 
94 
98  vtkSetStringMacro(OutputArrayName);
100 
102 
108  vtkSetMacro(OriginFromSelection, bool);
109  vtkGetMacro(OriginFromSelection, bool);
110  vtkBooleanMacro(OriginFromSelection, bool);
112 
114 
119  vtkGetMacro(OutputSelection, bool);
120  vtkSetMacro(OutputSelection, bool);
121  vtkBooleanMacro(OutputSelection, bool);
123 
125 
130  vtkSetStringMacro(OutputSelectionType);
132 
133 protected:
136 
137  virtual int RequestData(
138  vtkInformation *,
141 
142  virtual int FillInputPortInformation(
143  int port, vtkInformation* info);
144 
145  virtual int FillOutputPortInformation(
146  int port, vtkInformation* info);
147 
148 private:
149 
150  vtkIdType OriginVertexIndex;
151  char* InputArrayName;
152  char* OutputArrayName;
153  vtkVariant OriginValue;
154  bool OutputSelection;
155  bool OriginFromSelection;
156  char* OutputSelectionType;
157 
159 
162  vtkSetStringMacro(InputArrayName);
164 
169  vtkIdType GetVertexIndex(
170  vtkAbstractArray *abstract,vtkVariant value);
171 
172  vtkBoostBreadthFirstSearch(const vtkBoostBreadthFirstSearch&) VTK_DELETE_FUNCTION;
173  void operator=(const vtkBoostBreadthFirstSearch&) VTK_DELETE_FUNCTION;
174 };
175 
176 #endif
static vtkGraphAlgorithm * New()
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:47
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:43
int vtkIdType
Definition: vtkType.h:287
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:75
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:39
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.