1 // checkerboard.h 2 // 3 // Copyright (C) 2003, 2004 Jason Bevins 4 // 5 // This library is free software; you can redistribute it and/or modify it 6 // under the terms of the GNU Lesser General Public License as published by 7 // the Free Software Foundation; either version 2.1 of the License, or (at 8 // your option) any later version. 9 // 10 // This library is distributed in the hope that it will be useful, but WITHOUT 11 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 13 // License (COPYING.txt) for more details. 14 // 15 // You should have received a copy of the GNU Lesser General Public License 16 // along with this library; if not, write to the Free Software Foundation, 17 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 // 19 // The developer's email is jlbezigvins@gmzigail.com (for great email, take 20 // off every 'zig'.) 21 // 22 23 #ifndef NOISE_MODULE_CHECKERBOARD_H 24 #define NOISE_MODULE_CHECKERBOARD_H 25 26 #include "modulebase.h" 27 28 namespace noise 29 { 30 31 namespace module 32 { 33 34 /// @addtogroup libnoise 35 /// @{ 36 37 /// @addtogroup modules 38 /// @{ 39 40 /// @addtogroup generatormodules 41 /// @{ 42 43 /// Noise module that outputs a checkerboard pattern. 44 /// 45 /// @image html modulecheckerboard.png 46 /// 47 /// This noise module outputs unit-sized blocks of alternating values. 48 /// The values of these blocks alternate between -1.0 and +1.0. 49 /// 50 /// This noise module is not really useful by itself, but it is often used 51 /// for debugging purposes. 52 /// 53 /// This noise module does not require any source modules. 54 class Checkerboard: public Module 55 { 56 57 public: 58 59 /// Constructor. 60 Checkerboard (); 61 GetSourceModuleCount()62 virtual int GetSourceModuleCount () const 63 { 64 return 0; 65 } 66 67 virtual double GetValue (double x, double y, double z) const; 68 69 }; 70 71 /// @} 72 73 /// @} 74 75 /// @} 76 77 } 78 79 } 80 81 #endif 82