VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Infovis/Parallel/vtkPBGLShortestPaths.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkPBGLShortestPaths.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 -------------------------------------------------------------------------*/
00039 #ifndef vtkPBGLShortestPaths_h
00040 #define vtkPBGLShortestPaths_h
00041 
00042 #include "vtkInfovisParallelModule.h" // For export macro
00043 #include "vtkStdString.h" // For string type
00044 #include "vtkVariant.h" // For variant type
00045 
00046 #include "vtkGraphAlgorithm.h"
00047 
00048 class vtkSelection;
00049 
00050 #if !defined(VTK_LEGACY_REMOVE)
00051 class VTKINFOVISPARALLEL_EXPORT vtkPBGLShortestPaths : public vtkGraphAlgorithm
00052 {
00053 public:
00054   static vtkPBGLShortestPaths *New();
00055   vtkTypeMacro(vtkPBGLShortestPaths, vtkGraphAlgorithm);
00056   void PrintSelf(ostream& os, vtkIndent indent);
00057 
00059 
00060   void SetOriginSelection(vtkSelection *s);
00061   void SetOriginSelectionConnection(vtkAlgorithmOutput* algOutput)
00062   {
00063     this->SetInputConnection(1, algOutput);
00064   }
00066 
00069   void SetOriginVertex(vtkIdType index);
00070 
00075   void SetOriginVertex(vtkStdString arrayName, vtkVariant value);
00076 
00081   void SetOriginVertexString(char* arrayName, char* value);
00082 
00084 
00088   vtkSetStringMacro(EdgeWeightArrayName);
00090 
00092 
00102   vtkSetMacro(Delta,double);
00104 
00106 
00111   vtkSetStringMacro(PredecessorArrayName);
00113 
00115 
00121   vtkSetStringMacro(PathLengthArrayName);
00123 
00125 
00129   vtkSetMacro(OriginFromSelection, bool);
00130   vtkGetMacro(OriginFromSelection, bool);
00131   vtkBooleanMacro(OriginFromSelection, bool);
00133 
00135 
00138   vtkGetMacro(OutputSelection, bool);
00139   vtkSetMacro(OutputSelection, bool);
00140   vtkBooleanMacro(OutputSelection, bool);
00142 
00144 
00147   vtkSetStringMacro(OutputSelectionType);
00149 
00151 
00154   vtkSetMacro(UseUniformEdgeWeights, bool);
00155   vtkGetMacro(UseUniformEdgeWeights, bool);
00156   vtkBooleanMacro(UseUniformEdgeWeights, bool);
00158 
00159 
00160 protected:
00161   vtkPBGLShortestPaths();
00162   ~vtkPBGLShortestPaths();
00163 
00164   virtual int RequestData(
00165     vtkInformation *,
00166     vtkInformationVector **,
00167     vtkInformationVector *);
00168 
00169   virtual int FillInputPortInformation(
00170     int port, vtkInformation* info);
00171 
00172   virtual int FillOutputPortInformation(
00173     int port, vtkInformation* info);
00174 
00175 private:
00176 
00177   vtkIdType OriginVertexIndex;
00178   char* InputArrayName;
00179   char* EdgeWeightArrayName;
00180   double Delta;
00181   char* PredecessorArrayName;
00182   char* PathLengthArrayName;
00183   vtkVariant OriginValue;
00184   bool OutputSelection;
00185   bool OriginFromSelection;
00186   bool UseUniformEdgeWeights;
00187   char* OutputSelectionType;
00188 
00190 
00191   vtkSetStringMacro(InputArrayName);
00193 
00195 
00197   vtkIdType GetVertexIndex(
00198     vtkAbstractArray *abstract,vtkVariant value);
00200 
00201   vtkPBGLShortestPaths(const vtkPBGLShortestPaths&);  // Not implemented.
00202   void operator=(const vtkPBGLShortestPaths&);  // Not implemented.
00203 };
00204 
00205 #endif //VTK_LEGACY_REMOVE
00206 #endif