00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00036 #ifndef __vtkBoostBreadthFirstSearch_h
00037 #define __vtkBoostBreadthFirstSearch_h
00038
00039 #include "vtkStdString.h"
00040 #include "vtkVariant.h"
00041
00042 #include "vtkGraphAlgorithm.h"
00043
00044 class vtkSelection;
00045
00046 class VTK_INFOVIS_EXPORT vtkBoostBreadthFirstSearch : public vtkGraphAlgorithm
00047 {
00048 public:
00049 static vtkBoostBreadthFirstSearch *New();
00050 vtkTypeRevisionMacro(vtkBoostBreadthFirstSearch, vtkGraphAlgorithm);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054
00055 void SetOriginSelection(vtkSelection *s);
00056 void SetOriginSelectionConnection(vtkAlgorithmOutput* algOutput)
00057 {
00058 this->SetInputConnection(1, algOutput);
00059 }
00061
00064 void SetOriginVertex(vtkIdType index);
00065
00066
00067
00069
00073 void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
00074
00076
00081 void SetOriginVertexString(char* arrayName, char* value);
00082
00084
00086 vtkSetStringMacro(OutputArrayName);
00088
00090
00094 vtkSetMacro(OriginFromSelection, bool);
00095 vtkGetMacro(OriginFromSelection, bool);
00096 vtkBooleanMacro(OriginFromSelection, bool);
00098
00100
00103 vtkGetMacro(OutputSelection, bool);
00104 vtkSetMacro(OutputSelection, bool);
00105 vtkBooleanMacro(OutputSelection, bool);
00107
00109
00112 vtkSetStringMacro(OutputSelectionType);
00114
00115 protected:
00116 vtkBoostBreadthFirstSearch();
00117 ~vtkBoostBreadthFirstSearch();
00118
00119 virtual int RequestData(
00120 vtkInformation *,
00121 vtkInformationVector **,
00122 vtkInformationVector *);
00123
00124 virtual int FillInputPortInformation(
00125 int port, vtkInformation* info);
00126
00127 virtual int FillOutputPortInformation(
00128 int port, vtkInformation* info);
00129
00130 private:
00131
00132 vtkIdType OriginVertexIndex;
00133 char* InputArrayName;
00134 char* OutputArrayName;
00135
00136 vtkVariant OriginValue;
00137
00138 bool OutputSelection;
00139 bool OriginFromSelection;
00140 char* OutputSelectionType;
00141
00143
00144 vtkSetStringMacro(InputArrayName);
00146
00147
00148
00150
00152 vtkIdType GetVertexIndex(
00153 vtkAbstractArray *abstract,vtkVariant value);
00154
00156
00157 vtkBoostBreadthFirstSearch(const vtkBoostBreadthFirstSearch&);
00158 void operator=(const vtkBoostBreadthFirstSearch&);
00159 };
00160
00161 #endif