Example #1
0
 private void GetLeafNodes(MarkNode markNode, IList <MarkNode> leafNodes)
 {
     if (markNode.Nodes.Count() == 0)
     {
         leafNodes.Add(markNode);
         return;
     }
     else
     {
         foreach (var node in markNode.Nodes)
         {
             GetLeafNodes(node, leafNodes);
         }
     }
 }
Example #2
0
    private void CreateProxy()
    {
        creatingSphere = true;

        //Destroy(markedSpace);
        //Destroy(proxySpace);
        //Destroy(proxyNode);
        //Destroy(markNode);

        markedSpace = Instantiate(ExitWarp);
        proxySpace  = Instantiate(EntryWarp);

        proxyNode   = proxySpace.GetComponent <ProxyNode>();
        markNode    = markedSpace.GetComponent <MarkNode>();
        floorMarker = markedSpace.transform.Find("Cylinder").gameObject;
        floorMarker.SetActive(true);


        proxyNode.Marks.Add(markNode);

        proxyNode.SetCreationMode(true);

        SetActiveNodes(false);



        Vector3 pos      = MarkPos();
        float   size     = MarkSize();
        Vector3 midPoint = (lIndexTipPos + rIndexTipPos) / 2.0f;

        float proxyFilteredSize = 0, markFilteredScale = 0;

        for (int i = 0; i < 100; i++)
        {
            markPosFilter.Filter(pos);
            proxyPosFilter.Filter(midPoint);

            proxyFilteredSize = proxyScaleFilter.Filter(0.01f);
            markFilteredScale = markScaleFilter.Filter(0.01f);
        }

        markedSpace.transform.position   = pos;
        markedSpace.transform.localScale = new Vector3(markFilteredScale, markFilteredScale, markFilteredScale);

        proxySpace.transform.position   = midPoint;
        proxySpace.transform.localScale = new Vector3(proxyFilteredSize, proxyFilteredSize, proxyFilteredSize);
    }
Example #3
0
    void Start()
    {
        mark       = GetComponent <MarkNode>();
        leftHand   = mark.LeftHand;
        rightHand  = mark.RightHand;
        grabSphere = transform.Find("GrabSphere").gameObject;
        grabSphere.SetActive(false);

        grabSphereMaterial = grabSphere.GetComponent <Renderer>().material;

        grabSphereAnchoring = grabSphere.GetComponent <PinchAnchor>();
        grabSphereAnchoring.AllowAnchoring        = false;
        grabSphereAnchoring.OnAnchoringSelection += (s, e) => {
            if (e != null)
            {
                mark.AnchorToCenter(e);
            }
        };

        grabSphereLeap = grabSphere.GetComponent <InteractionBehaviour>();
        grabSphereLeap.OnGraspBegin += GrabSphereGraspBegin;
        grabSphereLeap.OnGraspStay  += GrabSphereGraspStay;
        grabSphereLeap.OnGraspEnd   += GrabSphereGraspedEnd;
    }