From b4192c7a88bad111bebbd42d391d6e729c8617d6 Mon Sep 17 00:00:00 2001 From: olamedia Date: Fri, 28 Sep 2012 18:46:42 +0600 Subject: initial --- src/libnoiseforjava/module/Multiply.java | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/libnoiseforjava/module/Multiply.java (limited to 'src/libnoiseforjava/module/Multiply.java') diff --git a/src/libnoiseforjava/module/Multiply.java b/src/libnoiseforjava/module/Multiply.java new file mode 100644 index 0000000..944994e --- /dev/null +++ b/src/libnoiseforjava/module/Multiply.java @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2003, 2004 Jason Bevins (original libnoise code) + * Copyright 2010 Thomas J. Hodge (java port of libnoise) + * + * This file is part of libnoiseforjava. + * + * libnoiseforjava is a Java port of the C++ library libnoise, which may be found at + * http://libnoise.sourceforge.net/. libnoise was developed by Jason Bevins, who may be + * contacted at jlbezigvins@gmzigail.com (for great email, take off every 'zig'). + * Porting to Java was done by Thomas Hodge, who may be contacted at + * libnoisezagforjava@gzagmail.com (remove every 'zag'). + * + * libnoiseforjava is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later version. + * + * libnoiseforjava is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * libnoiseforjava. If not, see . + * + */ + +package libnoiseforjava.module; + +import libnoiseforjava.exception.ExceptionInvalidParam; + +public class Multiply extends ModuleBase +{ + /// Noise module that outputs the product of the two output values from + /// two source modules. + /// + /// @image html modulemultiply.png + /// + /// This noise module requires two source modules. + + public Multiply (ModuleBase sourceModuleOne, ModuleBase sourceModuleTwo) throws ExceptionInvalidParam + { + super(2); + setSourceModule(0, sourceModuleOne); + setSourceModule(1, sourceModuleTwo); + } + + public double getValue (double x, double y, double z) + { + assert (sourceModules[0] != null); + assert (sourceModules[1] != null); + + return sourceModules[0].getValue (x, y, z) + * sourceModules[1].getValue (x, y, z); + } + +} -- cgit v1.2.3