ArcGIS Procedural Runtime  3.2.10650
BuiltinMaterialAttributes.h
1 /*
2  COPYRIGHT (c) 2012-2024 Esri R&D Center Zurich
3  TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL
4  Unpublished material - all rights reserved under the
5  Copyright Laws of the United States and applicable international
6  laws, treaties, and conventions.
7 
8  For additional information, contact:
9  Environmental Systems Research Institute, Inc.
10  Attn: Contracts and Legal Services Department
11  380 New York Street
12  Redlands, California, 92373
13  USA
14 
15  email: contracts@esri.com
16 */
17 
18 // !! DO NOT MODIFY !! - this file is automatically generated by CGAC
19 // Fri Sep 13 11:01:58 CEST 2024
20 
21 #ifndef BUILTINMATERIALATTRIBUTES_H_
22 #define BUILTINMATERIALATTRIBUTES_H_
23 
24 #include "prtx/prtx.h"
25 #include "prtx/Texture.h"
26 #include "prtx/BuiltinAttributes.h"
27 
28 #include <string>
29 #include <vector>
30 
31 
32 namespace prtx {
33 
39 class PRTX_EXPORTS_API BuiltinMaterialAttributes : public BuiltinAttributesGetters {
40 public:
41 
42  // cga attributes
43  virtual double ambient_b() const = 0;
44  virtual double ambient_g() const = 0;
45  virtual double ambient_r() const = 0;
46  virtual double bumpValue() const = 0;
47  virtual double bumpmap_rw() const = 0;
48  virtual double bumpmap_su() const = 0;
49  virtual double bumpmap_sv() const = 0;
50  virtual double bumpmap_tu() const = 0;
51  virtual double bumpmap_tv() const = 0;
52  virtual double color_b() const = 0;
53  virtual double color_g() const = 0;
54  virtual double color_r() const = 0;
55  virtual double colormap_rw() const = 0;
56  virtual double colormap_su() const = 0;
57  virtual double colormap_sv() const = 0;
58  virtual double colormap_tu() const = 0;
59  virtual double colormap_tv() const = 0;
60  virtual double dirtmap_rw() const = 0;
61  virtual double dirtmap_su() const = 0;
62  virtual double dirtmap_sv() const = 0;
63  virtual double dirtmap_tu() const = 0;
64  virtual double dirtmap_tv() const = 0;
65  virtual double emissive_b() const = 0;
66  virtual double emissive_g() const = 0;
67  virtual double emissive_r() const = 0;
68  virtual double emissivemap_rw() const = 0;
69  virtual double emissivemap_su() const = 0;
70  virtual double emissivemap_sv() const = 0;
71  virtual double emissivemap_tu() const = 0;
72  virtual double emissivemap_tv() const = 0;
73  virtual double metallic() const = 0;
74  virtual double metallicmap_rw() const = 0;
75  virtual double metallicmap_su() const = 0;
76  virtual double metallicmap_sv() const = 0;
77  virtual double metallicmap_tu() const = 0;
78  virtual double metallicmap_tv() const = 0;
79  virtual double normalmap_rw() const = 0;
80  virtual double normalmap_su() const = 0;
81  virtual double normalmap_sv() const = 0;
82  virtual double normalmap_tu() const = 0;
83  virtual double normalmap_tv() const = 0;
84  virtual double occlusionmap_rw() const = 0;
85  virtual double occlusionmap_su() const = 0;
86  virtual double occlusionmap_sv() const = 0;
87  virtual double occlusionmap_tu() const = 0;
88  virtual double occlusionmap_tv() const = 0;
89  virtual double opacity() const = 0;
90  virtual double opacitymap_cutoff() const = 0;
91  virtual double opacitymap_rw() const = 0;
92  virtual double opacitymap_su() const = 0;
93  virtual double opacitymap_sv() const = 0;
94  virtual double opacitymap_tu() const = 0;
95  virtual double opacitymap_tv() const = 0;
96  virtual double reflectivity() const = 0;
97  virtual double roughness() const = 0;
98  virtual double roughnessmap_rw() const = 0;
99  virtual double roughnessmap_su() const = 0;
100  virtual double roughnessmap_sv() const = 0;
101  virtual double roughnessmap_tu() const = 0;
102  virtual double roughnessmap_tv() const = 0;
103  virtual double shininess() const = 0;
104  virtual double specular_b() const = 0;
105  virtual double specular_g() const = 0;
106  virtual double specular_r() const = 0;
107  virtual double specularmap_rw() const = 0;
108  virtual double specularmap_su() const = 0;
109  virtual double specularmap_sv() const = 0;
110  virtual double specularmap_tu() const = 0;
111  virtual double specularmap_tv() const = 0;
112  virtual bool doubleSided() const = 0;
113  virtual const std::wstring& bumpmap() const = 0;
114  virtual const std::wstring& colormap() const = 0;
115  virtual const std::wstring& dirtmap() const = 0;
116  virtual const std::wstring& emissivemap() const = 0;
117  virtual const std::wstring& metallicmap() const = 0;
118  virtual const std::wstring& name() const = 0;
119  virtual const std::wstring& normalmap() const = 0;
120  virtual const std::wstring& occlusionmap() const = 0;
121  virtual const std::wstring& opacitymap() const = 0;
122  virtual const std::wstring& opacitymap_mode() const = 0;
123  virtual const std::wstring& roughnessmap() const = 0;
124  virtual const std::wstring& shader() const = 0;
125  virtual const std::wstring& specularmap() const = 0;
126 
127  // default Material keys
128  virtual const std::vector<double>& ambientColor() const = 0;
129  virtual const std::vector<double>& diffuseColor() const = 0;
130  virtual const std::vector<double>& emissiveColor() const = 0;
131  virtual const std::vector<double>& specularColor() const = 0;
132  virtual const std::vector<prtx::TexturePtr>& bumpMap() const = 0;
133  virtual const std::vector<prtx::TexturePtr>& diffuseMap() const = 0;
134  virtual const std::vector<prtx::TexturePtr>& emissiveMap() const = 0;
135  virtual const std::vector<prtx::TexturePtr>& metallicMap() const = 0;
136  virtual const std::vector<prtx::TexturePtr>& normalMap() const = 0;
137  virtual const std::vector<prtx::TexturePtr>& occlusionMap() const = 0;
138  virtual const std::vector<prtx::TexturePtr>& opacityMap() const = 0;
139  virtual const std::vector<prtx::TexturePtr>& roughnessMap() const = 0;
140  virtual const std::vector<prtx::TexturePtr>& specularMap() const = 0;
141 
142 
143 protected:
144  virtual void fillBuiltinKeys(WStringVector& keys) const override;
145  virtual prt::Attributable::PrimitiveType getBuiltinType(const std::wstring& k) const override;
146 
147  virtual bool getBuiltinBool(const std::wstring& k, bool& stat) const override;
148  virtual double getBuiltinFloat(const std::wstring& k, bool& stat) const override;
149  virtual const std::wstring& getBuiltinString(const std::wstring& k, bool& val) const override;
150 
152  virtual ~BuiltinMaterialAttributes() {};
153 };
154 
155 
162 public:
163 
164  // cga attributes
165  virtual void ambient_b(double val) = 0;
166  virtual void ambient_g(double val) = 0;
167  virtual void ambient_r(double val) = 0;
168  virtual void bumpValue(double val) = 0;
169  virtual void bumpmap_rw(double val) = 0;
170  virtual void bumpmap_su(double val) = 0;
171  virtual void bumpmap_sv(double val) = 0;
172  virtual void bumpmap_tu(double val) = 0;
173  virtual void bumpmap_tv(double val) = 0;
174  virtual void color_b(double val) = 0;
175  virtual void color_g(double val) = 0;
176  virtual void color_r(double val) = 0;
177  virtual void colormap_rw(double val) = 0;
178  virtual void colormap_su(double val) = 0;
179  virtual void colormap_sv(double val) = 0;
180  virtual void colormap_tu(double val) = 0;
181  virtual void colormap_tv(double val) = 0;
182  virtual void dirtmap_rw(double val) = 0;
183  virtual void dirtmap_su(double val) = 0;
184  virtual void dirtmap_sv(double val) = 0;
185  virtual void dirtmap_tu(double val) = 0;
186  virtual void dirtmap_tv(double val) = 0;
187  virtual void emissive_b(double val) = 0;
188  virtual void emissive_g(double val) = 0;
189  virtual void emissive_r(double val) = 0;
190  virtual void emissivemap_rw(double val) = 0;
191  virtual void emissivemap_su(double val) = 0;
192  virtual void emissivemap_sv(double val) = 0;
193  virtual void emissivemap_tu(double val) = 0;
194  virtual void emissivemap_tv(double val) = 0;
195  virtual void metallic(double val) = 0;
196  virtual void metallicmap_rw(double val) = 0;
197  virtual void metallicmap_su(double val) = 0;
198  virtual void metallicmap_sv(double val) = 0;
199  virtual void metallicmap_tu(double val) = 0;
200  virtual void metallicmap_tv(double val) = 0;
201  virtual void normalmap_rw(double val) = 0;
202  virtual void normalmap_su(double val) = 0;
203  virtual void normalmap_sv(double val) = 0;
204  virtual void normalmap_tu(double val) = 0;
205  virtual void normalmap_tv(double val) = 0;
206  virtual void occlusionmap_rw(double val) = 0;
207  virtual void occlusionmap_su(double val) = 0;
208  virtual void occlusionmap_sv(double val) = 0;
209  virtual void occlusionmap_tu(double val) = 0;
210  virtual void occlusionmap_tv(double val) = 0;
211  virtual void opacity(double val) = 0;
212  virtual void opacitymap_cutoff(double val) = 0;
213  virtual void opacitymap_rw(double val) = 0;
214  virtual void opacitymap_su(double val) = 0;
215  virtual void opacitymap_sv(double val) = 0;
216  virtual void opacitymap_tu(double val) = 0;
217  virtual void opacitymap_tv(double val) = 0;
218  virtual void reflectivity(double val) = 0;
219  virtual void roughness(double val) = 0;
220  virtual void roughnessmap_rw(double val) = 0;
221  virtual void roughnessmap_su(double val) = 0;
222  virtual void roughnessmap_sv(double val) = 0;
223  virtual void roughnessmap_tu(double val) = 0;
224  virtual void roughnessmap_tv(double val) = 0;
225  virtual void shininess(double val) = 0;
226  virtual void specular_b(double val) = 0;
227  virtual void specular_g(double val) = 0;
228  virtual void specular_r(double val) = 0;
229  virtual void specularmap_rw(double val) = 0;
230  virtual void specularmap_su(double val) = 0;
231  virtual void specularmap_sv(double val) = 0;
232  virtual void specularmap_tu(double val) = 0;
233  virtual void specularmap_tv(double val) = 0;
234  virtual void doubleSided(bool val) = 0;
235  virtual void name(const std::wstring& val) = 0;
236  virtual void opacitymap_mode(const std::wstring& val) = 0;
237  virtual void shader(const std::wstring& val) = 0;
238 
239  // default Material keys
240  virtual void ambientColor(const std::vector<double>& val) = 0;
241  virtual void diffuseColor(const std::vector<double>& val) = 0;
242  virtual void emissiveColor(const std::vector<double>& val) = 0;
243  virtual void specularColor(const std::vector<double>& val) = 0;
244  virtual void bumpMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
245  virtual void diffuseMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
246  virtual void emissiveMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
247  virtual void metallicMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
248  virtual void normalMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
249  virtual void occlusionMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
250  virtual void opacityMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
251  virtual void roughnessMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
252  virtual void specularMap(const std::vector<prtx::TexturePtr>& val, const std::vector<std::wstring>& resolveMapKeys) = 0;
253 
254 
255 protected:
256  // BuiltinAttributesSetters interface
257  virtual bool setBuiltinBool(const std::wstring& k, bool val);
258  virtual bool setBuiltinFloat(const std::wstring& k, double val);
259  virtual bool setBuiltinString(const std::wstring& k, const std::wstring& found);
260 
262  virtual ~BuiltinMaterialAttributesBuilder() {};
263 };
264 
265 } // namespace
266 #endif
Definition: BuiltinMaterialAttributes.h:161
Definition: BuiltinAttributes.h:48
The Procedural Runtime eXtension namespace. The prtx namespace contains the tools to extend the Proce...
Definition: AnnotationBuilder.h:35
PrimitiveType
Definition: Attributable.h:44
Definition: BuiltinMaterialAttributes.h:39
std::vector< std::wstring > WStringVector
vector of std::wstring
Definition: Types.h:35
Definition: BuiltinAttributes.h:62