00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAbstractMapper3D.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 =========================================================================*/ 00031 #ifndef __vtkAbstractMapper3D_h 00032 #define __vtkAbstractMapper3D_h 00033 00034 #include "vtkAbstractMapper.h" 00035 00036 class vtkWindow; 00037 class vtkDataSet; 00038 00039 class VTK_RENDERING_EXPORT vtkAbstractMapper3D : public vtkAbstractMapper 00040 { 00041 public: 00042 vtkTypeMacro(vtkAbstractMapper3D,vtkAbstractMapper); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00048 virtual double *GetBounds()=0; 00049 00051 virtual void GetBounds(double bounds[6]); 00052 00054 00055 double *GetCenter(); 00056 void GetCenter(double center[3]) 00057 { 00058 double *rc = this->GetCenter(); 00059 center[0] = rc[0]; center[1] = rc[1]; center[2] = rc[2]; 00060 } 00062 00064 double GetLength(); 00065 00068 virtual int IsARayCastMapper() {return 0;} 00069 00073 virtual int IsARenderIntoImageMapper() {return 0;} 00074 00075 protected: 00076 vtkAbstractMapper3D(); 00077 ~vtkAbstractMapper3D() {}; 00078 00079 double Bounds[6]; 00080 double Center[3]; 00081 00082 private: 00083 vtkAbstractMapper3D(const vtkAbstractMapper3D&); // Not implemented. 00084 void operator=(const vtkAbstractMapper3D&); // Not implemented. 00085 }; 00086 00087 #endif