示例#1
0
    public void ReceiveGetCarteisanPositions(NetworkMessage message)
    {
        float[] positions = KinovaAPI.GetCartesianPositions();
        Debug.Log("<color=blue>Received:</color> got cart positions:"
                  + positions[0] + ", "
                  + positions[1] + ", "
                  + positions[2] + ", "
                  + positions[3] + ", "
                  + positions[4] + ", "
                  + positions[5] + ", "
                  + positions[6] + ", "
                  + positions[7]
                  );
        //if (clientView == null) {

        string currentArmCartesianPositionStr =
            positions[0].ToString() + "," + // x pos
            positions[1].ToString() + "," +
            positions[2].ToString() + "," +
            positions[3].ToString() + "," + // x rot
            positions[4].ToString() + "," +
            positions[5].ToString() + "," +
            positions[6].ToString() + "," + // finger 1
            positions[7].ToString() + "," +
            0.ToString();                   // no 3rd finger, so placing a zero..

        //FindObjectOfType<ClientBroadcaster>().SendPosToClient(currentArmCartesianPositionStr);
        //}
    }
示例#2
0
    private void ReceiveCartesianPositionRequest(NetworkMessage netMsg)
    {
        var msg = netMsg.ReadMessage <RequestCartesianPositionMessage>(); // irrelevent, client doesn't need to send us anything except the request itself
        RequestCartesianPositionMessage m = new RequestCartesianPositionMessage();

        float[] positions = KinovaAPI.GetCartesianPositions();
        m.x      = positions[0];
        m.y      = positions[1];
        m.z      = positions[2];
        m.thetaX = positions[3];
        m.thetaY = positions[4];
        m.thetaZ = positions[5];
        m.fp1    = positions[6];
        m.fp2    = positions[7];
        m.fp3    = 0;
        NetworkServer.SendToAll(MyMsgTypes.MSG_REQUEST_CARTESIAN_POSITION, m);
        Debug.Log("Sending frozen position!");
    }