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; } } }
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); }
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)); } }
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)); } }
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)); } }
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); }
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)); }
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)); } }
public void SelectUnitoken(Unitoken selected) { //Deselect if (selectedUnitoken != null) { selectedUnitoken.SetHoverActive(false); selectedUnitoken.isSelected = false; } //Select selectedUnitoken = selected; selectedUnitoken.SetHoverActive(true); selectedUnitoken.isSelected = true; }
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); }
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); } }
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; } }
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; // //} }
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); }
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); }
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); }
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); }
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); }
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; } }
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); }
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); }
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); }
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); }
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); }
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; } }
public void GetConceptRelations(Unitoken subject, int limit) { focusedUnitoken = subject; ConceptNetInterface.GetConceptRelations(subject.myLabel.text, this, limit); }
internal void SetFocusedToken(Unitoken newCore) { focusedToken = newCore; }
public void GeneratePreviewFromConcept(Unitoken core, Concept concept) { StartCoroutine(GenerateEdges(core, concept)); Debug.Log("Generating Concept Edges"); }
public void GeneratePreviewFromXML(Unitoken core, Result result) { Debug.Log("Generating Class & Category Edges"); // StartCoroutine(GenerateClasses(core, result)); }
public void DestroyToken(Unitoken token) { unitokens.Remove(token); Destroy(token.transform.gameObject); }