diff options
Diffstat (limited to 'dep/include/g3dlite/G3D/WrapMode.h')
-rw-r--r-- | dep/include/g3dlite/G3D/WrapMode.h | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/dep/include/g3dlite/G3D/WrapMode.h b/dep/include/g3dlite/G3D/WrapMode.h deleted file mode 100644 index 8ef38a77c23..00000000000 --- a/dep/include/g3dlite/G3D/WrapMode.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - @file WrapMode.h - - @maintainer Morgan McGuire, http://graphics.cs.williams.edu - - @created 2007-04-17 - @edited 2007-04-17 - - Copyright 2000-2010, Morgan McGuire. - All rights reserved. - */ - -#ifndef G3D_WrapMode_h -#define G3D_WrapMode_h - -#include "G3D/platform.h" -#include "G3D/enumclass.h" - -#ifdef IGNORE -# undef IGNORE -#endif -#ifdef ZERO -# undef ZERO -#endif -#ifdef ERROR -# undef ERROR -#endif - -namespace G3D { - -/** - Describes the behavior of G3D::Texture, G3D::Map2D, G3D::Image3, - etc. when accessing an out-of-bounds pixel. Not all classes support - all modes. - - Refer to these as scoped enums, e.g., <code>WrapMode m = WrapMode::CLAMP;</code>. - - WrapMode::IGNORE silently discards attempts to write to out - of bounds locations and returns an undefined value for reading - from out of bounds locations. - - WrapMode::ERROR generates an error when the - pixel indices are out of bounds - - WrapMode::CLAMP makes out of bounds pixels equal to the last in-range pixel along that dimension. - - WrapMode::TILE computes out of bounds pixels modulo the dimension - - WrapMode::ZERO treats out of bounds values as the zero value, which varies in definition - according to the class used. For example, with a G3D::Texture, ZERO = Color4(0,0,0,0). - - Uses the "Intelligent Enum" design pattern - http://www.codeguru.com/cpp/cpp/cpp_mfc/article.php/c4001/ - */ -class WrapMode { -public: - /** Don't use this enum; use WrapMode instances instead. */ - enum Value { - CLAMP, - TILE, - ZERO, - IGNORE, - ERROR - }; - -private: - - Value value; - -public: - - G3D_DECLARE_ENUM_CLASS_METHODS(WrapMode); - - inline const char* toString() const { - static const char* s[] = {"CLAMP", "TILE", "ZERO", "IGNORE", "ERROR"}; - return s[value]; - } - - inline explicit WrapMode(const std::string& x) : value(ERROR) { - static const char* s[] = {"CLAMP", "TILE", "ZERO", "IGNORE", "ERROR"}; - for (int i = 0; i < 5; ++i) { - if (x == s[i]) { - value = (Value)i; - } - } - } -}; - -} // namespace G3D - -G3D_DECLARE_ENUM_CLASS_HASHCODE(G3D::WrapMode); - -#endif |