VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkOBBDicer.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 =========================================================================*/ 00033 #ifndef __vtkOBBDicer_h 00034 #define __vtkOBBDicer_h 00035 00036 #include "vtkFiltersGeneralModule.h" // For export macro 00037 #include "vtkDicer.h" 00038 00039 class vtkOBBNode; 00040 class vtkShortArray; 00041 class vtkIdList; 00042 class vtkPoints; 00043 00044 class VTKFILTERSGENERAL_EXPORT vtkOBBDicer : public vtkDicer 00045 { 00046 public: 00047 vtkTypeMacro(vtkOBBDicer,vtkDicer); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00051 static vtkOBBDicer *New(); 00052 00053 protected: 00054 vtkOBBDicer() {}; 00055 ~vtkOBBDicer() {}; 00056 00057 // Usual data generation method 00058 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00059 00060 //implementation ivars and methods 00061 void BuildTree(vtkIdList *ptIds, vtkOBBNode *OBBptr, vtkDataSet *input); 00062 void MarkPoints(vtkOBBNode *OBBptr, vtkShortArray *groupIds); 00063 void DeleteTree(vtkOBBNode *OBBptr); 00064 vtkPoints *PointsList; 00065 00066 private: 00067 vtkOBBDicer(const vtkOBBDicer&); // Not implemented. 00068 void operator=(const vtkOBBDicer&); // Not implemented. 00069 }; 00070 00071 #endif 00072 00073