VTK
|
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 00047 00048 virtual void DrawPoly(const float *verts, int n, 00049 const unsigned char *colors = 0, int nc = 0) = 0; 00051 00053 00054 virtual void DrawPoints(const float *verts, int n, 00055 const unsigned char *colors = 0, int nc = 0) = 0; 00057 00059 00060 virtual void DrawTriangleMesh(const float *mesh, int n, 00061 const unsigned char *colors, int nc) = 0; 00063 00068 virtual void ApplyPen(vtkPen *pen) = 0; 00069 00074 virtual void ApplyBrush(vtkBrush *brush) = 0; 00075 00077 virtual void SetMatrix(vtkMatrix4x4 *m) = 0; 00078 00080 virtual void GetMatrix(vtkMatrix4x4 *m) = 0; 00081 00083 virtual void MultiplyMatrix(vtkMatrix4x4 *m) = 0; 00084 00086 virtual void PushMatrix() = 0; 00087 00089 virtual void PopMatrix() = 0; 00090 00093 virtual void SetClipping(const vtkRecti &rect) = 0; 00094 00097 virtual void DisableClipping() { this->EnableClipping(false); } 00098 00100 virtual void EnableClipping(bool enable) = 0; 00101 00103 00104 virtual void EnableClippingPlane(int i, double *planeEquation) = 0; 00105 virtual void DisableClippingPlane(int i) = 0; 00107 00108 protected: 00109 vtkContextDevice3D(); 00110 ~vtkContextDevice3D(); 00111 00112 private: 00113 vtkContextDevice3D(const vtkContextDevice3D &); // Not implemented. 00114 void operator=(const vtkContextDevice3D &); // Not implemented. 00115 }; 00116 00117 #endif