00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00039 #ifndef __vtkBoostBreadthFirstSearch_h
00040 #define __vtkBoostBreadthFirstSearch_h
00041
00042 #include "vtkStdString.h"
00043 #include "vtkVariant.h"
00044
00045 #include "vtkGraphAlgorithm.h"
00046
00047 class vtkSelection;
00048
00049 class VTK_INFOVIS_EXPORT vtkBoostBreadthFirstSearch : public vtkGraphAlgorithm
00050 {
00051 public:
00052 static vtkBoostBreadthFirstSearch *New();
00053 vtkTypeMacro(vtkBoostBreadthFirstSearch, vtkGraphAlgorithm);
00054 void PrintSelf(ostream& os, vtkIndent indent);
00055
00057
00058 void SetOriginSelection(vtkSelection *s);
00059 void SetOriginSelectionConnection(vtkAlgorithmOutput* algOutput)
00060 {
00061 this->SetInputConnection(1, algOutput);
00062 }
00064
00067 void SetOriginVertex(vtkIdType index);
00068
00069
00070
00072
00076 void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
00077
00079
00084 void SetOriginVertexString(char* arrayName, char* value);
00085
00087
00089 vtkSetStringMacro(OutputArrayName);
00091
00093
00097 vtkSetMacro(OriginFromSelection, bool);
00098 vtkGetMacro(OriginFromSelection, bool);
00099 vtkBooleanMacro(OriginFromSelection, bool);
00101
00103
00106 vtkGetMacro(OutputSelection, bool);
00107 vtkSetMacro(OutputSelection, bool);
00108 vtkBooleanMacro(OutputSelection, bool);
00110
00112
00115 vtkSetStringMacro(OutputSelectionType);
00117
00118 protected:
00119 vtkBoostBreadthFirstSearch();
00120 ~vtkBoostBreadthFirstSearch();
00121
00122 virtual int RequestData(
00123 vtkInformation *,
00124 vtkInformationVector **,
00125 vtkInformationVector *);
00126
00127 virtual int FillInputPortInformation(
00128 int port, vtkInformation* info);
00129
00130 virtual int FillOutputPortInformation(
00131 int port, vtkInformation* info);
00132
00133 private:
00134
00135 vtkIdType OriginVertexIndex;
00136 char* InputArrayName;
00137 char* OutputArrayName;
00138
00139 vtkVariant OriginValue;
00140
00141 bool OutputSelection;
00142 bool OriginFromSelection;
00143 char* OutputSelectionType;
00144
00146
00147 vtkSetStringMacro(InputArrayName);
00149
00150
00151
00153
00155 vtkIdType GetVertexIndex(
00156 vtkAbstractArray *abstract,vtkVariant value);
00157
00159
00160 vtkBoostBreadthFirstSearch(const vtkBoostBreadthFirstSearch&);
00161 void operator=(const vtkBoostBreadthFirstSearch&);
00162 };
00163
00164 #endif