/******************************************************************************************************************************************************************/

    //Get Proxy Position and Orientation generic function
    public void GetProxyValues()
    {
        /*Proxy Position*/

        //Convert IntPtr to Double3Array
        myProxyPosition = ConverterClass.ConvertIntPtrToDouble3(PluginImport.GetProxyPosition());

        //Attach the Cursor Node
        Vector3 positionCursor = new Vector3();

        positionCursor = ConverterClass.ConvertDouble3ToVector3(myProxyPosition);

        //Assign Haptic Values to Cursor
        myHapticClassScript.hapticCursor.transform.position = positionCursor;


        //Proxy Right - Not use in that case
        //Convert IntPtr to Double3Array

        /*myProxyRight =  ConverterClass.ConvertIntPtrToDouble3(PluginImport.GetProxyRight());
         * //Attach the Cursor Node
         * Vector3 rightCursor = new Vector3();
         * rightCursor = ConverterClass.ConvertDouble3ToVector3(myProxyRight);
         *
         * //Proxy Direction
         * //Convert IntPtr to Double3Array
         * myProxyDirection =  ConverterClass.ConvertIntPtrToDouble3( PluginImport.GetProxyDirection());
         * //Attach the Cursor Node
         * Vector3 directionCursor = new Vector3();
         * directionCursor = ConverterClass.ConvertDouble3ToVector3(myProxyDirection);
         *
         * //Proxy Torque
         * myProxyTorque = ConverterClass.ConvertIntPtrToDouble3(PluginImport.GetProxyTorque());
         * //Attach the Cursor Node
         * Vector3 torqueCursor = new Vector3();
         * torqueCursor = ConverterClass.ConvertDouble3ToVector3(myProxyTorque);
         *
         * //Set Orientation
         * myHapticClassScript.hapticCursor.transform.rotation = Quaternion.LookRotation(directionCursor,torqueCursor);*/

        //Proxy Orientation
        //Convert IntPtr to Double4Array
        myProxyOrientation = ConverterClass.ConvertIntPtrToDouble4(PluginImport.GetProxyOrientation());

        //Attach the Cursor Node
        Vector4 OrientationCursor = new Vector4();

        OrientationCursor = ConverterClass.ConvertDouble4ToVector4(myProxyOrientation);

        //Assign Haptic Values to Cursor
        myHapticClassScript.hapticCursor.transform.rotation = new Quaternion(OrientationCursor.x, OrientationCursor.y, OrientationCursor.z, OrientationCursor.w);
    }
    //Get Proxy Position and Orientation generic function for two haptic devices
    public void GetTwoProxyValues()
    {
        /*Two Proxy Position*/

        //Convert IntPtr to Double3Array
        //myTwoProxyPosition = ConverterClass.ConvertIntPtrToDouble6(PluginImport.GetDevicePosition());
        myTwoProxyPosition = ConverterClass.ConvertIntPtrToDouble6(PluginImport.GetProxyPosition());

        //Attach the Cursor Node
        Vector3 positionCursor1 = new Vector3();
        Vector3 positionCursor2 = new Vector3();

        //Assign value to position vector
        positionCursor1 = ConverterClass.ConvertDouble3ToVector3(ConverterClass.SelectHalfdouble6toDouble3(myTwoProxyPosition, 1));
        positionCursor2 = ConverterClass.ConvertDouble3ToVector3(ConverterClass.SelectHalfdouble6toDouble3(myTwoProxyPosition, 2));

        //Assign Haptic Values to Cursor
        myHapticClassScript.hapticCursor.transform.position = positionCursor1;

        //Assign Haptic Values to Cursor
        myHapticClassScript.secondHapticCursor.transform.position = positionCursor2;



        //Proxy Orientation
        //Convert IntPtr to Double4Array
        myTwoProxyOrientation = ConverterClass.ConvertIntPtrToDouble8(PluginImport.GetProxyOrientation());

        //Attach the Cursor Node
        Vector4 OrientationCursor1 = new Vector4();
        Vector4 OrientationCursor2 = new Vector4();

        //Assign value to orientation vector
        OrientationCursor1 = ConverterClass.ConvertDouble4ToVector4(ConverterClass.SelectHalfdouble8toDouble4(myTwoProxyOrientation, 1));
        OrientationCursor2 = ConverterClass.ConvertDouble4ToVector4(ConverterClass.SelectHalfdouble8toDouble4(myTwoProxyOrientation, 2));

        //Assign Haptic Values to Cursor
        myHapticClassScript.hapticCursor.transform.rotation = new Quaternion(OrientationCursor1.x, OrientationCursor1.y, OrientationCursor1.z, OrientationCursor1.w);

        //Assign Haptic Values to Cursor
        myHapticClassScript.secondHapticCursor.transform.rotation = new Quaternion(OrientationCursor2.x, OrientationCursor2.y, OrientationCursor2.z, OrientationCursor2.w);
    }
示例#3
0
    /******************************************************************************************************************************************************************/

    public void GetProxyValues()
    {
        //Convert IntPtr to Double3Array
        myProxyPosition = ConverterClass.ConvertIntPtrToDouble3(PluginImport.GetProxyPosition());

        //Attach the Cursor Node
        Vector3 positionCursor = new Vector3();

        positionCursor = ConverterClass.ConvertDouble3ToVector3(myProxyPosition);

        positionCursor.z *= 2f;

        myHapticClassScript.hapticCursor.transform.position = positionCursor;

        myProxyOrientation = ConverterClass.ConvertIntPtrToDouble4(PluginImport.GetProxyOrientation());

        //Attach the Cursor Node
        Vector4 OrientationCursor = new Vector4();

        OrientationCursor = ConverterClass.ConvertDouble4ToVector4(myProxyOrientation);

        //Assign Haptic Values to Cursor
        myHapticClassScript.hapticCursor.transform.rotation = new Quaternion(OrientationCursor.x, OrientationCursor.y, OrientationCursor.z, OrientationCursor.w);
    }
示例#4
0
    //Get Proxy Position and Orientation generic function
    public void GetProxyValues(bool useTransform)
    {
        /*Proxy Position*/

        //Convert IntPtr to Double3Array
        myProxyPosition = ConverterClass.ConvertIntPtrToDouble3(PluginImport.GetProxyPosition());

        //Attach the Cursor Node
        Vector3 positionCursor = new Vector3();

        positionCursor = ConverterClass.ConvertDouble3ToVector3(myProxyPosition);


        positionCursor.z *= 2f;

        //Vector3 movement = positionCursor - rb.position;

        if (useTransform)
        {
            myHapticClassScript.hapticCursor.transform.position = positionCursor;
        }
        else
        {
            rb.MovePosition(positionCursor);
        }

        //myHapticClassScript.hapticCursor.transform.position = positionCursor;



        /*
         * if (movement.magnitude > 0.1)
         * {
         *  positionCursor = myHapticClassScript.hapticCursor.transform.position;//movement.normalized * 0.01f + myHapticClassScript.hapticCursor.transform.position;
         * }*/

        //rb.velocity = new Vector3(0,0,0);
        //if (movement.magnitude > 0.1)
        //rb.velocity = movement * Time.deltaTime * 500;
        //rb.AddForce(movement);

        //else rb.velocity = new Vector3(0, 0, 0);

        //rb.MovePosition(positionCursor);
        //rb.position = positionCursor;
        //rb.MovePosition(positionCursor*2);
        //myHapticClassScript.hapticCursor.gameObject.GetComponent<Rigidbody>().MovePosition(positionCursor);
        //rb.AddForce((rb.gameObject.transform.position - positionCursor) * 5, ForceMode.VelocityChange);

        //Proxy Right - Not use in that case
        //Convert IntPtr to Double3Array

        /*myProxyRight =  ConverterClass.ConvertIntPtrToDouble3(PluginImport.GetProxyRight());
         *      //Attach the Cursor Node
         *      Vector3 rightCursor = new Vector3();
         *      rightCursor = ConverterClass.ConvertDouble3ToVector3(myProxyRight);
         *
         *      //Proxy Direction
         *      //Convert IntPtr to Double3Array
         *      myProxyDirection =  ConverterClass.ConvertIntPtrToDouble3( PluginImport.GetProxyDirection());
         *      //Attach the Cursor Node
         *      Vector3 directionCursor = new Vector3();
         *      directionCursor = ConverterClass.ConvertDouble3ToVector3(myProxyDirection);
         *
         *      //Proxy Torque
         *      myProxyTorque = ConverterClass.ConvertIntPtrToDouble3(PluginImport.GetProxyTorque());
         *      //Attach the Cursor Node
         *      Vector3 torqueCursor = new Vector3();
         *      torqueCursor = ConverterClass.ConvertDouble3ToVector3(myProxyTorque);
         *
         *      //Set Orientation
         *      myHapticClassScript.hapticCursor.transform.rotation = Quaternion.LookRotation(directionCursor,torqueCursor);*/

        //Proxy Orientation
        //Convert IntPtr to Double4Array
        myProxyOrientation = ConverterClass.ConvertIntPtrToDouble4(PluginImport.GetProxyOrientation());

        //Attach the Cursor Node
        Vector4 OrientationCursor = new Vector4();

        OrientationCursor = ConverterClass.ConvertDouble4ToVector4(myProxyOrientation);

        //Assign Haptic Values to Cursor
        if (useTransform)
        {
            myHapticClassScript.hapticCursor.transform.rotation = new Quaternion(OrientationCursor.x, OrientationCursor.y, OrientationCursor.z, OrientationCursor.w);
        }
        else
        {
            rb.MoveRotation(new Quaternion(OrientationCursor.x, OrientationCursor.y, OrientationCursor.z, OrientationCursor.w));
        }
    }