00001 //============================================================================= 00002 // This file is part of VTKEdge. See vtkedge.org for more information. 00003 // 00004 // Copyright (c) 2010 Kitware, Inc. 00005 // 00006 // VTKEdge may be used under the terms of the BSD License 00007 // Please see the file Copyright.txt in the root directory of 00008 // VTKEdge for further information. 00009 // 00010 // Alternatively, you may see: 00011 // 00012 // http://www.vtkedge.org/vtkedge/project/license.html 00013 // 00014 // 00015 // For custom extensions, consulting services, or training for 00016 // this or any other Kitware supported open source project, please 00017 // contact Kitware at sales@kitware.com. 00018 // 00019 // 00020 //============================================================================= 00021 00027 #ifndef __vtkKWEPaintbrushHighlightActors_h 00028 #define __vtkKWEPaintbrushHighlightActors_h 00029 00030 #include "VTKEdgeConfigure.h" // needed for export symbols directives 00031 #include "vtkProp3D.h" 00032 00033 class vtkActorCollection; 00034 class vtkMapperCollection; 00035 class vtkKWEStencilContourFilter; 00036 class vtkCollection; 00037 class vtkKWEPaintbrushDrawing; 00038 00039 class VTKEdge_WIDGETS_EXPORT vtkKWEPaintbrushHighlightActors 00040 : public vtkProp3D 00041 { 00042 //BTX 00043 friend class vtkKWEPaintbrushRepresentation2D; 00044 //ETX 00045 public: 00047 00048 vtkTypeRevisionMacro(vtkKWEPaintbrushHighlightActors, 00049 vtkProp3D); 00050 void PrintSelf(ostream& os, vtkIndent indent); 00052 00054 00056 virtual void SetPaintbrushDrawing( vtkKWEPaintbrushDrawing* ); 00057 vtkGetObjectMacro( PaintbrushDrawing, vtkKWEPaintbrushDrawing ); 00059 00061 00062 vtkSetVector6Macro( Extent, int ); 00063 vtkGetVector6Macro( Extent, int ); 00065 00067 virtual int RenderOpaqueGeometry(vtkViewport *viewport); 00068 00069 #if VTKEdge_VTK_VERSION_DATE > 20070305 00070 virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport); 00071 virtual int HasTranslucentPolygonalGeometry(); 00072 #else 00073 // Legacy method to support VTK source versions prior to 2007/03/05 00074 virtual int RenderTranslucentGeometry(vtkViewport *viewport); 00075 #endif 00076 00078 00079 virtual void GetActors(vtkPropCollection *); 00080 virtual double *GetBounds(); 00082 00083 protected: 00084 vtkKWEPaintbrushHighlightActors(); 00085 ~vtkKWEPaintbrushHighlightActors(); 00086 00088 static vtkKWEPaintbrushHighlightActors *New(); 00089 00090 vtkCollection * ContourFilters; 00091 vtkMapperCollection * ContourPolyDataMappers; 00092 vtkActorCollection * ContourPolyDataActors; 00093 vtkKWEPaintbrushDrawing * PaintbrushDrawing; 00094 int Extent[6]; 00095 00097 virtual void BuildRepresentation(); 00098 00099 private: 00100 vtkKWEPaintbrushHighlightActors( 00101 const vtkKWEPaintbrushHighlightActors&); //Not implemented 00102 void operator=(const vtkKWEPaintbrushHighlightActors&); //Not implemented 00103 }; 00104 00105 #endif 00106
1.7.1