Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkBridgeDataSet.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkBridgeDataSet.h,v $
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 =========================================================================*/
00025 #ifndef __vtkBridgeDataSet_h
00026 #define __vtkBridgeDataSet_h
00027 
00028 #include "vtkBridgeExport.h"
00029 #include "vtkGenericDataSet.h"
00030 
00031 class vtkDataSet;
00032 
00033 class VTK_BRIDGE_EXPORT vtkBridgeDataSet : public vtkGenericDataSet
00034 {
00035 public:
00036   static vtkBridgeDataSet *New();
00037   vtkTypeRevisionMacro(vtkBridgeDataSet,vtkGenericDataSet);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00041 
00043   void SetDataSet(vtkDataSet *ds);
00044   // Description:
00045   // Number of points composing the dataset. See NewPointIterator for more
00046   // details.
00047   // \post positive_result: result>=0
00048   vtkIdType GetNumberOfPoints();
00050 
00054   vtkIdType GetNumberOfCells(int dim=-1);
00055 
00060   int GetCellDimension();
00061   
00069   void GetCellTypes(vtkCellTypes *types);
00070   
00077   vtkGenericCellIterator *NewCellIterator(int dim=-1);
00078   
00080 
00085   vtkGenericCellIterator *NewBoundaryIterator(int dim=-1,
00086                                        int exteriorOnly=0);
00088   
00091   vtkGenericPointIterator *NewPointIterator();
00092   
00093 
00095   vtkIdType GetEstimatedSize();
00096   
00098 
00107   int FindCell(double x[3],
00108                vtkGenericCellIterator* &cell,
00109                double tol2,
00110                int &subId,
00111                double pcoords[3]);
00113   
00115 
00117   void FindPoint(double x[3],
00118                  vtkGenericPointIterator *p);
00120   
00122   unsigned long int GetMTime();
00123   
00125   void ComputeBounds();
00126   
00127 protected:
00128   // Constructor with default bounds (0,1, 0,1, 0,1).
00129   vtkBridgeDataSet();
00130   virtual ~vtkBridgeDataSet();
00131   
00132   //BTX
00133   friend class vtkBridgeCell;
00134   friend class vtkBridgeCellIterator;
00135   friend class vtkBridgeCellIteratorOnDataSet;
00136   friend class vtkBridgeCellIteratorOne;
00137   friend class vtkBridgePointIterator;
00138   friend class vtkBridgePointIteratorOnCell;
00139   friend class vtkBridgePointIteratorOnDataSet;
00140   friend class vtkBridgePointIteratorOne;
00141   //ETX
00142   
00145   void ComputeNumberOfCellsAndTypes();
00146   
00147   vtkDataSet *Implementation;
00148   vtkIdType NumberOf0DCells;
00149   vtkIdType NumberOf1DCells;
00150   vtkIdType NumberOf2DCells;
00151   vtkIdType NumberOf3DCells;
00152   vtkCellTypes *Types;
00153   vtkTimeStamp ComputeNumberOfCellsTime; // for number of cells and cell types
00154 
00155 private:
00156   vtkBridgeDataSet(const vtkBridgeDataSet&);  // Not implemented.
00157   void operator=(const vtkBridgeDataSet&);    // Not implemented.
00158 };
00159 
00160 #endif

Generated on Mon Jan 21 23:07:22 2008 for VTK by  doxygen 1.4.3-20050530