/* PUBLIC METHODS */ public Vector3 ComputeResult(RaycastHit _hit, ComputationMethod _computationMethod) { Vector3 targetSize = GetWorldSpaceTargetSize(_hit); Vector3 unscaledResultWorld = GetWorldSpaceVector(_hit); Vector3 unscaledResultLocal; if (_computationMethod == ComputationMethod.Euler) { unscaledResultLocal = GetLocalSpaceVector_Euler(unscaledResultWorld, _hit.transform.parent.rotation); } else if (_computationMethod == ComputationMethod.Quaternion) { unscaledResultLocal = GetLocalSpaceVector_Quaternion(unscaledResultWorld, _hit.transform.parent.rotation); } else if (_computationMethod == ComputationMethod.Quaternion2) { unscaledResultLocal = GetLocalSpaceVector_Quaternion2(unscaledResultWorld, _hit.transform.parent.rotation); } else { unscaledResultLocal = Vector3.zero; } Vector3 relativeError = new Vector3(unscaledResultLocal.x / (targetSize.x * 0.5f), unscaledResultLocal.y / (targetSize.z * 0.5f), unscaledResultLocal.z / (targetSize.x * 0.5f)); //Debug.Log("Final result " + "(" + _hit.transform.parent.name + "): " + relativeError.ToString()); return(relativeError); }
public ComputedField(ComputationMethod compFunc) { _computationFunction = compFunc; }
private double calculation1(ComputationMethod computationMethod) { return computationMethod(5.0); }
/// <summary>Creates a <see cref="IMklCurveDataFitting"/> object that represents the implementation of the interpolation approach. /// </summary> /// <param name="computationMethod">The computation method with respect to the MKL data fitting routines.</param> /// <returns>A <see cref="IMklCurveDataFitting"/> object that represents the implementation of the interpolation approach.</returns> /// <remarks>The current release of Intel's Math Kernel Library (11.0, Update 5) does support exactly one computation method.</remarks> public abstract IMklCurveDataFitting Create(ComputationMethod computationMethod);