Exemplo n.º 1
0
    /// <summary>
    /// Center the world box so the CurrentValue will be at targetPosition
    /// </summary>
    /// <param name="targetPosition">the wanted position for CurrentValue, must be inside TargetBox</param>
    /// <param name="smoothChange">should the change in position be smoothed or should it happen abruptly</param>
    /// <returns>Return code that represent the status of the run</returns>
    public bool RecenterOnTargetPosition(UnityEngine.Vector3 targetPosition, bool smoothChange = true)
    {
        ReturnCode rc = m_transformer.RecenterOnTargetPosition(UnityConverter.ToFramework(targetPosition), smoothChange);

        if (!rc.IsError())
        {
            WorldBox.CenterOffset  = UnityConverter.ToUnity(m_transformer.WorldBox.CenterOffset);
            WorldBox.Dimensions    = UnityConverter.ToUnity(m_transformer.WorldBox.Dimensions);
            TargetBox.CenterOffset = UnityConverter.ToUnity(m_transformer.TargetBox.CenterOffset);
            TargetBox.Dimensions   = UnityConverter.ToUnity(m_transformer.TargetBox.Dimensions);
            return(true);
        }
        else
        {
            Debug.LogError(rc);
            return(false);
        }
    }
Exemplo n.º 2
0
 /// <summary>
 /// Copy changed parameters from unity to the framework
 /// </summary>
 private void SetParameterFromUnity()
 {
     m_transformer.TrackedObjectID = PersonOrPlayerID;
     m_transformer.UsePlayerID     = UsePlayerID;
     m_transformer.SourceJoint     = (Omek.JointID)SourceJoint;
     if (UseRelativeJoint)
     {
         m_transformer.SetBoxRelativeToJoint((Omek.JointID)JointRelativeTo);
     }
     else
     {
         m_transformer.SetBoxToAbsoluteCoordinates();
     }
     m_transformer.WorldBox.CenterOffset  = UnityConverter.ToFramework(WorldBox.CenterOffset);
     m_transformer.WorldBox.Dimensions    = UnityConverter.ToFramework(WorldBox.Dimensions);
     m_transformer.TargetBox.CenterOffset = UnityConverter.ToFramework(TargetBox.CenterOffset);
     m_transformer.TargetBox.Dimensions   = UnityConverter.ToFramework(TargetBox.Dimensions);
     m_transformer.MinConfidenceValue     = (uint)MinConfidenceValue;
     m_transformer.SmoothFactor           = SmoothFactor;
     m_transformer.InvertXAxis            = InvertXAxis;
     m_transformer.InvertYAxis            = !InvertYAxis; // y axis should be inverted between Unity and the Framework
     m_transformer.InvertZAxis            = InvertZAxis;
 }
Exemplo n.º 3
0
 /// <summary>
 /// Returns an instance of a framework Movement box from this box's data
 /// </summary>
 /// <returns></returns>
 public OmekFramework.Common.BasicTypes.MovementBox ToFrameworkMovementBox()
 {
     return(new OmekFramework.Common.BasicTypes.MovementBox(UnityConverter.ToFramework(CenterOffset), UnityConverter.ToFramework(Dimensions)));
 }
Exemplo n.º 4
0
 private void OnEnable()
 {
     SetParameterFromUnity();
     m_transformer.SetInitialPosition(UnityConverter.ToFramework(transform.localPosition));
 }