HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GEO_VolumeOptions.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  * NAME: GEO_VolumeOptions.h (GEO Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __GEO_VOLUMEOPTIONS_H_INCLUDED__
12 #define __GEO_VOLUMEOPTIONS_H_INCLUDED__
13 
14 #include <UT/UT_VoxelArray.h>
15 
16 #include "GEO_API.h"
17 
19 {
26 };
27 
29 {
37 };
38 
40 {
46 
48 };
49 
51 {
52  explicit
55  fpreal iso = 0.0,
56  fpreal density = 1.0,
58  : myMode(mode)
59  , myIso(iso)
60  , myDensity(density)
61  , myLod(lod)
62  {
63  }
64  bool operator==(const GEO_VolumeOptions &v) const
65  {
66  return (myMode == v.myMode
67  && myIso == v.myIso
68  && myDensity == v.myDensity
69  && myLod == v.myLod);
70  }
71  bool operator!=(const GEO_VolumeOptions &v) const
72  {
73  return !(*this == v);
74  }
75 
80 };
81 
82 /// Return string token from GEO_VolumeBorder enum value
83 GEO_API const char * GEOgetVolumeBorderToken(
85 /// Return GEO_VolumeBorder enum value from string token. def is returned if
86 /// token is unknown.
88  const char *token,
89  GEO_VolumeBorder def);
90 
91 /// Return string token from GEO_VolumeVis enum value
92 GEO_API const char * GEOgetVolumeVisToken(
93  GEO_VolumeVis vis);
94 /// Return GEO_VolumeVis enum value from string token. def is returned if
95 /// token is unknown.
97  const char *vis,
98  GEO_VolumeVis def);
99 
100 /// Return string token from GEO_VolumeVisLod enum value
101 GEO_API const char * GEOgetVolumeVisLodToken(
103 /// Return GEO_VolumeVisLod enum value from string token. def is returned if
104 /// token is unknown.
106  const char *token,
107  GEO_VolumeVisLod def);
108 
109 inline size_t format(char *buf, size_t bufsize, const GEO_VolumeBorder &v)
110 {
111  UT::Format::Writer writer(buf, bufsize);
113  return f.format(writer, "{}", {GEOgetVolumeBorderToken(v)});
114 }
115 
116 inline size_t format(char *buf, size_t bufsize, const GEO_VolumeVis &v)
117 {
118  UT::Format::Writer writer(buf, bufsize);
120  return f.format(writer, "{}", {GEOgetVolumeVisToken(v)});
121 }
122 
123 inline size_t format(char *buf, size_t bufsize, const GEO_VolumeVisLod &v)
124 {
125  UT::Format::Writer writer(buf, bufsize);
127  return f.format(writer, "{}", {GEOgetVolumeVisLodToken(v)});
128 }
129 
130 #endif // __GEO_VOLUMEOPTIONS_H_INCLUDED__
bool operator==(const GEO_VolumeOptions &v) const
GEO_API const char * GEOgetVolumeBorderToken(GEO_VolumeBorder border)
Return string token from GEO_VolumeBorder enum value.
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glcorearb.h:2540
GLenum GLuint GLsizei bufsize
Definition: glcorearb.h:1818
const GLdouble * v
Definition: glcorearb.h:837
bool operator!=(const GEO_VolumeOptions &v) const
GEO_API GEO_VolumeBorder GEOgetVolumeBorderEnum(const char *token, GEO_VolumeBorder def)
GEO_VolumeVis myMode
GLfloat f
Definition: glcorearb.h:1926
size_t format(char *buf, size_t bufsize, const GEO_VolumeBorder &v)
GEO_API const char * GEOgetVolumeVisLodToken(GEO_VolumeVisLod lod)
Return string token from GEO_VolumeVisLod enum value.
GEO_VolumeBorder
GEO_VolumeVisLod myLod
GEO_API const char * GEOgetVolumeVisToken(GEO_VolumeVis vis)
Return string token from GEO_VolumeVis enum value.
#define GEO_API
Definition: GEO_API.h:14
GEO_VolumeVis
GEO_API GEO_VolumeVisLod GEOgetVolumeVisLodEnum(const char *token, GEO_VolumeVisLod def)
GLenum mode
Definition: glcorearb.h:99
GEO_API GEO_VolumeVis GEOgetVolumeVisEnum(const char *vis, GEO_VolumeVis def)
GLint GLint GLsizei GLint border
Definition: glcorearb.h:108
GEO_VolumeOptions(GEO_VolumeVis mode=GEO_VOLUMEVIS_SMOKE, fpreal iso=0.0, fpreal density=1.0, GEO_VolumeVisLod lod=GEO_VOLUMEVISLOD_FULL)
fpreal64 fpreal
Definition: SYS_Types.h:277
GEO_VolumeVisLod
size_t format(W &writer, const char *format, std::initializer_list< ArgValue > args)
GLint lod
Definition: glcorearb.h:2765