VTK
vtkXMLMaterial.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXMLMaterial.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
26 #ifndef __vtkXMLMaterial_h
27 #define __vtkXMLMaterial_h
28 
29 #include "vtkObject.h"
30 
31 class vtkXMLDataElement;
32 class vtkXMLMaterialInternals;
33 class vtkXMLShader;
34 
36 {
37 public:
38  static vtkXMLMaterial* New();
39  vtkTypeMacro(vtkXMLMaterial, vtkObject);
40  void PrintSelf(ostream& os, vtkIndent indent);
41 
46  static vtkXMLMaterial* CreateInstance(const char* name);
47 
49  int GetNumberOfProperties();
50 
52  int GetNumberOfTextures();
53 
55  int GetNumberOfVertexShaders();
56 
58  int GetNumberOfFragmentShaders();
59 
61  vtkXMLDataElement* GetProperty(int id=0);
62 
64  vtkXMLDataElement* GetTexture(int id=0);
65 
67  vtkXMLShader* GetVertexShader(int id=0);
68 
70  vtkXMLShader* GetFragmentShader(int id=0);
71 
73 
74  vtkGetObjectMacro(RootElement, vtkXMLDataElement);
75  void SetRootElement(vtkXMLDataElement*);
77 
80  int GetShaderLanguage();
81 
83  int GetShaderStyle();
84 
85 protected:
87  ~vtkXMLMaterial();
88 
90  vtkXMLMaterialInternals* Internals;
91 private:
92  vtkXMLMaterial(const vtkXMLMaterial&); // Not implemented.
93  void operator=(const vtkXMLMaterial&); // Not implemented.
94 };
95 
96 #endif
97