aboutsummaryrefslogtreecommitdiff
path: root/dep/src/g3dlite/constants.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dep/src/g3dlite/constants.cpp')
-rw-r--r--dep/src/g3dlite/constants.cpp82
1 files changed, 82 insertions, 0 deletions
diff --git a/dep/src/g3dlite/constants.cpp b/dep/src/g3dlite/constants.cpp
new file mode 100644
index 00000000000..52cad3cd90b
--- /dev/null
+++ b/dep/src/g3dlite/constants.cpp
@@ -0,0 +1,82 @@
+/**
+ @file constants.cpp
+
+ @maintainer Morgan McGuire, http://graphics.cs.williams.edu
+ @created 2009-05-20
+ @edited 2010-01-29
+*/
+#include "G3D/constants.h"
+#include "G3D/Any.h"
+#include "G3D/stringutils.h"
+
+namespace G3D {
+
+const std::string MirrorQuality::str[] = {"NONE", "STATIC_ENV", "DYNAMIC_PLANAR", "DYNAMIC_ENV", "BEST"};
+const MirrorQuality::Value MirrorQuality::enm[] = {MirrorQuality::NONE, MirrorQuality::STATIC_ENV,
+ MirrorQuality::DYNAMIC_PLANAR, MirrorQuality::DYNAMIC_ENV, MirrorQuality::BEST};
+
+MirrorQuality::MirrorQuality(const class Any& any) {
+ *this = any;
+}
+
+
+MirrorQuality& MirrorQuality::operator=(const Any& any) {
+ const std::string& s = toUpper(any.string());
+
+ for (int i = 0; ! str[i].empty(); ++i) {
+ if (s == str[i]) {
+ value = enm[i];
+ return *this;
+ }
+ }
+
+ any.verify(false, "Unrecognized MirrorQuality constant");
+ return *this;
+}
+
+
+MirrorQuality::operator Any() const {
+ return toString();
+}
+
+
+const std::string& MirrorQuality::toString() const {
+ return str[value];
+}
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+const std::string RefractionQuality::str[] = {"NONE", "STATIC_ENV", "DYNAMIC_FLAT", "DYNAMIC_FLAT_MULTILAYER", "DYNAMIC_ENV", "BEST"};
+const RefractionQuality::Value RefractionQuality::enm[] = {RefractionQuality::NONE, RefractionQuality::STATIC_ENV,
+ RefractionQuality::DYNAMIC_FLAT, RefractionQuality::DYNAMIC_FLAT_MULTILAYER, RefractionQuality::DYNAMIC_ENV, RefractionQuality::BEST};
+
+RefractionQuality::RefractionQuality(const class Any& any) {
+ *this = any;
+}
+
+
+RefractionQuality& RefractionQuality::operator=(const Any& any) {
+ const std::string& s = toUpper(any.string());
+
+ for (int i = 0; ! str[i].empty(); ++i) {
+ if (s == str[i]) {
+ value = enm[i];
+ return *this;
+ }
+ }
+
+ any.verify(false, "Unrecognized RefractionQuality constant");
+ return *this;
+}
+
+
+RefractionQuality::operator Any() const {
+ return toString();
+}
+
+
+const std::string& RefractionQuality::toString() const {
+ return str[value];
+}
+
+} // G3D