1 // max.h2 //3 // Copyright (C) 2003, 2004 Jason Bevins4 //5 // This library is free software; you can redistribute it and/or modify it6 // under the terms of the GNU Lesser General Public License as published by7 // the Free Software Foundation; either version 2.1 of the License, or (at8 // your option) any later version.9 //10 // This library is distributed in the hope that it will be useful, but WITHOUT11 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public13 // License (COPYING.txt) for more details.14 //15 // You should have received a copy of the GNU Lesser General Public License16 // along with this library; if not, write to the Free Software Foundation,17 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA18 //19 // The developer's email is jlbezigvins@gmzigail.com (for great email, take20 // off every 'zig'.)21 //22 modulenoise.mod.max;
23 24 private {
25 importnoise.mod.modulebase;
26 importnoise.misc;
27 }
28 /// @addtogroup libnoise29 /// @{30 31 /// @addtogroup modules32 /// @{33 34 /// @addtogroup combinermodules35 /// @{36 37 /// Noise module that outputs the larger of the two output values from two38 /// source modules.39 ///40 /// @image html modulemax.png41 ///42 /// This noise module requires two source modules.43 classMax : Mod44 {
45 46 public:
47 48 /// Constructor.49 this()
50 {
51 super(this.GetSourceModCount());
52 }
53 54 overrideintGetSourceModCount () const55 {
56 return2;
57 }
58 59 overridedoubleGetValue (doublex, doubley, doublez) const60 {
61 assert (m_pSourceMod[0] !isnull);
62 assert (m_pSourceMod[1] !isnull);
63 64 doublev0 = m_pSourceMod[0].GetValue (x, y, z);
65 doublev1 = m_pSourceMod[1].GetValue (x, y, z);
66 returnGetMax (v0, v1);
67 }
68 69 }
70 71 /// @}72 73 /// @}74 75 /// @}