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 
64  {
65  this->SetInputConnection(1, algOutput);
66  }
68 
74 
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 
143  int port, vtkInformation* info);
144 
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
Abstract superclass for all arrays.
Proxy object to connect input/output ports.
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
Boost breadth_first_search on a vtkGraph.
static vtkBoostBreadthFirstSearch * New()
void SetOriginVertexString(char *arrayName, char *value)
Convenience method for setting the origin vertex given an array name and string value.
void SetOriginSelection(vtkSelection *s)
Convenience methods for setting the origin selection input.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
void SetOriginVertex(vtkStdString arrayName, vtkVariant value)
Set the breadth first search 'origin' vertex.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetOriginVertex(vtkIdType index)
Set the index (into the vertex array) of the breadth first search 'origin' vertex.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
void SetOriginSelectionConnection(vtkAlgorithmOutput *algOutput)
Superclass for algorithms that produce only graph as output.
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
A node in a selection tree.
Definition: vtkSelection.h:44
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:49
A atomic type representing the union of many types.
Definition: vtkVariant.h:76
@ info
Definition: vtkX3D.h:376
@ value
Definition: vtkX3D.h:220
@ port
Definition: vtkX3D.h:447
@ index
Definition: vtkX3D.h:246
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
int vtkIdType
Definition: vtkType.h:287