VTK
dox/Rendering/vtkAbstractMapper3D.h
Go to the documentation of this file.
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