/* 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);
    }
예제 #2
0
 public ComputedField(ComputationMethod compFunc)
 {
     _computationFunction = compFunc;
 }
예제 #3
0
 private double calculation1(ComputationMethod computationMethod)
 {
     return computationMethod(5.0);
 }
예제 #4
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);