Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00026 #ifndef __vtkKWEPaintbrushProperty_h
00027 #define __vtkKWEPaintbrushProperty_h
00028
00029 #include "VTKEdgeConfigure.h"
00030 #include "vtkObject.h"
00031
00032 class vtkKWEPaintbrushSketch;
00033 class vtkKWEPaintbrushDrawing;
00034 class vtkProperty;
00035 class vtkKWEPaintbrushPropertyManager;
00036
00037 class VTKEdge_WIDGETS_EXPORT vtkKWEPaintbrushProperty : public vtkObject
00038 {
00039
00040 friend class vtkKWEPaintbrushSketch;
00041 friend class vtkKWEPaintbrushBlend;
00042 friend class vtkKWEPaintbrushRepresentationGrayscale2D;
00043 friend class vtkKWEPaintbrushPropertyManager;
00044 friend class vtkKWEPaintbrushSelectionRepresentation;
00045 friend class vtkKWEPaintbrushHighlightActors;
00046
00047 public:
00048 vtkTypeRevisionMacro(vtkKWEPaintbrushProperty,vtkObject);
00049 void PrintSelf(ostream& os, vtkIndent indent);
00050
00052
00056 vtkGetObjectMacro( PaintbrushSketch, vtkKWEPaintbrushSketch );
00058
00060
00062 vtkSetStringMacro( Identifier );
00063 vtkGetStringMacro( Identifier );
00065
00067
00069 void SetOpacity( double o );
00070 double GetOpacity();
00072
00074
00075 vtkSetMacro( Visibility, int );
00076 vtkGetMacro( Visibility, int );
00077 vtkBooleanMacro( Visibility, int );
00079
00081
00083 void SetLineWidth( float );
00084 vtkGetMacro( LineWidth, float );
00086
00088
00092 void GetColor(double rgb[3]);
00093 void GetColor(unsigned char rgb[3]);
00094 double *GetColor();
00096
00103 void SetColor(double rgb[3]);
00104
00106 virtual unsigned long GetMTime();
00107
00108
00109 enum HighlightTypeEnum
00110 {
00111 StippledInvertedHighlight,
00112 ThickHighlight,
00113 ColorHighlight
00114 };
00115
00116
00118
00128 vtkSetMacro( HighlightType, int );
00129 vtkGetMacro( HighlightType, int );
00131
00133
00137 vtkSetClampMacro( HighlightThickness, double, 1.0, 10.0 );
00138 vtkGetMacro( HighlightThickness, double );
00140
00142
00144 vtkSetVector3Macro( HighlightColor, double );
00145 vtkGetVector3Macro( HighlightColor, double );
00147
00149
00150 vtkGetMacro( Highlight, int );
00152
00153
00155
00158 void SetMutable( int );
00159 virtual int GetMutable();
00161
00162 protected:
00163 static vtkKWEPaintbrushProperty *New( vtkKWEPaintbrushSketch * );
00164 static vtkKWEPaintbrushProperty *New();
00165 vtkKWEPaintbrushProperty();
00166 ~vtkKWEPaintbrushProperty();
00167
00169
00170 void SetHighlight( int );
00171 vtkBooleanMacro ( Highlight, int );
00173
00174
00175 vtkGetObjectMacro( Property, vtkProperty );
00176 vtkProperty * Property;
00177
00180 bool HasUserSpecifiedColorOverride();
00181
00182 void SetColorInternal( double rgb[3] );
00183
00184 void SetInteractionEnabled(int i);
00185
00186 private:
00187 vtkKWEPaintbrushProperty(const vtkKWEPaintbrushProperty&);
00188 void operator=(const vtkKWEPaintbrushProperty&);
00189
00190 vtkKWEPaintbrushSketch * PaintbrushSketch;
00191 int Mutable;
00192 char * Identifier;
00193 bool UserSpecifiedColorOverride;
00194 int Highlight;
00195 float LineWidth;
00196 int HighlightType;
00197 double HighlightThickness;
00198 double Color[3];
00199 int Visibility;
00200 int InteractionEnabled;
00201
00202
00203 double HighlightColor[3];
00204 };
00205
00206 #endif
00207