VTK
dox/Rendering/Core/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 "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