VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkBoostBreadthFirstSearchTree.h 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 -------------------------------------------------------------------------*/ 00041 #ifndef vtkBoostBreadthFirstSearchTree_h 00042 #define vtkBoostBreadthFirstSearchTree_h 00043 00044 #include "vtkInfovisBoostGraphAlgorithmsModule.h" // For export macro 00045 #include "vtkStdString.h" // For string type 00046 #include "vtkVariant.h" // For variant type 00047 00048 #include "vtkTreeAlgorithm.h" 00049 00050 class VTKINFOVISBOOSTGRAPHALGORITHMS_EXPORT vtkBoostBreadthFirstSearchTree : public vtkTreeAlgorithm 00051 { 00052 public: 00053 static vtkBoostBreadthFirstSearchTree *New(); 00054 vtkTypeMacro(vtkBoostBreadthFirstSearchTree, vtkTreeAlgorithm); 00055 void PrintSelf(ostream& os, vtkIndent indent); 00056 00059 void SetOriginVertex(vtkIdType index); 00060 00065 void SetOriginVertex(vtkStdString arrayName, vtkVariant value); 00066 00068 00070 vtkSetMacro(CreateGraphVertexIdArray, bool); 00071 vtkGetMacro(CreateGraphVertexIdArray, bool); 00072 vtkBooleanMacro(CreateGraphVertexIdArray, bool); 00074 00076 00077 vtkSetMacro(ReverseEdges, bool); 00078 vtkGetMacro(ReverseEdges, bool); 00079 vtkBooleanMacro(ReverseEdges, bool); 00081 00082 protected: 00083 vtkBoostBreadthFirstSearchTree(); 00084 ~vtkBoostBreadthFirstSearchTree(); 00085 00086 int FillInputPortInformation(int port, vtkInformation* info); 00087 00088 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00089 00090 private: 00091 00092 vtkIdType OriginVertexIndex; 00093 char* ArrayName; 00094 vtkVariant OriginValue; 00095 bool ArrayNameSet; 00096 bool CreateGraphVertexIdArray; 00097 bool ReverseEdges; 00098 00100 00101 vtkSetStringMacro(ArrayName); 00103 00105 00107 vtkIdType GetVertexIndex( 00108 vtkAbstractArray *abstract,vtkVariant value); 00110 00111 vtkBoostBreadthFirstSearchTree(const vtkBoostBreadthFirstSearchTree&); // Not implemented. 00112 void operator=(const vtkBoostBreadthFirstSearchTree&); // Not implemented. 00113 }; 00114 00115 #endif