Example #1
0
    public void HandleInteractiveHitTest(HitTestResult result)
    {
        //Debug.Log("WE ARE INSIDE HandleInteractiveHitTest");
        if (result == null)
        {
            Debug.LogError("Invalid hit test result!");
            return;
        }

        if (!m_GroundPlaneUI.IsCanvasButtonPressed())
        {
            Debug.Log("HandleInteractiveHitTest() called.");

            // If the PlaneFinderBehaviour's Mode is Automatic, then the Interactive HitTestResult will be centered.

            m_ContentPositioningBehaviour = m_PlaneFinder.GetComponent <ContentPositioningBehaviour>();
            m_ContentPositioningBehaviour.DuplicateStage = false;

            // Place object based on Ground Plane mode
            switch (planeMode)
            {
            case PlaneMode.TGO:

                if (!m_TGOProductPlacement.IsPlaced || TGOTouchHandlerTest.DoubleTap)
                {
                    m_ContentPositioningBehaviour.AnchorStage = m_TGOAnchor;
                    m_ContentPositioningBehaviour.PositionContentAtPlaneAnchor(result);
                    UtilityHelperTest.EnableRendererColliderCanvas(m_TGOAugmentation, true);
                }

                if (!m_TGOProductPlacement.IsPlaced)
                {
                    m_TGOProductPlacement.SetProductAnchor(m_TGOAnchor.transform);
                    m_TGOTouchHandler.enableRotation  = true;
                    m_BEPITouchHandler.enableRotation = false;
                }

                break;

            case PlaneMode.BEPI:

                if (!m_BEPIProductPlacement.IsPlaced || BEPITouchHandlerTest.DoubleTap)
                {
                    m_ContentPositioningBehaviour.AnchorStage = m_BEPIAnchor;
                    m_ContentPositioningBehaviour.PositionContentAtPlaneAnchor(result);
                    UtilityHelperTest.EnableRendererColliderCanvas(m_BEPIAugmentation, true);
                }

                if (!m_BEPIProductPlacement.IsPlaced)
                {
                    m_BEPIProductPlacement.SetProductAnchor(m_BEPIAnchor.transform);
                    m_BEPITouchHandler.enableRotation = true;
                    m_TGOTouchHandler.enableRotation  = false;
                }

                break;
            }
        }
    }
 public void SetProductAnchor(Transform transform)
 {
     if (transform)
     {
         Debug.Log("BEPI is placed");
         IsPlaced = true;
         gameObject.transform.SetParent(transform);
         gameObject.transform.localPosition = Vector3.zero;
         UtilityHelperTest.RotateTowardCamera(gameObject);
     }
     else
     {
         IsPlaced = false;
         gameObject.transform.SetParent(null);
     }
 }
Example #3
0
    public void ResetScene()
    {
        Debug.Log("ResetScene() called.");

        m_TGOProductPlacement.Reset();
        UtilityHelperTest.EnableRendererColliderCanvas(m_TGOAugmentation, false);

        m_BEPIProductPlacement.Reset();
        UtilityHelperTest.EnableRendererColliderCanvas(m_BEPIAugmentation, false);

        DeleteAnchors();
        m_TGOProductPlacement.SetProductAnchor(null);
        m_BEPIProductPlacement.SetProductAnchor(null);

        m_GroundPlaneUI.Reset();

        m_TGOTouchHandler.enableRotation  = false;
        m_BEPITouchHandler.enableRotation = false;
    }
Example #4
0
    static bool anchorExists; // backs public AnchorExists property
    #endregion                // PRIVATE_MEMBERS


    #region MONOBEHAVIOUR_METHODS

    void Start()
    {
        VuforiaARController.Instance.RegisterVuforiaStartedCallback(OnVuforiaStarted);
        VuforiaARController.Instance.RegisterOnPauseCallback(OnVuforiaPaused);
        DeviceTrackerARController.Instance.RegisterTrackerStartedCallback(OnTrackerStarted);
        DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged);

        m_PlaneFinder.HitTestMode = HitTestMode.AUTOMATIC;

        m_TGOProductPlacement  = FindObjectOfType <TGOProductPlacement>();
        m_BEPIProductPlacement = FindObjectOfType <BEPIProductPlacement>();
        m_TGOTouchHandler      = FindObjectOfType <TGOTouchHandlerTest>();
        m_BEPITouchHandler     = FindObjectOfType <BEPITouchHandlerTest>();
        m_GroundPlaneUI        = FindObjectOfType <GroundPlaneTestUI>();

        m_TGOAnchor  = m_TGOAugmentation.GetComponentInParent <AnchorBehaviour>();
        m_BEPIAnchor = m_BEPIAugmentation.GetComponentInParent <AnchorBehaviour>();
        UtilityHelperTest.EnableRendererColliderCanvas(m_TGOAugmentation, false);
        UtilityHelperTest.EnableRendererColliderCanvas(m_BEPIAugmentation, false);
    }