VTK
|
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 class vtkMatrix4x4; 00039 00040 class VTK_RENDERING_EXPORT vtkAbstractMapper3D : public vtkAbstractMapper 00041 { 00042 public: 00043 vtkTypeMacro(vtkAbstractMapper3D,vtkAbstractMapper); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00049 virtual double *GetBounds()=0; 00050 00052 virtual void GetBounds(double bounds[6]); 00053 00055 00056 double *GetCenter(); 00057 void GetCenter(double center[3]) 00058 { 00059 double *rc = this->GetCenter(); 00060 center[0] = rc[0]; center[1] = rc[1]; center[2] = rc[2]; 00061 } 00063 00065 double GetLength(); 00066 00069 virtual int IsARayCastMapper() {return 0;} 00070 00074 virtual int IsARenderIntoImageMapper() {return 0;} 00075 00077 00079 void GetClippingPlaneInDataCoords( 00080 vtkMatrix4x4 *propMatrix, int i, double planeEquation[4]); 00082 00084 int GetNumberOfClippingPlanes(); 00085 00086 protected: 00087 vtkAbstractMapper3D(); 00088 ~vtkAbstractMapper3D() {}; 00089 00090 double Bounds[6]; 00091 double Center[3]; 00092 00093 private: 00094 vtkAbstractMapper3D(const vtkAbstractMapper3D&); // Not implemented. 00095 void operator=(const vtkAbstractMapper3D&); // Not implemented. 00096 }; 00097 00098 #endif