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 00075 virtual void Update()=0; 00076 00077 protected: 00078 vtkAbstractMapper3D(); 00079 ~vtkAbstractMapper3D() {}; 00080 00081 double Bounds[6]; 00082 double Center[3]; 00083 00084 private: 00085 vtkAbstractMapper3D(const vtkAbstractMapper3D&); // Not implemented. 00086 void operator=(const vtkAbstractMapper3D&); // Not implemented. 00087 }; 00088 00089 #endif