Example #1
0
 public void CheckOnClick()
 {
     if (Input.GetMouseButtonDown(0) == true)
     {
         if (hoveredOverToken == null && hoveredOverArc == null)//clicked on background
         {
             Debug.Log("Clicked on background");
             draggingFromBackground = true;
             unitokenStartPosVector = new Vector3(mousePositionInSpace.x, mousePositionInSpace.y, 0);
             tokenSpawn             = true;
         }
         if (hoveredOverToken != null && hoveredOverArc == null)//clicked on Token
         {
             Debug.Log("Clicked on Token");
             TestQuery();
             draggingFromToken = true;
             hoveredStore      = hoveredOverToken;
             tokenSpawn        = true;
         }
         if (hoveredOverToken == null && hoveredOverArc != null)//clicked on Arc
         {
             Debug.Log("Clicked on Arc");
             draggingFromArc = true;
             arcSpawn        = true;
         }
     }
 }
Example #2
0
    public void AddNewArc(Unitoken Source, string Predicate, unitoken Target)
    {
        //Unitoken target = AddNewToken();
        Unitoken source = Source;
        Unitoken target = TokenFactory.Instance.AddNewToken(Target);

        source.arcCount += 1;
        target.arcCount += 1;


        source.tokenRotation = (360.0f / (source.arcCount + 1.0f));
        Vector3 rotationVector = new Vector3(Mathf.Sin(source.tokenRotation * Mathf.Deg2Rad), Mathf.Cos(source.tokenRotation * Mathf.Deg2Rad), 0);
        Vector3 offset         = rotationVector * ArcMapManager.Instance.mapScale;

        target.transform.position += offset;
        Arc arc = CreateJoinArc(source, target);

        arc.SetLabel(Predicate);

        source.transform.parent = arc.transform;
        target.transform.parent = arc.transform;
        ArcMapManager.Instance.selectedUnitoken = target;
        Debug.Log("Creating arcs");


        //Fragment frag = new GameObject("Fragment").AddComponent<Fragment>();
        //frag.Initialize(arc);
    }
Example #3
0
 public void CreateArcs(Unitoken subject, Dictionary <string, PredicateToggle> selectedP)
 {
     foreach (KeyValuePair <string, PredicateToggle> x in selectedP)
     {
         string value    = x.Value.myPredicate.value;
         string property = x.Value.myPredicate.property;
         ArcFactory.Instance.AddNewArc(subject, value, StructConstructor.CreateUnitokenStruct(property));
     }
 }
Example #4
0
 public IEnumerator GenerateClasses(Unitoken core, Result result)
 {
     foreach (Category x in result.Categories.Category)
     {
         Vector3  rngVector = new Vector3(Random.Range(-2.0f, 2.0f), Random.Range(-2.0f, 2.0f));
         Unitoken target    = TokenFactory.Instance.AddNewToken(x.Label, core.transform.position + rngVector);
         Arc      arc       = ArcFactory.Instance.AddNewArc(core, "in category", target);
         yield return(new WaitForSeconds(0.1f));
     }
 }
Example #5
0
    public void CreateArcs(Dictionary <string, PredicateToggle> selectedP)
    {
        Unitoken subject = TokenFactory.Instance.AddNewToken(StructConstructor.CreateUnitokenStruct(selectedSearchElement));

        foreach (KeyValuePair <string, PredicateToggle> x in selectedP)
        {
            string value    = x.Value.myCategory.URI;
            string property = x.Value.myCategory.Label;
            ArcFactory.Instance.AddNewArc(subject, value, StructConstructor.CreateUnitokenStruct(property));
        }
    }
Example #6
0
    public void AddNewArc(Unitoken source)
    {
        Unitoken target = TokenFactory.Instance.AddNewToken();
        Arc      arc    = CreateJoinArc(source, target);

        source.transform.parent = arc.transform;
        target.transform.parent = arc.transform;
        ArcMapManager.Instance.selectedUnitoken = target;
        //Fragment frag = new GameObject("Fragment").AddComponent<Fragment>();
        //frag.Initialize(arc);
    }
Example #7
0
 IEnumerator SpawnEdges(List <Edge> edgelist, Unitoken core, string type, Unitoken.UnitokenState state)
 {
     foreach (Edge x in edgelist)
     {
         Unitoken target = TokenFactory.Instance.AddNewToken(x.End.Label, core.transform.position + rngVector());
         target.SetState(state);
         target.isSoft = false;
         Arc arc = ArcFactory.Instance.AddNewArc(core, "", target);
     }
     yield return(new WaitForSeconds(1.5f));
 }
Example #8
0
    public IEnumerator GenerateEdges(Unitoken core, Concept concept)
    {
        List <List <Edge> > ConceptEdges = CountEdgePropertyTypes(concept);

        string[] relations = ConceptNetInterface.relationURIs;

        //Give core a branch
        ArcCollection coreCollection = new ArcCollection();

        coreCollection.Initialize();
        core.AddCollection(coreCollection);


        int count = 0;

        foreach (List <Edge> edgelist in ConceptEdges)
        {
            if (edgelist.Count > 0)
            {
                string edgeUnitokenLabel = relations[count];

                //Check if label is within toggled array
                ConceptNetProperty c = PropertyMenu.Instance.GetProperty(edgeUnitokenLabel);

                Unitoken.UnitokenState state = !c.isActive ? Unitoken.UnitokenState.Preview : Unitoken.UnitokenState.Loaded;

                Unitoken newCore = TokenFactory.Instance.AddNewToken(edgeUnitokenLabel, core.transform.position + rngVector());
                newCore.SetState(state);
                newCore.SetSprite(collectionIconSprite);
                ArcMapManager.Instance.SetFocusedToken(newCore);

                Arc arc = ArcFactory.Instance.AddNewArc(core, "", newCore);


                ArcCollection subBranch = new ArcCollection();
                subBranch.SetCore(newCore);
                foreach (Edge edge in edgelist)
                {
                    subBranch.AddEdge(edge);
                }

                coreCollection.AddConnection(subBranch);
                //yield return StartCoroutine(SpawnEdges(edgelist, newCore, edgeUnitokenLabel, state));
                yield return(new WaitForSeconds(0.1f));
            }

            count++;
            yield return(new WaitForSeconds(0.1f));
        }
    }
Example #9
0
    public void SelectUnitoken(Unitoken selected)
    {
        //Deselect
        if (selectedUnitoken != null)
        {
            selectedUnitoken.SetHoverActive(false);
            selectedUnitoken.isSelected = false;
        }
        //Select
        selectedUnitoken = selected;

        selectedUnitoken.SetHoverActive(true);
        selectedUnitoken.isSelected = true;
    }
Example #10
0
    public static void SaveUnitokens(List <Unitoken> unitokens)
    {
        transientPositions = new Vector3[unitokens.Count - 1];
        unitokenLabels     = new string[unitokens.Count - 1];

        for (int i = 0; i < unitokens.Count - 1; i++)
        {
            Unitoken token = unitokens[i];
            transientPositions[i] = token.TransientPosition;
            unitokenLabels[i]     = token.MyLabel.text;
        }
        PlayerPrefsX.SetVector3Array(keys[0], transientPositions);
        PlayerPrefsX.SetStringArray(keys[1], unitokenLabels);
    }
Example #11
0
 public bool AddTokenToList(Unitoken token)
 {
     if (!unitokens.Contains(token))
     {
         token.id = unitokens.Count;
         unitokens.Add(token);
         return(true);
     }
     else
     {
         Debug.Log("Failed to add token, token already in list");
         return(false);
     }
 }
Example #12
0
 public void DragFromToken()
 {
     if (ClickAndHold() == true && draggingFromToken == true)
     {
         Debug.Log("Dragging from Token");
         if (tokenSpawn == true)
         {
             endPointUnitoken = TokenFactory.Instance.AddNewToken(mousePositionInSpace);
             selectedArc      = ArcFactory.Instance.AddNewArc(hoveredStore, "Test", endPointUnitoken);
             tokenSpawn       = false;
         }
         isDraging = true;
     }
 }
Example #13
0
    public void OnDraggedRelease()
    {
        if (Input.GetMouseButtonUp(0) == true && draggingFromBackground == true && isDraging == true)
        {
            Debug.Log("Not draging from Background anymore");
            draggingFromBackground = false;
            consoleSingleMessage   = true;
            EndToken();
            isDraging         = false;
            draggingFromToken = false;
        }

        if (Input.GetMouseButtonUp(0) == true && draggingFromToken == true && isDraging == true)
        {
            Debug.Log("Not draging from Token anymore");
            EndToken();    //Checks whether endpoint is another Token or background.
            draggingFromToken    = false;
            consoleSingleMessage = true;
            endPointUnitoken     = null;

            hoveredStore      = null;
            isDraging         = false;
            draggingFromToken = false;
        }

        //if(startVectorStored == true && hoveredOverToken != null){ // Drag from background New Token to existing Token
        //
        //
        //    hoveredOverToken=null;
        //    startVectorStored = false;
        //
        //}

        //if(hoveredStore != null && startVectorStored==false && hoveredOverToken == null){ // Drag from existing Token to new
        //    endPoint = null;
        //    hoveredStore = null;
        //
        //
        //}

        //if(hoveredStore != null && startVectorStored==false && hoveredOverToken != null){ // Drag from existing Token to another existing
        //
        //    ArcFactory.Instance.AddNewArc(hoveredStore, "Test", hoveredOverToken);
        //    hoveredStore = null;
        //
        //}
    }
Example #14
0
    public Unitoken AddNewToken(string Label, Vector3 offset)
    {
        //source.tokenRotation = (360.0f/(source.myArcs.Count + 1.0f));
        //Vector3 rotationVector = new Vector3(Mathf.Sin(source.tokenRotation * Mathf.Deg2Rad), Mathf.Cos(source.tokenRotation * Mathf.Deg2Rad), 0);
        ///Vector3 offset = rotationVector * ArcMapManager.Instance.mapScale;

        Unitoken newToken = Instantiate(unitokenPrefab, Vector3.zero + offset, Quaternion.identity, transform.parent).GetComponent <Unitoken>();

        newToken.transform.name = Label;
        newToken.Initialize(Label, Vector3.zero, "Empty URI!");

        ArcMapManager.Instance.AddTokenToList(newToken);

        return(newToken);

        //CreateJoinArc(source, newToken);
    }
Example #15
0
    public Unitoken AddNewToken(predicate p)
    {
        Vector3 mouseWorldPos = mCamera.ScreenToWorldPoint(Input.mousePosition);
        float   h             = mouseWorldPos.x;
        float   v             = mouseWorldPos.y;
        Vector3 mouseDelta    = new Vector3(h, v, 0);
        //transform.position = mouseDelta;
        Unitoken newToken = Instantiate(unitokenPrefab, Vector3.zero, Quaternion.identity, transform.parent).GetComponent <Unitoken>();

        newToken.transform.position = Vector3.zero;
        newToken.transform.name     = "Unitoken";
        newToken.Initialize(p.property, Vector3.zero, p.URI);

        ArcMapManager.Instance.AddTokenToList(newToken);

        return(newToken);
    }
Example #16
0
    public Arc AddEdge(Edge edge)
    {
        if (Connections == null)
        {
            Connections = new List <Fragment>();
        }

        Vector3  rngVector = new Vector3(Random.Range(-2.0f, 2.0f), Random.Range(-2.0f, 2.0f));
        Unitoken target    = TokenFactory.Instance.AddNewToken(edge.End.Label, core.transform.position + rngVector);

        //target.SetState(state);
        target.isSoft = false;
        Arc arc = ArcFactory.Instance.AddNewArc(core, "", target);

        Connections.Add(arc);

        return(arc);
    }
Example #17
0
    public void AddNewArc(arc newArc)
    {
        //Unitoken target = AddNewToken();
        Unitoken source = ArcMapManager.Instance.unitokens[newArc.source];
        Unitoken target = ArcMapManager.Instance.unitokens[newArc.target];

        Arc arc = CreateJoinArc(source, target);

        arc.SetLabel(newArc.Label);

        source.transform.parent = arc.transform;
        target.transform.parent = arc.transform;
        ArcMapManager.Instance.selectedUnitoken = target;
        Debug.Log("Creating arcs");


        //Fragment frag = new GameObject("Fragment").AddComponent<Fragment>();
        //frag.Initialize(arc);
    }
Example #18
0
    public Unitoken AddNewToken()
    {
        Vector3 mouseWorldPos = mCamera.ScreenToWorldPoint(Input.mousePosition);
        float   h             = mouseWorldPos.x;
        float   v             = mouseWorldPos.y;
        Vector3 mouseDelta    = new Vector3(h, v, 0);
        //transform.position = mouseDelta;


        Unitoken newToken = Instantiate(unitokenPrefab, mouseDelta, Quaternion.identity, transform.parent).GetComponent <Unitoken>();

        newToken.transform.name = "Unitoken";
        //throw new NotImplementedException();
        newToken.Initialize("Label", mouseDelta, "Empty URI!!");

        ArcMapManager.Instance.AddTokenToList(newToken);

        return(newToken);
    }
Example #19
0
    public void DragFromBackground()
    {
        if (ClickAndHold() == true && draggingFromBackground == true)
        {
            Debug.Log("Dragging from background");
            //StoreStart vector from empty space
            if (tokenSpawn == true)
            {
                endPointUnitoken   = TokenFactory.Instance.AddNewToken(mousePositionInSpace);
                startPointUnitoken = TokenFactory.Instance.AddNewToken(unitokenStartPosVector);
                selectedArc        = ArcFactory.Instance.AddNewArc(startPointUnitoken, "Test", endPointUnitoken);

                startPointUnitoken.isSoft = false;
                tokenSpawn = false;
            }

            isDraging = true;
        }
    }
Example #20
0
    public Arc AddNewArc(Unitoken Source, string Predicate, Unitoken Target)
    {
        //Unitoken target = AddNewToken();
        Unitoken source = Source;
        Unitoken target = Target;

        source.arcCount += 1;
        target.arcCount += 1;


        Arc arc = CreateJoinArc(source, target);

        arc.SetLabel(Predicate);

        source.transform.parent = arc.transform;
        target.transform.parent = arc.transform;
        ArcMapManager.Instance.selectedUnitoken = target;
        //Debug.Log("Creating arcs");
        return(arc);
    }
Example #21
0
    internal void GetRelationsForSearchElement(SearchResultElement searchResultElement, Unitoken source)
    {
        focusedUnitoken = source;

        if (searchResultElement.Concept != null)
        {
            ReceiveConceptAndFillToggle(searchResultElement.Concept);
        }
        else
        {
            GetConceptRelations(searchResultElement.elementText.text, searchLimit);
        }

        if (searchResultElement.XMLResult != null)
        {
            ReceiveDBPediaXMLResultsAndFillToggle(searchResultElement.XMLResult);
        }

        //Create preview from results
        Debug.Log("Received relations for " + searchResultElement.elementText.text);
    }
Example #22
0
        public static SearchResultElement ConvertResult(Result x, Transform prefab, Transform parent)
        {
            SearchResultElement element = Instantiate(prefab, Vector3.zero, Quaternion.identity, parent).GetComponent <SearchResultElement>();

            element.name      = x.Label;
            element.XMLResult = x;

            Action del = delegate {
                Unitoken token = TokenFactory.Instance.AddNewToken(x.Label, Vector3.zero);
                Debug.Log("Created Token from Fuzz");
                token.isSoft = false;

                Debug.Log("Finding Predicates for this search element");
                SearchEngine.Instance.GetRelationsForSearchElement(element, token);
                Debug.Log("Got Relations");
                SearchEngine.Instance.ClearFuzzyResults();
            };

            element.SetOnClickDelegate(del);
            element.Initialize();
            return(element);
        }
Example #23
0
    public Vector3[] GetFlattenForceVectors(List <Unitoken> unitokens)
    {
        Vector3[] forces = new Vector3[unitokens.Count];
        flattenForceList = new List <Vector3>();
        for (int i = 0; i < unitokens.Count; i++)
        {
            Unitoken token = unitokens[i];

            Vector3 transientPos = token.TransientPosition;
            Vector3 flattenedPos = new Vector3(transientPos.x, transientPos.y, 0);
            float   distance     = Vector3.Distance(transientPos, flattenedPos);

            if (distance > 0.1f)
            {
                Vector3 dir = (flattenedPos - transientPos) / distance;
                forces[i] += dir;
            }

            flattenForceList.Add(forces[i]);
        }
        return(forces);
    }
Example #24
0
    public Vector3[] GetUnitokenForceVectors(List <Unitoken> unitokens)
    {
        Vector3[] forces = new Vector3[unitokens.Count];
        unitokenForceList = new List <Vector3>();
        for (int i = 0; i < unitokens.Count; i++)
        {
            Unitoken token = unitokens[i];
            for (int j = 0; j < unitokens.Count; j++)
            {
                Unitoken neighbour = unitokens[j];
                float    distance  = Vector3.Distance(token.TransientPosition, neighbour.TransientPosition);

                if (distance > minDistance && distance < maxDistance)
                {
                    Vector3 dir = (token.TransientPosition - neighbour.TransientPosition) / distance;
                    forces[i] += dir;
                }
            }
            unitokenForceList.Add(forces[i]);
        }
        return(forces);
    }
Example #25
0
 public void EndToken()
 {
     if (hoveredOverArc != null)
     {
         UnitokenDelete(selectedArc.target);
         selectedArc.target      = hoveredOverArc;
         endPointUnitoken.isSoft = false;
         endPointUnitoken        = null;
         return;
     }
     if (hoveredOverToken != null)
     {
         UnitokenDelete(selectedArc.target);
         selectedArc.target      = hoveredOverToken;
         endPointUnitoken.isSoft = false;
         endPointUnitoken        = null;
     }
     if (hoveredOverToken == null)
     {
         endPointUnitoken.isSoft = false;
         endPointUnitoken        = null;
     }
 }
Example #26
0
 public void GetConceptRelations(Unitoken subject, int limit)
 {
     focusedUnitoken = subject;
     ConceptNetInterface.GetConceptRelations(subject.myLabel.text, this, limit);
 }
Example #27
0
 internal void SetFocusedToken(Unitoken newCore)
 {
     focusedToken = newCore;
 }
Example #28
0
    public void GeneratePreviewFromConcept(Unitoken core, Concept concept)
    {
        StartCoroutine(GenerateEdges(core, concept));

        Debug.Log("Generating Concept Edges");
    }
Example #29
0
 public void GeneratePreviewFromXML(Unitoken core, Result result)
 {
     Debug.Log("Generating Class & Category Edges");
     // StartCoroutine(GenerateClasses(core, result));
 }
Example #30
0
 public void DestroyToken(Unitoken token)
 {
     unitokens.Remove(token);
     Destroy(token.transform.gameObject);
 }