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 "vtkRenderingCoreModule.h" // For export macro 00035 #include "vtkAbstractMapper.h" 00036 00037 class vtkWindow; 00038 class vtkDataSet; 00039 class vtkMatrix4x4; 00040 00041 class VTKRENDERINGCORE_EXPORT vtkAbstractMapper3D : public vtkAbstractMapper 00042 { 00043 public: 00044 vtkTypeMacro(vtkAbstractMapper3D, vtkAbstractMapper); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00050 virtual double *GetBounds() = 0; 00051 00053 virtual void GetBounds(double bounds[6]); 00054 00056 00057 double *GetCenter(); 00058 void GetCenter(double center[3]) 00059 { 00060 double *rc = this->GetCenter(); 00061 center[0] = rc[0]; center[1] = rc[1]; center[2] = rc[2]; 00062 } 00064 00066 double GetLength(); 00067 00069 00071 virtual int IsARayCastMapper() 00072 { return 0; } 00074 00076 00079 virtual int IsARenderIntoImageMapper() 00080 { return 0; } 00082 00084 00086 void GetClippingPlaneInDataCoords( 00087 vtkMatrix4x4 *propMatrix, int i, double planeEquation[4]); 00089 00091 int GetNumberOfClippingPlanes(); 00092 00093 protected: 00094 vtkAbstractMapper3D(); 00095 ~vtkAbstractMapper3D() {} 00096 00097 double Bounds[6]; 00098 double Center[3]; 00099 00100 private: 00101 vtkAbstractMapper3D(const vtkAbstractMapper3D&); // Not implemented. 00102 void operator=(const vtkAbstractMapper3D&); // Not implemented. 00103 }; 00104 00105 #endif