00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkAbstractMapper3D.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 =========================================================================*/ 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 vtkTypeRevisionMacro(vtkAbstractMapper3D,vtkAbstractMapper); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00047 virtual double *GetBounds()=0; 00048 00050 virtual void GetBounds(double bounds[6]); 00051 00053 00054 double *GetCenter(); 00055 void GetCenter(double center[3]) 00056 { 00057 double *rc = this->GetCenter(); 00058 center[0] = rc[0]; center[1] = rc[1]; center[2] = rc[2]; 00059 }; 00061 00063 double GetLength(); 00064 00067 virtual int IsARayCastMapper() {return 0;}; 00068 00072 virtual int IsARenderIntoImageMapper() {return 0;}; 00073 00074 protected: 00075 vtkAbstractMapper3D(); 00076 ~vtkAbstractMapper3D() {}; 00077 00078 double Bounds[6]; 00079 double Center[3]; 00080 00081 private: 00082 vtkAbstractMapper3D(const vtkAbstractMapper3D&); // Not implemented. 00083 void operator=(const vtkAbstractMapper3D&); // Not implemented. 00084 }; 00085 00086 #endif