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