VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkIncrementalPointLocator.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 =========================================================================*/ 00044 #ifndef vtkIncrementalPointLocator_h 00045 #define vtkIncrementalPointLocator_h 00046 00047 #include "vtkCommonDataModelModule.h" // For export macro 00048 #include "vtkAbstractPointLocator.h" 00049 00050 class vtkPoints; 00051 class vtkIdList; 00052 00053 class VTKCOMMONDATAMODEL_EXPORT vtkIncrementalPointLocator : public vtkAbstractPointLocator 00054 { 00055 public: 00056 00057 vtkTypeMacro( vtkIncrementalPointLocator, vtkAbstractPointLocator ); 00058 void PrintSelf( ostream & os, vtkIndent indent ); 00059 00061 virtual void Initialize() = 0; 00062 00070 virtual vtkIdType FindClosestInsertedPoint( const double x[3] ) = 0; 00071 00072 // ------------------------------------------------------------------------- 00073 // ---------------------------- Point Location ---------------------------- 00074 // ---- All virtual functions related to point location are declared by ---- 00075 // --------------- the parent class vtkAbstractPointLocator --------------- 00076 // ------------------------------------------------------------------------- 00077 00078 // ------------------------------------------------------------------------- 00079 // ---------------------------- Point Insertion ---------------------------- 00080 // ------------------------------------------------------------------------- 00081 00087 virtual int InitPointInsertion( vtkPoints * newPts, const double bounds[6] ) = 0; 00088 00090 00095 virtual int InitPointInsertion( vtkPoints * newPts, const double bounds[6], 00096 vtkIdType estSize ) = 0; 00098 00102 virtual vtkIdType IsInsertedPoint( double x, double y, double z ) = 0; 00103 00107 virtual vtkIdType IsInsertedPoint( const double x[3] ) = 0; 00108 00111 virtual int InsertUniquePoint( const double x[3], vtkIdType & ptId ) = 0; 00112 00118 virtual void InsertPoint( vtkIdType ptId, const double x[3] ) = 0; 00119 00125 virtual vtkIdType InsertNextPoint( const double x[3] ) = 0; 00126 00127 protected: 00128 vtkIncrementalPointLocator(); 00129 virtual ~vtkIncrementalPointLocator(); 00130 00131 private: 00132 vtkIncrementalPointLocator( const vtkIncrementalPointLocator & ); // Not implemented. 00133 void operator = ( const vtkIncrementalPointLocator & ); // Not implemented. 00134 }; 00135 00136 #endif