Exemplo n.º 1
0
        internal static SimplePose getGameObjectPose(UbitrackRelativeToUnity relative, GameObject go)
        {
            SimplePose pose = new SimplePose();
            Vector3    pos  = new Vector3();
            Quaternion rot  = new Quaternion();

            switch (relative)
            {
            case UbitrackRelativeToUnity.Local:
            {
                UbiMeasurementUtils.coordsysemChange(go.transform.localPosition, ref pos);
                UbiMeasurementUtils.coordsysemChange(go.transform.localRotation, ref rot);
                break;
            }

            case UbitrackRelativeToUnity.World:
            {
                UbiMeasurementUtils.coordsysemChange(go.transform.position, ref pos);
                UbiMeasurementUtils.coordsysemChange(go.transform.rotation, ref rot);
                break;
            }

            default:
                break;
            }
            pose.tx = pos.x;
            pose.ty = pos.y;
            pose.tz = pos.z;

            pose.rx = rot.x;
            pose.ry = rot.y;
            pose.rz = rot.z;
            pose.rw = rot.w;
            return(pose);
        }
Exemplo n.º 2
0
	public static void setGameObjectPose (UbitrackRelativeToUnity relative, GameObject go, Pose pose, UbitrackApplyParts applyData)
	{
		if (go.GetComponent<Rigidbody>() != null) {
			switch (relative) {
			case UbitrackRelativeToUnity.Local:
				{

					throw new NotSupportedException ();
				}
			case UbitrackRelativeToUnity.World:
				{

					if(applyData.Equals(UbitrackApplyParts.Pose) ||applyData.Equals(UbitrackApplyParts.Translation)) 
						go.GetComponent<Rigidbody>().MovePosition (pose.pos);
					if(applyData.Equals(UbitrackApplyParts.Pose) ||applyData.Equals(UbitrackApplyParts.Rotation)) 
						go.GetComponent<Rigidbody>().MoveRotation (pose.rot);
					break;
				}
			default:
				break;
			}
		} else {
			
			switch (relative) {
			case UbitrackRelativeToUnity.Local:
				{
					if(applyData.Equals(UbitrackApplyParts.Pose) ||applyData.Equals(UbitrackApplyParts.Translation)) 
						go.transform.localPosition = pose.pos;
					if(applyData.Equals(UbitrackApplyParts.Pose) ||applyData.Equals(UbitrackApplyParts.Rotation)) 
						go.transform.localRotation = pose.rot;
					break;
				}
			case UbitrackRelativeToUnity.World:
				{
					if(applyData.Equals(UbitrackApplyParts.Pose) ||applyData.Equals(UbitrackApplyParts.Translation)) 
						go.transform.position = pose.pos;
					if(applyData.Equals(UbitrackApplyParts.Pose) ||applyData.Equals(UbitrackApplyParts.Rotation)) 
						go.transform.rotation = pose.rot;
					break;
				}
			default:
				break;
			}
		}
		 
	}
Exemplo n.º 3
0
        public static void setGameObjectPose(UbitrackRelativeToUnity relative, GameObject go, Pose pose)
        {
            if (go.GetComponent <Rigidbody>() != null)
            {
                switch (relative)
                {
                case UbitrackRelativeToUnity.Local:
                {
                    throw new NotSupportedException();
                }

                case UbitrackRelativeToUnity.World:
                {
                    go.GetComponent <Rigidbody>().MovePosition(pose.pos);
                    go.GetComponent <Rigidbody>().MoveRotation(pose.rot);
                    break;
                }

                default:
                    break;
                }
            }
            else
            {
                switch (relative)
                {
                case UbitrackRelativeToUnity.Local:
                {
                    go.transform.localPosition = pose.pos;
                    go.transform.localRotation = pose.rot;
                    break;
                }

                case UbitrackRelativeToUnity.World:
                {
                    go.transform.position = pose.pos;
                    go.transform.rotation = pose.rot;
                    break;
                }

                default:
                    break;
                }
            }
        }
Exemplo n.º 4
0
	public static void setGameObjectPosition (UbitrackRelativeToUnity relative, GameObject go, Vector3 pos)
	{
		if (go.GetComponent<Rigidbody>() != null) {
			switch (relative) {
			case UbitrackRelativeToUnity.Local:
				{

					throw new NotSupportedException ();
				}
			case UbitrackRelativeToUnity.World:
				{

					go.GetComponent<Rigidbody>().MovePosition (pos);					
					break;
				}
			default:
				break;
			}
		} else {
			
			switch (relative) {
			case UbitrackRelativeToUnity.Local:
				{
					go.transform.localPosition = pos;					
					break;
				}
			case UbitrackRelativeToUnity.World:
				{

					go.transform.position = pos;					
					break;
				}
			default:
				break;
			}
		}
		 
	}
Exemplo n.º 5
0
    internal static Ubitrack.SimplePose getGameObjectPose(UbitrackRelativeToUnity relative, GameObject go)
    {
        Ubitrack.SimplePose pose = new Ubitrack.SimplePose();
        Vector3 pos = new Vector3();
        Quaternion rot = new Quaternion();
        switch (relative)
        {
            case UbitrackRelativeToUnity.Local:
                {
                    UbiMeasurementUtils.coordsysemChange(go.transform.localPosition ,ref pos);
                    UbiMeasurementUtils.coordsysemChange(go.transform.localRotation, ref rot);                    
                    break;
                }
            case UbitrackRelativeToUnity.World:
                {
                   UbiMeasurementUtils.coordsysemChange(go.transform.position, ref pos);
                   UbiMeasurementUtils.coordsysemChange(go.transform.rotation, ref rot);                    
                    break;
                }
            default:
                break;
        }
        pose.tx = pos.x;
        pose.ty = pos.y;
        pose.tz = pos.z;

        pose.rx = rot.x;
        pose.ry = rot.y;
        pose.rz = rot.z;
        pose.rw = rot.w;
        return pose;
    }