HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_GeometryViewportSettings.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  */
8 
9 #ifndef __HOM_GeometryViewportSettings_h__
10 #define __HOM_GeometryViewportSettings_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Color.h"
14 #include "HOM_Defines.h"
15 #include "HOM_Errors.h"
18 #include "HOM_Module.h"
19 #include "HOM_ObjNode.h"
20 #include "HOM_EnumValue.h"
21 
22 SWIGOUT(%rename(GeometryViewportSettings) HOM_GeometryViewportSettings;)
23 
25 {
26 public:
28  { HOM_CONSTRUCT_OBJECT(this) }
30  { HOM_CONSTRUCT_OBJECT(this) }
32  { HOM_DESTRUCT_OBJECT(this) }
33 
34  virtual std::string __repr__() = 0;
35 
36  virtual HOM_EnumValue &viewportType() = 0;
37 
38  // Markers tab -------------------------------------------------------
39 
40  SWIGOUT(%newobject displaySet;)
41  virtual HOM_GeometryViewportDisplaySet *displaySet(HOM_EnumValue &settype) = 0;
42 
43  virtual float viewAspectRatio(bool masked = true) = 0;
44  virtual double normalScale() = 0;
45  virtual void setNormalScale(double normal_scale) = 0;
46  virtual double vectorScale() = 0;
47  virtual void setVectorScale(double vec_scale) = 0;
48  virtual double pointMarkerSize() = 0;
49  virtual void setPointMarkerSize(double psize) = 0;
50  virtual double originGnomonSize()= 0;
51  virtual void setOriginGnomonSize(double size) = 0;
52 
53  SWIGOUT(%newobject camera;)
54  virtual HOM_ObjNode *camera() = 0;
55  virtual void setCamera(HOM_ObjNode &camera_node) = 0;
56  virtual void setCamera(const char *camera_path) = 0;
57  virtual void saveViewToCamera(HOM_ObjNode &camera_node) = 0;
58 
59  virtual void geometryInfo(HOM_EnumValue &info) = 0;
60  virtual HOM_EnumValue &geometryInfo() = 0;
61 
62  virtual void handleHighlight(HOM_EnumValue &info) = 0;
63  virtual HOM_EnumValue &handleHighlight() = 0;
64 
65  virtual void closureSelection(HOM_EnumValue &info) = 0;
66  virtual HOM_EnumValue &closureSelection() = 0;
67 
68  virtual void guideFontSize(HOM_EnumValue &info) = 0;
69  virtual HOM_EnumValue &guideFontSize() = 0;
70 
71  virtual void setOffsetVertexMarkers(bool enable) = 0;
72  virtual bool offsetVertexMarkers() = 0;
73 
74  // guide enum = viewportGuide
75  virtual void enableGuide(HOM_EnumValue &guide, bool enabled) = 0;
76  virtual bool guideEnabled(HOM_EnumValue &guide) = 0;
77 
78  // Geometry tab -----------------------------------------------------
79 
80  virtual void levelOfDetail(double value) = 0;
81  virtual double levelOfDetail() = 0;
82 
83  // HOM_ViewportVolumeQuality
84  virtual void volumeQuality(HOM_EnumValue &quality) = 0;
85  virtual HOM_EnumValue &volumeQuality() = 0;
86 
87  virtual void volumeWireAsPoints(bool as_points) = 0;
88  virtual bool volumeWireAsPoints() = 0;
89 
90  virtual void polygonConvexQuality(bool quality) = 0;
91  virtual bool polygonConvexQuality() = 0;
92 
93  virtual void subdivsionLimit(int limit_in_millions) = 0;
94  virtual int subdivsionLimit() = 0;
95 
96  virtual void wireWidth(double width) = 0;
97  virtual double wireWidth() = 0;
98 
99  virtual void wireBlend(double blend) = 0;
100  virtual double wireBlend() = 0;
101 
102  virtual void interiorWireAlpha(double alpha) = 0;
103  virtual double interiorWireAlpha() = 0;
104 
105  virtual void shadeOpenCurves(bool shade) = 0;
106  virtual bool shadeOpenCurves() = 0;
107 
108  virtual void selectWireframeAsSolid(bool as_solid) = 0;
109  virtual bool selectWireframeAsSolid() = 0;
110 
111  virtual void setWireOverPackedGeo(bool wire_over_packed) = 0;
112  virtual bool wireOverPackedGeo() = 0;
113 
114 
115  // HOM_ViewportParticleDisplay
116  virtual void particleDisplayType(HOM_EnumValue &quality) = 0;
117  virtual HOM_EnumValue &particleDisplayType() = 0;
118 
119  virtual void allowParticleSprites(bool sprites) = 0;
120  virtual bool allowParticleSprites() = 0;
121 
122  virtual void particlePointSize(double size) = 0;
123  virtual double particlePointSize() = 0;
124 
125  virtual void particleDiscSize(double size) = 0;
126  virtual double particleDiscSize() = 0;
127 
128  virtual void orientDiscToNormal(bool n_orient) = 0;
129  virtual bool orientDiscToNormal() = 0;
130 
131  virtual void spriteTextureLimit(std::vector<int> &max_res)
132  = 0;
133  virtual std::vector<int> spriteTextureLimit() = 0;
134 
135 
136  virtual void pointInstancing(bool enable) = 0;
137  virtual bool pointInstancing() = 0;
138 
139  virtual void pointInstancingPercent(double show_instances) = 0;
140  virtual double pointInstancingPercent() = 0;
141 
142  virtual void pointInstancingLimit(int millions_of_instances) = 0;
143  virtual int pointInstancingLimit() = 0;
144 
145  // HOM_ViewportStandInGeometry
146  virtual void instanceStandInGeometry(HOM_EnumValue &standin) = 0;
147  virtual HOM_EnumValue &instanceStandInGeometry() = 0;
148 
149  virtual void autoGenerateVertexNormals(bool vertex) = 0;
150  virtual bool autoGenerateVertexNormals() = 0;
151 
152  virtual void vertexNormalCuspAngle(double angle) = 0;
153  virtual double vertexNormalCuspAngle() = 0;
154 
155  virtual void vertexNormalLimit(int millions_of_polys) = 0;
156  virtual int vertexNormalLimit() = 0;
157 
158  // Scene tab -------------------------------------------------------
159 
160  virtual void setSceneAntialias(int aa) = 0;
161  virtual int sceneAntialias() = 0;
162 
163  virtual void setHdrRendering(bool hdr) = 0;
164  virtual bool hdrRendering() = 0;
165 
166  virtual void setXrayDrawing(bool global_enable) = 0;
167  virtual bool xrayDrawing() = 0;
168 
169  virtual void setXrayQuality(bool quality) = 0;
170  virtual bool xrayQuality() = 0;
171 
172  virtual void setXrayStrength(double strength) = 0;
173  virtual double xrayStrength() = 0;
174 
175  virtual void setObjectOrigins(bool globel_enable) = 0;
176  virtual bool objectOrigins() = 0;
177 
178  virtual void setOnionSkinning(bool global_enable) = 0;
179  virtual bool onionSkinning() = 0;
180 
181  virtual void setOnionSkinFramesBeforeCount(int num_frames) = 0;
182  virtual int onionSkinFramesBeforeCount() = 0;
183 
184  virtual void setOnionSkinFramesBeforeTint(HOM_Color &tint) = 0;
185  virtual HOM_Color onionSkinFramesBeforeTint() = 0;
186 
187  virtual void setOnionSkinFramesAfterCount(int num_frames) = 0;
188  virtual int onionSkinFramesAfterCount() = 0;
189 
190  virtual void setOnionSkinFramesAfterTint(HOM_Color &tint) = 0;
191  virtual HOM_Color onionSkinFramesAfterTint() = 0;
192 
193  virtual void setOnionSkinFrameIncrement(int frame_increment) = 0;
194  virtual int onionSkinFrameIncrement() = 0;
195 
196  virtual void setOnionSkinOpacity(double opacity) = 0;
197  virtual double onionSkinOpacity() = 0;
198 
199  virtual void setSceneGamma(double gamma) = 0;
200  virtual double sceneGamma() = 0;
201 
202  virtual void setUseSceneLUT(bool enable) = 0;
203  virtual bool useSceneLUT() = 0;
204 
205  virtual void setSceneLUT(std::string lut_file) = 0;
206  virtual std::string sceneLUT() = 0;
207 
208  virtual void setBackgroundImageGammaLUT(bool apply_to_bg) = 0;
209  virtual bool backgroundImageGammaLUT() = 0;
210 
211  // Viewport tab ----------------------------------------------------
212 
213  virtual void showsName(bool show) = 0;
214  virtual bool showName() = 0;
215 
216  virtual void showsCameraName(bool show) = 0;
217  virtual bool showCameraName() = 0;
218 
219  virtual void showsStateStatus(bool show) = 0;
220  virtual bool showStateStatus() = 0;
221 
222  virtual void showsBadges(bool show) = 0;
223  virtual bool showBadges() = 0;
224 
225  virtual void useAspectRatio(bool enable) = 0;
226  virtual bool usingAspectRatio() = 0;
227 
228  virtual void setAspectRatio(double aspect) = 0;
229  virtual double aspectRatio() = 0;
230 
231  virtual void setViewMaskOpacity(double opacity) = 0;
232  virtual double viewMaskOpacity() = 0;
233 
234  virtual void setStereoMode(HOM_EnumValue &viewportStereoMode) = 0;
235  virtual HOM_EnumValue stereoMode() = 0;
236 
237  virtual void setHomeAutoAdjustsClip(HOM_EnumValue &viewportHomeClipMode)= 0;
238  virtual HOM_EnumValue homeAutoAdjustClip() = 0;
239 
240  virtual void setClipPlanes(std::vector<double> clip) = 0;
241  virtual std::vector<double> clipPlanes() = 0;
242 
243  virtual void setMinHomeSize(double min_size) = 0;
244  virtual double minHomeSize() = 0;
245 
246  virtual void setUVDisplayAttribute(const std::string &uv) = 0;
247  virtual std::string uvDisplayAttribute() = 0;
248 
249  virtual void setUVAutoAttribute(bool detect) = 0;
250  virtual bool uvAutoAttribute() = 0;
251 
252  virtual void setUVVertexType(bool is_vertex_uv) = 0;
253  virtual bool uvVertexType() = 0;
254 
255  // Effects tab -----------------------------------------------------
256 
257  virtual void setLighting(HOM_EnumValue &viewportLighting) = 0;
258  virtual HOM_EnumValue &lighting() = 0;
259 
260  virtual void showDiffuse(bool enable) = 0;
261  virtual bool showingDiffuse() = 0;
262 
263  virtual void showSpecular(bool enable) = 0;
264  virtual bool showingSpecular() = 0;
265 
266  virtual void showAmbient(bool enable) = 0;
267  virtual bool showingAmbient() = 0;
268 
269  virtual void showEmission(bool enable) = 0;
270  virtual bool showingEmission() = 0;
271 
272  virtual void setLightSampling(int num_samples) = 0;
273  virtual int lightSampling() = 0;
274 
275  virtual void setHeadlightIntensity(double intensity) = 0;
276  virtual double headlightIntensity() = 0;
277 
278  virtual void setHeadlightDirection(std::vector<double> dir) = 0;
279  virtual std::vector<double> headlightDirection() = 0;
280 
281  virtual void setHeadlightSpecular(bool enable) = 0;
282  virtual bool headlightSpecular() = 0;
283 
284  virtual void showMaterials(bool enable) = 0;
285  virtual bool showingMaterials() = 0;
286 
287  virtual void showGeometryColor(bool enable) = 0;
288  virtual bool showingGeometryColor() = 0;
289 
290  virtual void useTransparency(bool enable) = 0;
291  virtual bool usingTransparency() = 0;
292 
293  virtual void setTransparencyQuality(HOM_EnumValue &viewportTransparency) = 0;
294  virtual HOM_EnumValue transparencyQuality() = 0;
295 
296  virtual void useDisplacement(bool enable) = 0;
297  virtual bool usingDisplacement() = 0;
298 
299  virtual void setDisplacementLevel(double level) = 0;
300  virtual double displacementLevel() = 0;
301 
302  virtual void setDefaultMaterialDiffuse(HOM_Color &tint) = 0;
303  virtual HOM_Color defaultMaterialDiffuse() = 0;
304 
305  virtual void setDefaultMaterialSpecular(HOM_Color &tint) = 0;
306  virtual HOM_Color defaultMaterialSpecular() = 0;
307 
308  virtual void setDefaultMaterialAmbient(HOM_Color &tint) = 0;
309  virtual HOM_Color defaultMaterialAmbient() = 0;
310 
311  virtual void setDefaultMaterialEmission(HOM_Color &tint) = 0;
312  virtual HOM_Color defaultMaterialEmission() = 0;
313 
314 
315  virtual void setAmbientOcclusion(bool enable) = 0;
316  virtual bool ambientOcclusion() = 0;
317 
318  virtual void setAmbientOcclusionLevel(int level) = 0;
319  virtual int ambientOcclusionLevel() = 0;
320 
321  virtual void setShadowQuality(HOM_EnumValue &viewportShadowQuality) = 0;
322  virtual HOM_EnumValue shadowQuality() = 0;
323 
324  virtual void setShadowSensitivity(std::vector<int> offset) = 0;
325  virtual std::vector<int> shadowSensitivity() = 0;
326 
327  virtual void setShadowMapSize(int size) = 0;
328  virtual int shadowMapSize() = 0;
329 
330  virtual void setShadowMapSizeFromLight(bool enable) = 0;
331  virtual bool shadowMapSizeFromLight() = 0;
332 
333  virtual void useReflections(bool enable) = 0;
334  virtual bool usingReflections() = 0;
335 
336  virtual void setHdrReflections(bool hdr_reflect) = 0;
337  virtual bool hdrReflections() = 0;
338 
339  virtual void setReflectMapSize(int size) = 0;
340  virtual int reflectMapSize() = 0;
341 
342  virtual void setMinReflectAmount(double min_reflect) = 0;
343  virtual double minReflectAmount() = 0;
344 
345  // Grid tab ------------------------------------------------------------
346 
347  virtual void setDisplayOrthoGrid(bool enable) = 0;
348  virtual bool displayOrthoGrid() = 0;
349 
350  virtual void setOthroGridOffset(std::vector<double> offset) = 0;
351  virtual std::vector<double> othroGridOffset() = 0;
352 
353  virtual void setOthroGridSpacing(std::vector<double> offset) = 0;
354  virtual std::vector<double> othroGridSpacing() = 0;
355 
356  virtual void setOthroGridRuler(std::vector<int> offset) = 0;
357  virtual std::vector<int> othroGridRuler() = 0;
358 
359  virtual void setOrthoRuler(HOM_EnumValue &viewportGridRuler) = 0;
360  virtual HOM_EnumValue orthoRuler() = 0;
361 
362  virtual void setUVReferenceGrid(bool enable) = 0;
363  virtual bool uvReferenceGrid() = 0;
364 
365  virtual void setUVDisplayGridOverImage(bool enable) = 0;
366  virtual bool uvReferenceGridOverImage() = 0;
367 
368  virtual void setUVGridPixelSpacing(std::vector<int> offset) = 0;
369  virtual std::vector<int> uvGridPixelSpacing() = 0;
370 
371  virtual void setUVGridPixelOffset(std::vector<double> offset) = 0;
372  virtual std::vector<double> uvGridPixelOffset() = 0;
373 
374  virtual void setClampUVGridToBackground(bool enable) = 0;
375  virtual bool clampUVGridToBackground() = 0;
376 
377  virtual void setDisplayUVTileBoundaries(bool enable) = 0;
378  virtual bool displayUVTileBoundaries() = 0;
379 
380  // Background tab ------------------------------------------------------
381 
382  virtual void setColorScheme(HOM_EnumValue &viewportColorScheme) = 0;
383  virtual HOM_EnumValue colorScheme() = 0;
384 
385  SWIGOUT(%newobject backgroundImage;)
386  virtual HOM_GeometryViewportBackground *backgroundImage(
387  HOM_EnumValue &viewportBackgroundView,
388  int layer = 1) = 0;
389 
390  virtual void setDisplayBackgroundImage(bool enable) = 0;
391  virtual bool displayBackgroundImage() = 0;
392 
393  virtual void setDisplayEnvironmentBackgroundImage(bool enable) = 0;
394  virtual bool displayEnvironmentBackgroundImage() = 0;
395 
396  virtual void setFilterBackgroundImage(bool enable) = 0;
397  virtual bool filterBackgroundImage() = 0;
398 
399  virtual void setApplyZoomToBackgroundImage(bool enable) = 0;
400  virtual bool applyZoomToBackgroundImage() = 0;
401 
402  virtual void setBackgroundImageQuality(int quality) = 0;
403  virtual int backgroundImageQuality() = 0;
404 
405  // Texture tab --------------------------------------------------------
406 
407  virtual void setDisplayTextures(bool enable) = 0;
408  virtual bool displayTextures() = 0;
409 
410  virtual void setDisplayTextureLayers(bool enable) = 0;
411  virtual bool displayTextureLayers() = 0;
412 
413  virtual void setDisplayProjectedTextures(bool enable) = 0;
414  virtual bool displayProjectedTextures() = 0;
415 
416  virtual void setTextureMipmapping(bool enable) = 0;
417  virtual bool textureMipmapping() = 0;
418 
419  virtual void setTextureAnisotropicFilter(int num_samples) = 0;
420  virtual int textureAnisotropicFilter() = 0;
421 
422  virtual void setTextureCacheSize(int size_in_mb) = 0;
423  virtual int textureCacheSize() = 0;
424 
425  virtual void setTextureMaxMemory(int size_in_mb) = 0;
426  virtual int textureMaxMemory() = 0;
427 
428  virtual void setTextureAutoReduce(bool enable) = 0;
429  virtual bool textureAutoReduce() = 0;
430 
431  virtual void setTextureAutoReduce2D(bool enable) = 0;
432  virtual bool textureAutoReduce2D() = 0;
433 
434  virtual void setTextureAutoReduce3D(bool enable) = 0;
435  virtual bool textureAutoReduce3D() = 0;
436 
437  virtual void setTextureResLimit2D(bool enable) = 0;
438  virtual bool textureResLimit2D() = 0;
439 
440  virtual void setTextureMaxRes2D(std::vector<int> res) = 0;
441  virtual std::vector<int> textureMaxRes2D() = 0;
442 
443  virtual void setTextureBitDepthLimit2D(HOM_EnumValue &viewportTextureDepth)= 0;
444  virtual HOM_EnumValue textureBitDepthLimit2D() = 0;
445 
446  virtual void setTextureScale2D(double scale) = 0;
447  virtual double textureScale2D() = 0;
448 
449  virtual void setTextureResLimit3D(bool enable) = 0;
450  virtual bool textureResLimit3D() = 0;
451 
452  virtual void setTexture2DSettingsFor3D(bool enable) = 0;
453  virtual bool texture2DSettingsFor3D() = 0;
454 
455  virtual void setTextureMaxRes3D(std::vector<int> res) = 0;
456  virtual std::vector<int> textureMaxRes3D() = 0;
457 
458  virtual void setTextureBitDepthLimit3D(HOM_EnumValue &viewportTextureDepth)= 0;
459  virtual HOM_EnumValue textureBitDepthLimit3D() = 0;
460 
461  virtual void setTextureScale3D(double scale) = 0;
462  virtual double textureScale3D() = 0;
463 
464  // Optimize tab --------------------------------------------------------
465  virtual void useMaterialStylesheets(bool enable) = 0;
466  virtual bool usingMaterialStylesheets() = 0;
467 
468  virtual void usePerPrimStylesheets(bool enable) = 0;
469  virtual bool usingPerPrimStylesheets() = 0;
470 
471  virtual void usePackedStylesheets(bool enable) = 0;
472  virtual bool usingPackedStylesheets() = 0;
473 
474  virtual void useMaterialOverrides(bool enable) = 0;
475  virtual bool usingMaterialOverrides() = 0;
476 
477  virtual void setSingleObjectMaterialLimit(int num_materials) = 0;
478  virtual int singleObjectMaterialLimit() = 0;
479 
480  virtual void setMaterialUpdate(HOM_EnumValue &viewportMaterialUpdate) = 0;
481  virtual HOM_EnumValue materialUpdate() = 0;
482 
483  virtual void setInteractiveMaterialUpdate(bool enable) = 0;
484  virtual bool interactiveMaterialUpdate() = 0;
485 
486  virtual void updateMaterials() = 0;
487 
488 
489  virtual void setVisibleObjects(const std::string &uv) = 0;
490  virtual std::string visibleObjects() = 0;
491 
492  virtual void setRemoveBackfaces(bool enable) = 0;
493  virtual bool removeBackfaces() = 0;
494 
495  virtual void setHullsOnly(bool enable) = 0;
496  virtual bool hullsOnly() = 0;
497 
498  virtual void setDistanceBasedPackedCulling(bool enable) = 0;
499  virtual bool distanceBasedPackedCulling() = 0;
500 
501  virtual void setScenePolygonLimit(int millions_of_polygons) = 0;
502  virtual int scenePolygonLimit() = 0;
503 
504  virtual void setPackedBoundingBoxMode(HOM_EnumValue &viewportPackedBoxMode) = 0;
505  virtual HOM_EnumValue packedBoundingBoxMode() = 0;
506 
507  virtual void setOptimizeGeometry(bool enable) = 0;
508  virtual bool optimizeGeometry() = 0;
509 
510 
511  virtual void setAgentLODReduction(bool enable) = 0;
512  virtual bool agentLODReduction() = 0;
513 
514  virtual void setAgentLODReductionBias(int reduce_bias) = 0;
515  virtual int agentLODReductionBias() = 0;
516 
517  virtual void setAgentShapePointCutoff(int num_points) = 0;
518  virtual int agentShapePointCutoff() = 0;
519 
520  virtual void setMaxLODLevels(int num_levels) = 0;
521  virtual int maxLODLevels() = 0;
522 
523  virtual void setBaseLODLevel(int base_level) = 0;
524  virtual int baseLODLevel() = 0;
525 
526  virtual void setSingleBoneDeform(HOM_EnumValue &viewportAgentBoneDeform)=0;
527  virtual HOM_EnumValue singleBoneDeform() = 0;
528 
529  virtual void setAgentWireframe(HOM_EnumValue &viewportAgentWireframe)=0;
530  virtual HOM_EnumValue agentWireframe() = 0;
531 };
532 
533 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1056
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1298
GA_API const UT_StringHolder uv
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
GLint level
Definition: glcorearb.h:107
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:344
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glcorearb.h:2538
GLsizeiptr size
Definition: glcorearb.h:663
GLint GLsizei width
Definition: glcorearb.h:102
GA_API const UT_StringHolder scale
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1055
GLintptr offset
Definition: glcorearb.h:664
T angle(const Vec2< T > &v1, const Vec2< T > &v2)
Definition: Vec2.h:472
GLfloat GLfloat GLfloat alpha
Definition: glcorearb.h:111
HOM_GeometryViewportSettings(const HOM_GeometryViewportSettings &)
GLsizei const GLfloat * value
Definition: glcorearb.h:823
IMATH_INTERNAL_NAMESPACE_HEADER_ENTER T clip(const T &p, const Box< T > &box)
Definition: ImathBoxAlgo.h:89