VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCoincidentTopologyResolutionPainter.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 =========================================================================*/ 00025 #ifndef __vtkCoincidentTopologyResolutionPainter_h 00026 #define __vtkCoincidentTopologyResolutionPainter_h 00027 00028 #include "vtkRenderingCoreModule.h" // For export macro 00029 #include "vtkPolyDataPainter.h" 00030 00031 class vtkInformationIntegerKey; 00032 class vtkInformationDoubleKey; 00033 class vtkInformationDoubleVectorKey; 00034 00035 class VTKRENDERINGCORE_EXPORT vtkCoincidentTopologyResolutionPainter : 00036 public vtkPolyDataPainter 00037 { 00038 public: 00039 static vtkCoincidentTopologyResolutionPainter* New(); 00040 vtkTypeMacro(vtkCoincidentTopologyResolutionPainter, 00041 vtkPolyDataPainter); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00054 static vtkInformationIntegerKey* RESOLVE_COINCIDENT_TOPOLOGY(); 00055 00058 static vtkInformationDoubleKey* Z_SHIFT(); 00059 00062 static vtkInformationDoubleVectorKey* POLYGON_OFFSET_PARAMETERS(); 00063 00065 00068 static vtkInformationIntegerKey* POLYGON_OFFSET_FACES(); 00069 protected: 00070 vtkCoincidentTopologyResolutionPainter(); 00071 ~vtkCoincidentTopologyResolutionPainter(); 00073 00076 virtual void ProcessInformation(vtkInformation*); 00077 00078 // These are method to set ivars. These are purpisefully protected. 00079 // The only means to affect these values is thru information object. 00080 vtkSetMacro(ResolveCoincidentTopology, int); 00081 vtkSetMacro(ZShift, double); 00082 vtkSetMacro(OffsetFaces, int); 00083 void SetPolygonOffsetParameters(double factor, double units) 00084 { 00085 if (this->PolygonOffsetFactor != factor || 00086 this->PolygonOffsetUnits != units) 00087 { 00088 this->PolygonOffsetFactor = factor; 00089 this->PolygonOffsetUnits = units; 00090 this->Modified(); 00091 } 00092 } 00093 00094 int ResolveCoincidentTopology; 00095 double PolygonOffsetFactor; 00096 double PolygonOffsetUnits; 00097 double ZShift; 00098 int OffsetFaces; 00099 private: 00100 vtkCoincidentTopologyResolutionPainter(const vtkCoincidentTopologyResolutionPainter&); // Not implemented. 00101 void operator=(const vtkCoincidentTopologyResolutionPainter&); // Not implemented. 00102 }; 00103 00104 00105 #endif 00106