VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPerturbCoincidentVertices.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 2009 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 -------------------------------------------------------------------------*/ 00030 #ifndef __vtkPerturbCoincidentVertices_h 00031 #define __vtkPerturbCoincidentVertices_h 00032 00033 #include "vtkInfovisLayoutModule.h" // For export macro 00034 #include "vtkGraphAlgorithm.h" 00035 #include "vtkSmartPointer.h" // for ivars 00036 00037 class vtkCoincidentPoints; 00038 class vtkDataSet; 00039 00040 class VTKINFOVISLAYOUT_EXPORT vtkPerturbCoincidentVertices : public vtkGraphAlgorithm 00041 { 00042 public: 00043 static vtkPerturbCoincidentVertices* New(); 00044 vtkTypeMacro(vtkPerturbCoincidentVertices,vtkGraphAlgorithm); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 00049 vtkSetMacro(PerturbFactor,double); 00050 vtkGetMacro(PerturbFactor,double); 00052 00053 protected: 00054 vtkPerturbCoincidentVertices(); 00055 ~vtkPerturbCoincidentVertices(); 00056 00057 int RequestData( 00058 vtkInformation*, 00059 vtkInformationVector**, 00060 vtkInformationVector*); 00061 00062 private: 00063 00064 // This class might have more than one method of coincident resolution 00065 void SpiralPerturbation(vtkGraph *input, vtkGraph *output); 00066 void SimpleSpiralPerturbation(vtkGraph *input, vtkGraph *output, float perturbFactor); 00067 00068 float PerturbFactor; 00069 00070 vtkPerturbCoincidentVertices(const vtkPerturbCoincidentVertices&); // Not implemented 00071 void operator=(const vtkPerturbCoincidentVertices&); // Not implemented 00072 }; 00073 00074 #endif 00075