VTK  9.6.20260127
vtkPolyDataMaterial.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
11
12#ifndef vtkPolyDataMaterial_h
13#define vtkPolyDataMaterial_h
14
15#include "vtkCommonDataModelModule.h" // For export macro
16#include "vtkObject.h"
17#include "vtkSetGet.h" // For vtkTypeMacro
18#include <vector> // for std::vector
19
20VTK_ABI_NAMESPACE_BEGIN
21class vtkDataObject;
22
40class VTKCOMMONDATAMODEL_EXPORT vtkPolyDataMaterial : public vtkObject
41{
42public:
45
47
51 static const char* GetTextureURIName() { return "texture_uri"; }
52 static const char* GetDiffuseColorName() { return "diffuse_color"; }
53 static const char* GetSpecularColorName() { return "specular_color"; }
54 static const char* GetTransparencyName() { return "transparency"; }
59 static const char* GetShininessName() { return "shininess"; }
61
63
68 static void SetField(vtkDataObject* obj, const char* name, const char* value);
69 static void SetField(
70 vtkDataObject* obj, const char* name, const std::vector<std::string>& values);
74 static std::vector<std::string> GetField(vtkDataObject* obj, const char* name);
76
78
83 static void SetField(
84 vtkDataObject* obj, const char* name, double* value, vtkIdType numberOfComponents);
88 static std::vector<double> GetField(
89 vtkDataObject* obj, const char* name, const std::vector<double>& defaultValue);
91
92 void PrintSelf(ostream& os, vtkIndent indent) override;
93
94protected:
96
97private:
99 void operator=(const vtkPolyDataMaterial&) = delete;
100};
101
102VTK_ABI_NAMESPACE_END
103#endif
general representation of visualization data
a simple class to control print indentation
Definition vtkIndent.h:108
static void SetField(vtkDataObject *obj, const char *name, const char *value)
Helper functions for setting/getting field arrays.
static void SetField(vtkDataObject *obj, const char *name, double *value, vtkIdType numberOfComponents)
Helper functions for setting/getting field arrays.
static void SetField(vtkDataObject *obj, const char *name, const std::vector< std::string > &values)
Helper functions for setting/getting field arrays.
static std::vector< std::string > GetField(vtkDataObject *obj, const char *name)
It returns an empty vector if the field does not exists.
static const char * GetTransparencyName()
Names for fields stored in the vtkPolyData.
static const char * GetTextureURIName()
Names for fields stored in the vtkPolyData.
static const char * GetDiffuseColorName()
Names for fields stored in the vtkPolyData.
static vtkPolyDataMaterial * New()
static const char * GetShininessName()
Field between 0 (matte, large highlight) and 1 (highly glossy, small/sharp highlight)
vtkPolyDataMaterial()=default
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static const char * GetSpecularColorName()
Names for fields stored in the vtkPolyData.
static std::vector< double > GetField(vtkDataObject *obj, const char *name, const std::vector< double > &defaultValue)
It returns the defaultValue if the field does not exists.
int vtkIdType
Definition vtkType.h:354