Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Common/vtkProperty2D.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkProperty2D.h,v $
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 =========================================================================*/
00024 #ifndef __vtkProperty2D_h
00025 #define __vtkProperty2D_h
00026 
00027 #include "vtkObject.h"
00028 
00029 class vtkViewport;
00030 
00031 #define VTK_BACKGROUND_LOCATION 0
00032 #define VTK_FOREGROUND_LOCATION 1
00033 
00034 class VTK_COMMON_EXPORT vtkProperty2D : public vtkObject
00035 {
00036 public:
00037   vtkTypeRevisionMacro(vtkProperty2D,vtkObject);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00042   static vtkProperty2D *New();
00043 
00045   void DeepCopy(vtkProperty2D *p);
00046 
00048 
00049   vtkSetVector3Macro(Color, double);
00050   vtkGetVectorMacro(Color, double, 3);
00052 
00054 
00055   vtkGetMacro(Opacity, double);
00056   vtkSetMacro(Opacity, double);
00058 
00060 
00062   vtkSetClampMacro(PointSize,float,0,VTK_LARGE_FLOAT);
00063   vtkGetMacro(PointSize,float);
00065 
00067 
00069   vtkSetClampMacro(LineWidth,float,0,VTK_LARGE_FLOAT);
00070   vtkGetMacro(LineWidth,float);
00072 
00074 
00077   vtkSetMacro(LineStipplePattern,int);
00078   vtkGetMacro(LineStipplePattern,int);
00080 
00082 
00085   vtkSetClampMacro(LineStippleRepeatFactor,int,1,VTK_LARGE_INTEGER);
00086   vtkGetMacro(LineStippleRepeatFactor,int);
00088 
00090 
00096   vtkSetClampMacro( DisplayLocation, int, 
00097                     VTK_BACKGROUND_LOCATION, VTK_FOREGROUND_LOCATION );
00098   vtkGetMacro( DisplayLocation, int );
00099   void SetDisplayLocationToBackground() 
00100     {this->DisplayLocation = VTK_BACKGROUND_LOCATION;};
00101   void SetDisplayLocationToForeground() 
00102     {this->DisplayLocation = VTK_FOREGROUND_LOCATION;};
00104   
00105   
00107   virtual void Render (vtkViewport* vtkNotUsed(viewport))  {}
00108   
00109 protected:
00110   vtkProperty2D();
00111   ~vtkProperty2D();
00112 
00113   double Color[3];
00114   double Opacity;
00115   float PointSize;
00116   float LineWidth;
00117   int   LineStipplePattern;
00118   int   LineStippleRepeatFactor;
00119   int   DisplayLocation;
00120 private:
00121   vtkProperty2D(const vtkProperty2D&);  // Not implemented.
00122   void operator=(const vtkProperty2D&);  // Not implemented.
00123 };
00124   
00125   
00126 #endif
00127 
00128 
00129