00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkHierarchicalPolyDataMapper.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 =========================================================================*/ 00034 #ifndef __vtkHierarchicalPolyDataMapper_h 00035 #define __vtkHierarchicalPolyDataMapper_h 00036 00037 #include "vtkMapper.h" 00038 00039 class vtkPolyDataMapper; 00040 class vtkInformation; 00041 class vtkRenderer; 00042 class vtkActor; 00043 class vtkHierarchicalPolyDataMapperInternals; 00044 00045 class VTK_RENDERING_EXPORT vtkHierarchicalPolyDataMapper : public vtkMapper 00046 { 00047 00048 public: 00049 static vtkHierarchicalPolyDataMapper *New(); 00050 vtkTypeRevisionMacro(vtkHierarchicalPolyDataMapper, vtkMapper); 00051 virtual void PrintSelf(ostream& os, vtkIndent indent); 00052 00055 void Render(vtkRenderer *ren, vtkActor *a); 00056 00058 00059 double *GetBounds(); 00060 void GetBounds(double bounds[6]) { this->Superclass::GetBounds( bounds ); }; 00062 00064 void ReleaseGraphicsResources(vtkWindow *); 00065 00066 00067 protected: 00068 vtkHierarchicalPolyDataMapper(); 00069 ~vtkHierarchicalPolyDataMapper(); 00070 00074 vtkExecutive* CreateDefaultExecutive(); 00075 00077 virtual int FillInputPortInformation(int port, vtkInformation* info); 00078 00081 void BuildPolyDataMapper(); 00082 00084 void ComputeBounds(); 00085 00087 vtkTimeStamp BoundsMTime; 00088 00091 vtkHierarchicalPolyDataMapperInternals *Internal; 00092 00094 vtkTimeStamp InternalMappersBuildTime; 00095 00096 private: 00097 vtkHierarchicalPolyDataMapper(const vtkHierarchicalPolyDataMapper&); // Not implemented. 00098 void operator=(const vtkHierarchicalPolyDataMapper&); // Not implemented. 00099 }; 00100 00101 #endif