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 "vtkStdString.h" // For string type 00045 #include "vtkVariant.h" // For variant type 00046 00047 #include "vtkTreeAlgorithm.h" 00048 00049 class VTK_INFOVIS_EXPORT vtkBoostBreadthFirstSearchTree : public vtkTreeAlgorithm 00050 { 00051 public: 00052 static vtkBoostBreadthFirstSearchTree *New(); 00053 vtkTypeMacro(vtkBoostBreadthFirstSearchTree, vtkTreeAlgorithm); 00054 void PrintSelf(ostream& os, vtkIndent indent); 00055 00058 void SetOriginVertex(vtkIdType index); 00059 00064 void SetOriginVertex(vtkStdString arrayName, vtkVariant value); 00065 00067 00069 vtkSetMacro(CreateGraphVertexIdArray, bool); 00070 vtkGetMacro(CreateGraphVertexIdArray, bool); 00071 vtkBooleanMacro(CreateGraphVertexIdArray, bool); 00073 00075 00076 vtkSetMacro(ReverseEdges, bool); 00077 vtkGetMacro(ReverseEdges, bool); 00078 vtkBooleanMacro(ReverseEdges, bool); 00080 00081 protected: 00082 vtkBoostBreadthFirstSearchTree(); 00083 ~vtkBoostBreadthFirstSearchTree(); 00084 00085 int FillInputPortInformation(int port, vtkInformation* info); 00086 00087 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00088 00089 private: 00090 00091 vtkIdType OriginVertexIndex; 00092 char* ArrayName; 00093 vtkVariant OriginValue; 00094 bool ArrayNameSet; 00095 bool CreateGraphVertexIdArray; 00096 bool ReverseEdges; 00097 00099 00100 vtkSetStringMacro(ArrayName); 00102 00104 00106 vtkIdType GetVertexIndex( 00107 vtkAbstractArray *abstract,vtkVariant value); 00109 00110 vtkBoostBreadthFirstSearchTree(const vtkBoostBreadthFirstSearchTree&); // Not implemented. 00111 void operator=(const vtkBoostBreadthFirstSearchTree&); // Not implemented. 00112 }; 00113 00114 #endif