VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCoincidentPoints.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 -------------------------------------------------------------------------*/ 00029 #ifndef __vtkCoincidentPoints_h 00030 #define __vtkCoincidentPoints_h 00031 00032 #include "vtkFiltersGeneralModule.h" // For export macro 00033 #include "vtkObject.h" 00034 00035 class vtkIdList; 00036 class vtkPoints; 00037 00038 class VTKFILTERSGENERAL_EXPORT vtkCoincidentPoints : public vtkObject 00039 { 00040 public: 00041 static vtkCoincidentPoints* New(); 00042 vtkTypeMacro(vtkCoincidentPoints,vtkObject); 00043 virtual void PrintSelf( ostream& os, vtkIndent indent ); 00044 00050 void AddPoint(vtkIdType Id, const double point[3]); 00051 00055 vtkIdList * GetCoincidentPointIds(const double point[3]); 00056 00059 vtkIdList * GetNextCoincidentPointIds(); 00060 00062 void InitTraversal(); 00063 00066 void RemoveNonCoincidentPoints(); 00067 00070 void Clear(); 00071 00072 //BTX 00073 class implementation; 00074 implementation * GetImplementation() { return this->Implementation; } 00075 //ETX 00076 00080 static void SpiralPoints(vtkIdType num, vtkPoints * offsets); 00081 00082 protected: 00083 vtkCoincidentPoints(); 00084 virtual ~vtkCoincidentPoints(); 00085 00086 private: 00087 vtkCoincidentPoints( const vtkCoincidentPoints& ); // Not implemented. 00088 void operator = ( const vtkCoincidentPoints& ); // Not implemented. 00089 00090 //BTX 00091 implementation* Implementation; 00092 00093 friend class implementation; 00094 //ETX 00095 }; 00096 00097 #endif // __vtkCoincidentPoints_h