00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef VTK_PALETTE_COLOR_BASE_H_
00017
# define VTK_PALETTE_COLOR_BASE_H_
00018
# include "vtkAbstractPaletteColor.h"
00019
00020
VTK_EXTENSIONS_PALETTE_NAMESPACE_BEGIN
00021
00032 class VTK_EXTENSIONS_PALETTE_EXPORT vtkPaletteColorBase
00033 :
public vtkAbstractPaletteColor
00034 {
00035
public:
00036 vtkTypeRevisionMacro (vtkPaletteColorBase,
vtkAbstractPaletteColor);
00037
void PrintSelf (ostream&,
vtkIndent);
00038
00041
void GetColor (
double& a0,
double& a1,
double& a2);
00042
void SetColor (
double a0,
double a1,
double a2);
00045
00047
void UnmarshalContent (
const vtkXMLChType*
const& content);
00048
00049
00050
protected:
00051 vtkPaletteColorBase (
void);
00052 ~vtkPaletteColorBase() {}
00053
00054
00055
void MarshalContent (ostream&,
vtkIndent);
00056
00057 double Color[3];
00058
00059
00060
private:
00066 vtkPaletteColorBase (
const vtkPaletteColorBase&);
00067
void operator= (
const vtkPaletteColorBase&);
00069 };
00070
00071
00072
inline void
00073 vtkPaletteColorBase::GetColor (
double& a0,
double& a1,
double& a2)
00074 {
00075 a0 = this->
Color[0];
00076 a1 = this->Color[1];
00077 a2 = this->Color[2];
00078
00079 vtkDebugMacro(<<
"GetColor(" << a0 <<
", " << a1 <<
", " << a2 <<
")");
00080 }
00081
00082
inline void
00083 vtkPaletteColorBase::SetColor (
double a0,
double a1,
double a2)
00084 {
00085
const double c0 = (a0<0.0 ? 0.0 : (a0>1.0 ? 1.0 : a0));
00086
const double c1 = (a1<0.0 ? 0.0 : (a1>1.0 ? 1.0 : a1));
00087
const double c2 = (a2<0.0 ? 0.0 : (a2>1.0 ? 1.0 : a2));
00088
00089 vtkDebugMacro(<<
"SetColor(" << c0 <<
", " << c1 <<
", " << c2 <<
")");
00090
00091
if ((this->
Color[0] != c0)||(this->
Color[1] != c1)||(this->
Color[2] != c2))
00092 {
00093 this->
Color[0] = c0;
00094 this->
Color[1] = c1;
00095 this->
Color[2] = c2;
00096 this->
Modified();
00097 }
00098 }
00099
00100
VTK_EXTENSIONS_PALETTE_NAMESPACE_END
00101
00102
#endif
00103
00104
00105
00106