Day8&Day9_LabelledEdges

The last days have been spent in finding a way to plot labels on edges.

We finally came to a solution when we found the implement method that allowed us to create a new edge type.

ST.Plot.EdgeTypes.implement({
	'newedgetypename': function(adj, canvas) {
		//Render my edge here.
	}
});

In order to plot the labels we also needed to change our json structure. Now the adjacencies field is in a form of this:

"adjacencies": [{
	nodeTo:"002",
	data:{
		"labeltext":"LABEL",
		"labelid":"ID",
		"joinP": {
			value1: ["val1", false],
			value2: ["val2", false]
		}
	}
}]

Labeltext is the name to be plotted. Labelid is the unambiguous identifier for the label while joinP contains the values to be displayed with a boolean flag that keeps track of the selection on checkboxes.
Obviously we also needed to rewrite the display and the update methods for join paths.

Now we’re really close to the end of the second part of the project.

See you soon!

Day7_Back@Work

Wednesday morning we met with our teacher.

We fixed the schedule for the next days and he proposed a new feature that we have implemented today.

In order to make more accurated queries,  you can now  select/deselect a node.

The default status of each node is now unselected.Each node will appear in a grey’s tonality.When you click on it, you do not simply center the graph on that node, but you also select it. The color of a selected node is red.

Two adjacent selected-nodes will automatically include the connection between them. The color choosed for a selected edge is blue.

The next steps will be:  post our most important methods on the blog, fill up a documentation model and of course go on with the project!

See you soon!

Day6_StepOne_Completed

Today we completed the first step.

In the next days we will have a meeting with our teacher in order to know whether to go on with step two or to review this first step. Now the app keeps track of the selection on radio buttons, and also reports the changes on all the related nodes.

We still have to modify the layout, but we will wait for the “ok” before doing it.

Here there is a video that shows all the new features of the project.

See you soon.

Day5_Adjacencies

Yesterday we worked on adjacencies.

First of all we fixed a bug about central nodes.

During some tests we noticed how the edges were not correctly rendered as we previously deleted a certain node. We later discovered that you are not allowed to delete the “root” node in either a Tree or Graph.We extended the Jit.js library adding the setRoot method in order to dinamically set the root node whenever we need to.

    
setRoot: function(id) {
                this.root = id;
                }

Then we modified the JSON structure once again, adding some parameters in the field adjacencies.data, in order to represent the join paths for each node. Now they are only shown, in the next days we will work (as we did with checkboxes) in keeping track of the selection on radio buttons.

See you soon.

Day4_Animation

Yesterday was a great day for the project.

In fact we worked a lot, so that the first part is almost done.  We allowed node deleting and replotting with animation (methods found on the API documentation).  There are still some little features and bugs that we will add/fix in the next days, in order to present the project to our teacher for the end of the next week.

Here you can find a video that shows how the project works.

See you in the next days.

Day3_Checkboxes_pt2

Today we added some new features to our project.

The layout has been changed, now there is a new column in which the list of nodes of the graph is diplayed. As you can see the node “Concerti” can’t be selected as currently visualized. The nodes selected will be shown in a new graph pushing the button Plot, while the button Reset will reset the graph to his default configuration.

We also placed another button, “Select All”, that will select all the parameters for the current node. Those buttons will be activated tomorrow.

In order to allow or not the representation of nodes,  we also modified the JSON’s structure.

The next-days’s  aim is to effectively hide nodes on demand.

See you tomorrow.

Day2_Checkboxes

Today we are enjoying a well deserved rest.

Yesterday the project evolved a lot. In fact we added two methods for plotting and updating the checkboxes’s status. It was not easy to reach this result, because the JSON structure does not allow an easy access to data’s properties. We also modified the structure of the JSON data,  introducing a boolean flag that help us in tracking the checkboxes’s status.

Now the project saves the status of the checkboxes in order to select different parameters for different nodes. The next step will be to add a checkbox to choose to plot or not a node into the graphic.

The layout has been changed and simplified just to “clean” the graphic, and as usual is not definitve!

The daily report stops here.

See you tomorrow.


Archives

Blog Stats

  • 566 hits