• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Infovis/vtkBoostBreadthFirstSearch.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkBoostBreadthFirstSearch.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 /*-------------------------------------------------------------------------
00016   Copyright 2008 Sandia Corporation.
00017   Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00018   the U.S. Government retains certain rights in this software.
00019 -------------------------------------------------------------------------*/
00036 #ifndef __vtkBoostBreadthFirstSearch_h
00037 #define __vtkBoostBreadthFirstSearch_h
00038 
00039 #include "vtkStdString.h" // For string type
00040 #include "vtkVariant.h" // For variant type
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   //BTX
00067   
00069 
00073   void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
00074   //ETX
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   //BTX
00136   vtkVariant OriginValue;
00137   //ETX
00138   bool OutputSelection;
00139   bool OriginFromSelection;
00140   char* OutputSelectionType;
00141   
00143 
00144   vtkSetStringMacro(InputArrayName);
00146 
00147   //BTX
00148   
00150 
00152   vtkIdType GetVertexIndex(
00153     vtkAbstractArray *abstract,vtkVariant value);
00154   //ETX
00156 
00157   vtkBoostBreadthFirstSearch(const vtkBoostBreadthFirstSearch&);  // Not implemented.
00158   void operator=(const vtkBoostBreadthFirstSearch&);  // Not implemented.
00159 };
00160 
00161 #endif

Generated by  doxygen 1.7.1