00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
#ifndef VTK_PALETTE_MATERIAL_H_
00017
# define VTK_PALETTE_MATERIAL_H_
00018
# include "vtkAbstractPaletteMaterial.h"
00019
00020
VTK_EXTENSIONS_PALETTE_NAMESPACE_BEGIN
00021
00022
class vtkPaletteColorBase;
00023
00034 class VTK_EXTENSIONS_PALETTE_EXPORT vtkPaletteMaterial
00035 :
public vtkAbstractPaletteMaterial
00036 {
00037
public:
00038
static vtkPaletteMaterial*
New (
void);
00039 vtkTypeRevisionMacro (vtkPaletteMaterial,
vtkAbstractPaletteMaterial);
00040
void PrintSelf (ostream&,
vtkIndent);
00041
00042
00044
const vtkXMLChType*
GetTagName (
void)
const;
00045
00046
00048
int GetType (
void)
const;
00049
00051 int IsLeaf (
void)
const {
return false; }
00052
00054
int IsEmpty (
void) const;
00055
00057
vtkIdType GetSize (
void) const;
00058
00060
vtkIdType GetCapacity (
void) const;
00061
00069
vtkPaletteElement* Find (const
char* name) const;
00070
00082
int Insert (
vtkPaletteElement* & element);
00083
00090
int Erase (const
char* name);
00091
00094
void GetColor (
double& c0,
00095
double& c1,
00096
double& c2);
00097
void SetColor (
double c0,
00098
double c1,
00099
double c2);
00104
double GetOpacity (
void);
00105
void SetOpacity (
double);
00110
void GetAmbientColor (
double& c0,
00111
double& c1,
00112
double& c2);
00113
void SetAmbientColor (
double c0,
00114
double c1,
00115
double c2);
00120
void GetDiffuseColor (
double& c0,
00121
double& c1,
00122
double& c2);
00123
void SetDiffuseColor (
double c0,
00124
double c1,
00125
double c2);
00130
void GetSpecularColor (
double& c0,
00131
double& c1,
00132
double& c2);
00133
void SetSpecularColor (
double c0,
00134
double c1,
00135
double c2);
00140
double GetSpecularPower (
void);
00141
void SetSpecularPower (
double);
00146 vtkGetObjectMacro(AmbientColorElement,
vtkAbstractPaletteMaterial);
00147
void SetAmbientColorElement (vtkAbstractPaletteMaterial*);
00152 vtkGetObjectMacro(DiffuseColorElement, vtkAbstractPaletteMaterial);
00153
void SetDiffuseColorElement (vtkAbstractPaletteMaterial*);
00158 vtkGetObjectMacro(SpecularColorElement, vtkAbstractPaletteMaterial);
00159
void SetSpecularColorElement (vtkAbstractPaletteMaterial*);
00162
00163 static const vtkXMLChType* const materialString;
00164
00165
00166 protected:
00167 vtkPaletteMaterial (
void);
00168 ~vtkPaletteMaterial();
00169
00170
00171
void MarshalContent (ostream&,
vtkIndent);
00172
00173
00174 vtkAbstractPaletteMaterial* AmbientColorElement;
00175 vtkAbstractPaletteMaterial* DiffuseColorElement;
00176 vtkAbstractPaletteMaterial* SpecularColorElement;
00177
00178 private:
00184 vtkPaletteMaterial (const vtkPaletteMaterial&);
00185
void operator= (const vtkPaletteMaterial&);
00187 };
00188
00189 VTK_EXTENSIONS_PALETTE_NAMESPACE_END
00190
00191 #endif
00192
00193
00194
00195