/*========================================================================= Program: Visualization Toolkit Module: $RCSfile: vtkDataSetMapper.h,v $ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ // .NAME vtkDataSetMapper - map vtkDataSet and derived classes to graphics primitives // .SECTION Description // vtkDataSetMapper is a mapper to map data sets (i.e., vtkDataSet and // all derived classes) to graphics primitives. The mapping procedure // is as follows: all 0D, 1D, and 2D cells are converted into points, // lines, and polygons/triangle strips and then mapped to the graphics // system. The 2D faces of 3D cells are mapped only if they are used by // only one cell, i.e., on the boundary of the data set. #ifndef __vtkDataSetMapper_h #define __vtkDataSetMapper_h #include "vtkMapper.h" class vtkPolyDataMapper; class vtkDataSetSurfaceFilter; class VTK_RENDERING_EXPORT vtkDataSetMapper : public vtkMapper { public: static vtkDataSetMapper *New(); vtkTypeRevisionMacro(vtkDataSetMapper,vtkMapper); void PrintSelf(ostream& os, vtkIndent indent); void Render(vtkRenderer *ren, vtkActor *act); // Description: // Get the internal poly data mapper used to map data set to graphics system. vtkGetObjectMacro(PolyDataMapper, vtkPolyDataMapper); // Description: // Release any graphics resources that are being consumed by this mapper. // The parameter window could be used to determine which graphic // resources to release. void ReleaseGraphicsResources(vtkWindow *); // Description: // Get the mtime also considering the lookup table. unsigned long GetMTime(); // Description: // Set the Input of this mapper. void SetInput(vtkDataSet *input); vtkDataSet *GetInput(); protected: vtkDataSetMapper(); ~vtkDataSetMapper(); vtkDataSetSurfaceFilter *GeometryExtractor; vtkPolyDataMapper *PolyDataMapper; virtual void ReportReferences(vtkGarbageCollector*); // see algorithm for more info virtual int FillInputPortInformation(int port, vtkInformation* info); private: vtkDataSetMapper(const vtkDataSetMapper&); // Not implemented. void operator=(const vtkDataSetMapper&); // Not implemented. }; #endif