public override double GetValue(double x, double y, double z) { if (SourceModule == null) { throw new InvalidOperationException("Source Module cannot be null"); } if (XDisplaceModule == null) { throw new InvalidOperationException("XDisplace Module cannot be null"); } if (YDisplaceModule == null) { throw new InvalidOperationException("YDisplace Module cannot be null"); } if (ZDisplaceModule == null) { throw new InvalidOperationException("ZDisplace Module cannot be null"); } // Get the output values from the three displacement modules. Add each // value to the corresponding coordinate in the input value. double xDisplace = x + (XDisplaceModule.GetValue(x, y, z)); double yDisplace = y + (YDisplaceModule.GetValue(x, y, z)); double zDisplace = z + (ZDisplaceModule.GetValue(x, y, z)); // Retrieve the output value using the offsetted input value instead of // the original input value. return(SourceModule.GetValue(xDisplace, yDisplace, zDisplace)); }
//Methods// public double GetValue(double x, double y, double z) { double xDisplace = x + XDisplaceModule.GetValue(x, y, z); double yDisplace = y + YDisplaceModule.GetValue(x, y, z); double zDisplace = z + ZDisplaceModule.GetValue(x, y, z); return(Module0.GetValue(xDisplace, yDisplace, zDisplace)); }
public double GetValue(double x, double y, double z) { if (SourceModule == null || XDisplaceModule == null || YDisplaceModule == null || ZDisplaceModule == null) { throw new NullReferenceException("Source and X, Y, and Z displacement modules must be provided."); } x += XDisplaceModule.GetValue(x, y, z); y += YDisplaceModule.GetValue(x, y, z); z += ZDisplaceModule.GetValue(x, y, z); return(SourceModule.GetValue(x, y, z)); }