VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Rendering/Context2D/vtkContextDevice3D.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkContextDevice3D.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 =========================================================================*/
00015 
00027 #ifndef vtkContextDevice3D_h
00028 #define vtkContextDevice3D_h
00029 
00030 #include "vtkRenderingContext2DModule.h" // For export macro
00031 #include "vtkObject.h"
00032 #include "vtkVector.h"       // For the vector coordinates.
00033 #include "vtkRect.h"         // For the rectangles..
00034 
00035 class vtkMatrix4x4;
00036 class vtkViewport;
00037 class vtkPen;
00038 class vtkBrush;
00039 
00040 class VTKRENDERINGCONTEXT2D_EXPORT vtkContextDevice3D : public vtkObject
00041 {
00042 public:
00043   vtkTypeMacro(vtkContextDevice3D, vtkObject);
00044   virtual void PrintSelf(ostream &os, vtkIndent indent);
00045 
00046   static vtkContextDevice3D * New();
00047 
00049 
00050   virtual void DrawPoly(const float *verts, int n,
00051                         const unsigned char *colors = 0, int nc = 0) = 0;
00053 
00055 
00056   virtual void DrawPoints(const float *verts, int n,
00057                           const unsigned char *colors = 0, int nc = 0) = 0;
00059 
00061 
00062   virtual void DrawTriangleMesh(const float *mesh, int n,
00063                                 const unsigned char *colors, int nc) = 0;
00065 
00070   virtual void ApplyPen(vtkPen *pen) = 0;
00071 
00076   virtual void ApplyBrush(vtkBrush *brush) = 0;
00077 
00079   virtual void SetMatrix(vtkMatrix4x4 *m) = 0;
00080 
00082   virtual void GetMatrix(vtkMatrix4x4 *m) = 0;
00083 
00085   virtual void MultiplyMatrix(vtkMatrix4x4 *m) = 0;
00086 
00088   virtual void PushMatrix() = 0;
00089 
00091   virtual void PopMatrix() = 0;
00092 
00095   virtual void SetClipping(const vtkRecti &rect) = 0;
00096 
00099   virtual void DisableClipping() { this->EnableClipping(false); }
00100 
00102   virtual void EnableClipping(bool enable) = 0;
00103 
00105 
00106   virtual void EnableClippingPlane(int i, double *planeEquation) = 0;
00107   virtual void DisableClippingPlane(int i) = 0;
00109 
00110 protected:
00111   vtkContextDevice3D();
00112   ~vtkContextDevice3D();
00113 
00114 private:
00115   vtkContextDevice3D(const vtkContextDevice3D &); // Not implemented.
00116   void operator=(const vtkContextDevice3D &);   // Not implemented.
00117 };
00118 
00119 #endif